@saltcorn/mobile-builder 1.1.0-beta.10 → 1.1.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mobile-builder.d.ts.map +1 -1
- package/dist/mobile-builder.js +60 -54
- package/dist/mobile-builder.js.map +1 -1
- package/dist/utils/capacitor-helper.d.ts +37 -0
- package/dist/utils/capacitor-helper.d.ts.map +1 -0
- package/dist/utils/capacitor-helper.js +202 -0
- package/dist/utils/capacitor-helper.js.map +1 -0
- package/dist/utils/common-build-utils.d.ts +11 -0
- package/dist/utils/common-build-utils.d.ts.map +1 -1
- package/dist/utils/common-build-utils.js +291 -19
- package/dist/utils/common-build-utils.js.map +1 -1
- package/dist/utils/package-bundle-utils.d.ts +1 -6
- package/dist/utils/package-bundle-utils.d.ts.map +1 -1
- package/dist/utils/package-bundle-utils.js +23 -32
- package/dist/utils/package-bundle-utils.js.map +1 -1
- package/docker/Dockerfile +20 -24
- package/docker/entry.bash +63 -23
- package/package.json +8 -8
package/docker/Dockerfile
CHANGED
|
@@ -18,40 +18,36 @@ RUN android_sdk/cmdline-tools/13.0/bin/sdkmanager "build-tools;34.0.0"
|
|
|
18
18
|
RUN wget -q https://services.gradle.org/distributions/gradle-8.4-all.zip \
|
|
19
19
|
&& unzip gradle-8.4-all.zip -d /opt
|
|
20
20
|
|
|
21
|
-
RUN npm install -g cordova@12.0.0
|
|
22
|
-
|
|
23
21
|
# create an empty project, the first init seems to take longer
|
|
24
22
|
WORKDIR /init_project
|
|
25
|
-
RUN
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
RUN
|
|
30
|
-
RUN
|
|
31
|
-
RUN
|
|
32
|
-
|
|
33
|
-
RUN cordova plugin add cordova-plugin-geolocation@5.0.0
|
|
34
|
-
RUN cordova plugin add cordova-plugin-camera@7.0.0
|
|
35
|
-
RUN cordova platform add android@^13.0.0
|
|
23
|
+
RUN npm init -y
|
|
24
|
+
RUN mkdir www
|
|
25
|
+
RUN touch www/index.html
|
|
26
|
+
RUN npm install @capacitor/cli @capacitor/core @capacitor/android
|
|
27
|
+
RUN npx cap init MyApp com.example.myapp --web-dir www
|
|
28
|
+
RUN npx cap add android
|
|
29
|
+
RUN npx cap sync
|
|
30
|
+
|
|
36
31
|
ENV ANDROID_SDK_ROOT=/android_sdk
|
|
37
32
|
ENV ANDROID_HOME=/android_sdk
|
|
38
33
|
ENV GRADLE_HOME=/opt/gradle-8.4
|
|
39
34
|
ENV PATH=$PATH:/opt/gradle-8.4/bin
|
|
40
|
-
# stop gradle from downloading itself
|
|
41
|
-
ENV CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file\:/gradle-8.4-all.zip
|
|
42
|
-
RUN cordova build android
|
|
43
35
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
RUN cat <<EOF > /init_project/android/gradle/wrapper/gradle-wrapper.properties
|
|
37
|
+
distributionBase=GRADLE_USER_HOME
|
|
38
|
+
distributionPath=wrapper/dists
|
|
39
|
+
distributionUrl=file\:/gradle-8.4-all.zip
|
|
40
|
+
networkTimeout=10000
|
|
41
|
+
validateDistributionUrl=true
|
|
42
|
+
zipStoreBase=GRADLE_USER_HOME
|
|
43
|
+
zipStorePath=wrapper/dists
|
|
44
|
+
EOF
|
|
45
|
+
|
|
46
|
+
WORKDIR /init_project/android
|
|
47
|
+
RUN ./gradlew assembleDebug
|
|
48
48
|
|
|
49
|
-
# prepare entry point
|
|
50
49
|
WORKDIR /
|
|
51
50
|
COPY entry.bash ./
|
|
52
51
|
RUN chmod u+x entry.bash
|
|
53
52
|
|
|
54
|
-
RUN chmod o+rwx ~
|
|
55
|
-
RUN chmod -R o+rwx ~/.config
|
|
56
|
-
|
|
57
53
|
ENTRYPOINT ["./entry.bash"]
|
package/docker/entry.bash
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
+
set -e
|
|
4
|
+
|
|
3
5
|
BUILD_TYPE="$1"
|
|
4
6
|
KEYSTORE_FILE="$2"
|
|
5
7
|
KEYSTORE_ALIAS="$3"
|
|
@@ -15,38 +17,76 @@ export ANDROID_SDK_ROOT=/android_sdk
|
|
|
15
17
|
export ANDROID_HOME=/android_sdk
|
|
16
18
|
export GRADLE_HOME=/opt/gradle-8.4
|
|
17
19
|
export PATH=$PATH:/opt/gradle-8.4/bin
|
|
18
|
-
# stop gradle from downloading itself
|
|
19
|
-
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file\:/gradle-8.4-all.zip
|
|
20
20
|
|
|
21
21
|
cd /saltcorn-mobile-app
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
npm install @capacitor/cli @capacitor/core @capacitor/android
|
|
23
|
+
npx cap add android
|
|
24
|
+
npx capacitor-assets generate
|
|
25
|
+
npx cap sync
|
|
26
|
+
|
|
27
|
+
npm install cordova-plugin-file@8.1.2
|
|
28
|
+
npm install cordova-plugin-inappbrowser@6.0.0
|
|
29
|
+
|
|
30
|
+
# data extraction rules
|
|
31
|
+
cat <<EOF > /saltcorn-mobile-app/android/app/src/main/res/xml/data_extraction_rules.xml
|
|
32
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
33
|
+
<data-extraction-rules>
|
|
34
|
+
<cloud-backup>
|
|
35
|
+
<exclude domain="root" />
|
|
36
|
+
<exclude domain="database" />
|
|
37
|
+
<exclude domain="sharedpref" />
|
|
38
|
+
<exclude domain="external" />
|
|
39
|
+
</cloud-backup>
|
|
40
|
+
<device-transfer>
|
|
41
|
+
<exclude domain="root" />
|
|
42
|
+
<exclude domain="database" />
|
|
43
|
+
<exclude domain="sharedpref" />
|
|
44
|
+
<exclude domain="external" />
|
|
45
|
+
</device-transfer>
|
|
46
|
+
</data-extraction-rules>
|
|
47
|
+
EOF
|
|
48
|
+
|
|
49
|
+
# network security config
|
|
50
|
+
cat <<EOF > /saltcorn-mobile-app/android/app/src/main/res/xml/network_security_config.xml
|
|
51
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
52
|
+
<network-security-config>
|
|
53
|
+
<domain-config cleartextTrafficPermitted="true">
|
|
54
|
+
<domain includeSubdomains="true">10.0.2.2</domain>
|
|
55
|
+
</domain-config>
|
|
56
|
+
</network-security-config>
|
|
57
|
+
EOF
|
|
58
|
+
|
|
59
|
+
npm run modify-android-manifest
|
|
60
|
+
npx cap sync
|
|
61
|
+
|
|
62
|
+
# gradle wrapper
|
|
63
|
+
cat <<EOF > /saltcorn-mobile-app/android/gradle/wrapper/gradle-wrapper.properties
|
|
64
|
+
distributionBase=GRADLE_USER_HOME
|
|
65
|
+
distributionPath=wrapper/dists
|
|
29
66
|
distributionUrl=file\:/gradle-8.4-all.zip
|
|
67
|
+
networkTimeout=10000
|
|
68
|
+
validateDistributionUrl=true
|
|
69
|
+
zipStoreBase=GRADLE_USER_HOME
|
|
70
|
+
zipStorePath=wrapper/dists
|
|
30
71
|
EOF
|
|
31
72
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
cordova plugin add /init_project/project/plugins/cordova-plugin-file
|
|
35
|
-
cordova plugin add /init_project/project/plugins/cordova-sqlite-ext
|
|
36
|
-
cordova plugin add /init_project/project/plugins/cordova-plugin-network-information
|
|
37
|
-
cordova plugin add /init_project/project/plugins/cordova-plugin-geolocation
|
|
38
|
-
cordova plugin add /init_project/project/plugins/cordova-plugin-camera
|
|
73
|
+
npm run build
|
|
74
|
+
npx cap sync
|
|
39
75
|
|
|
40
|
-
|
|
41
|
-
|
|
76
|
+
# copy prepopulated db
|
|
77
|
+
mkdir -p /saltcorn-mobile-app/android/app/src/main/assets/public/assets/databases
|
|
78
|
+
cp /saltcorn-mobile-app/www/scdb.sqlite /saltcorn-mobile-app/android/app/src/main/assets/public/assets/databases/prepopulated.db
|
|
42
79
|
|
|
80
|
+
cd ./android
|
|
43
81
|
|
|
82
|
+
# modify gradle config for keystore
|
|
44
83
|
if [ -n "$KEYSTORE_FILE" ]; then
|
|
45
84
|
echo "building signed app with keystore"
|
|
46
|
-
|
|
47
|
-
else
|
|
48
|
-
echo "building unsigned app"
|
|
49
|
-
cordova build android --"$BUILD_TYPE" --verbose
|
|
85
|
+
npm run modify-gradle-cfg -- --keystore-file=$KEYSTORE_FILE --keystore-alias=$KEYSTORE_ALIAS --keystore-password=$KEYSTORE_PASSWORD
|
|
50
86
|
fi
|
|
51
87
|
|
|
52
|
-
|
|
88
|
+
if [ "$BUILD_TYPE" == "release" ]; then
|
|
89
|
+
./gradlew assembleRelease
|
|
90
|
+
else
|
|
91
|
+
./gradlew assembleDebug
|
|
92
|
+
fi
|
package/package.json
CHANGED
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
"description": "plugin to to build a mobile app from a tenant application",
|
|
4
4
|
"homepage": "https://saltcorn.com",
|
|
5
5
|
"repository": "github:saltcorn/saltcorn",
|
|
6
|
-
"version": "1.1.0-beta.
|
|
6
|
+
"version": "1.1.0-beta.12",
|
|
7
7
|
"author": "Christian Hugo",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"test": "jest ./tests/ --runInBand",
|
|
10
10
|
"build": "webpack --mode development"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@saltcorn/markup": "1.1.0-beta.
|
|
14
|
-
"@saltcorn/data": "1.1.0-beta.
|
|
15
|
-
"@saltcorn/db-common": "1.1.0-beta.
|
|
16
|
-
"@saltcorn/server": "1.1.0-beta.
|
|
17
|
-
"@saltcorn/base-plugin": "1.1.0-beta.
|
|
18
|
-
"@saltcorn/sbadmin2": "1.1.0-beta.
|
|
19
|
-
"@saltcorn/mobile-app": "1.1.0-beta.
|
|
13
|
+
"@saltcorn/markup": "1.1.0-beta.12",
|
|
14
|
+
"@saltcorn/data": "1.1.0-beta.12",
|
|
15
|
+
"@saltcorn/db-common": "1.1.0-beta.12",
|
|
16
|
+
"@saltcorn/server": "1.1.0-beta.12",
|
|
17
|
+
"@saltcorn/base-plugin": "1.1.0-beta.12",
|
|
18
|
+
"@saltcorn/sbadmin2": "1.1.0-beta.12",
|
|
19
|
+
"@saltcorn/mobile-app": "1.1.0-beta.12",
|
|
20
20
|
"fs-extra": "^10.0.1",
|
|
21
21
|
"live-plugin-manager": "^0.17.1",
|
|
22
22
|
"resize-with-sharp-or-jimp": "0.1.8",
|