@saltcorn/mobile-builder 1.1.0-beta.9 → 1.1.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"package-bundle-utils.js","sourceRoot":"","sources":["../../utils/package-bundle-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-bundle-utils.js","sourceRoot":"","sources":["../../utils/package-bundle-utils.ts"],"names":[],"mappings":"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"}
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 cordova create project
26
- WORKDIR /init_project/project
27
- # download plugins while building
28
- # so that we can add them later via file reference
29
- RUN cordova plugin add cordova-sqlite-ext@6.0.0
30
- RUN cordova plugin add cordova-plugin-file@8.1.0
31
- RUN cordova plugin add cordova-plugin-inappbrowser@6.0.0
32
- RUN cordova plugin add cordova-plugin-network-information@3.0.0
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
- # due to a bug in npm that has been addressed since then
45
- # some files in '/root/.npm' are owned by root
46
- RUN chown -R 1000:1000 "/root/.npm"
47
- RUN chmod -R o+rwx "/root/.npm"
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,11 +1,15 @@
1
1
  #!/bin/bash
2
2
 
3
+ set -e
4
+
3
5
  BUILD_TYPE="$1"
4
- KEYSTORE_FILE="$2"
5
- KEYSTORE_ALIAS="$3"
6
- KEYSTORE_PASSWORD="$4"
6
+ APP_VERSION="$2"
7
+ KEYSTORE_FILE="$3"
8
+ KEYSTORE_ALIAS="$4"
9
+ KEYSTORE_PASSWORD="$5"
7
10
 
8
11
  echo "BUILD_TYPE: $BUILD_TYPE"
12
+ echo "APP_VERSION: $APP_VERSION"
9
13
  echo "KEYSTORE_FILE: $KEYSTORE_FILE"
10
14
  echo "KEYSTORE_ALIAS: $KEYSTORE_ALIAS"
11
15
  #echo "KEYSTORE_PASSWORD: $KEYSTORE_PASSWORD"
@@ -15,38 +19,89 @@ export ANDROID_SDK_ROOT=/android_sdk
15
19
  export ANDROID_HOME=/android_sdk
16
20
  export GRADLE_HOME=/opt/gradle-8.4
17
21
  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
22
 
21
23
  cd /saltcorn-mobile-app
22
- echo "adding android platform"
23
- cordova platform add android
24
- echo "writing gradle.properties"
25
- cat <<EOF > /saltcorn-mobile-app/platforms/android/gradle.properties
26
- org.gradle.jvmargs=-Xmx2048m
27
- android.useAndroidX=true
28
- android.enableJetifier=true
24
+ npm install @capacitor/cli @capacitor/core @capacitor/android
25
+ npx cap add android
26
+ npx capacitor-assets generate
27
+ npx cap sync
28
+
29
+ npm install cordova-plugin-file@8.1.2
30
+ npm install cordova-plugin-inappbrowser@6.0.0
31
+
32
+ # data extraction rules
33
+ cat <<EOF > /saltcorn-mobile-app/android/app/src/main/res/xml/data_extraction_rules.xml
34
+ <?xml version="1.0" encoding="utf-8"?>
35
+ <data-extraction-rules>
36
+ <cloud-backup>
37
+ <exclude domain="root" />
38
+ <exclude domain="database" />
39
+ <exclude domain="sharedpref" />
40
+ <exclude domain="external" />
41
+ </cloud-backup>
42
+ <device-transfer>
43
+ <exclude domain="root" />
44
+ <exclude domain="database" />
45
+ <exclude domain="sharedpref" />
46
+ <exclude domain="external" />
47
+ </device-transfer>
48
+ </data-extraction-rules>
49
+ EOF
50
+
51
+ # network security config
52
+ cat <<EOF > /saltcorn-mobile-app/android/app/src/main/res/xml/network_security_config.xml
53
+ <?xml version="1.0" encoding="utf-8"?>
54
+ <network-security-config>
55
+ <domain-config cleartextTrafficPermitted="true">
56
+ <domain includeSubdomains="true">10.0.2.2</domain>
57
+ </domain-config>
58
+ </network-security-config>
59
+ EOF
60
+
61
+ npm run modify-android-manifest
62
+ npx cap sync
63
+
64
+ # gradle wrapper
65
+ cat <<EOF > /saltcorn-mobile-app/android/gradle/wrapper/gradle-wrapper.properties
66
+ distributionBase=GRADLE_USER_HOME
67
+ distributionPath=wrapper/dists
29
68
  distributionUrl=file\:/gradle-8.4-all.zip
69
+ networkTimeout=10000
70
+ validateDistributionUrl=true
71
+ zipStoreBase=GRADLE_USER_HOME
72
+ zipStorePath=wrapper/dists
30
73
  EOF
31
74
 
32
- echo "adding plugins"
33
- cordova plugin add /init_project/project/plugins/cordova-plugin-inappbrowser
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
75
+ npm run build
76
+ npx cap sync
39
77
 
40
- echo "calling cordova build"
41
- cordova build android --verbose
78
+ # copy prepopulated db
79
+ mkdir -p /saltcorn-mobile-app/android/app/src/main/assets/public/assets/databases
80
+ cp /saltcorn-mobile-app/www/scdb.sqlite /saltcorn-mobile-app/android/app/src/main/assets/public/assets/databases/prepopulated.db
42
81
 
82
+ # set app version and code in build.gradle
83
+ npm run modify-gradle-cfg -- --app-version=$APP_VERSION
43
84
 
85
+ ANDROID_RELEASE_TYPE="AAB"
86
+ if [ "$BUILD_TYPE" == "debug" ]; then
87
+ ANDROID_RELEASE_TYPE="APK"
88
+ fi
89
+
90
+ # if KEYSTORE_FILE is not empty
44
91
  if [ -n "$KEYSTORE_FILE" ]; then
45
- echo "building signed app with keystore"
46
- cordova build android --"$BUILD_TYPE" --verbose -- --keystore="$KEYSTORE_FILE" --alias="$KEYSTORE_ALIAS" --storePassword="$KEYSTORE_PASSWORD" --password="$KEYSTORE_PASSWORD"
92
+ echo "building signed app"
93
+ npx cap build android \
94
+ --androidreleasetype "$ANDROID_RELEASE_TYPE" \
95
+ --keystorepath "/saltcorn-mobile-app/$KEYSTORE_FILE" \
96
+ --keystorepass "$KEYSTORE_PASSWORD" \
97
+ --keystorealias "$KEYSTORE_ALIAS" \
98
+ --keystorealiaspass "$KEYSTORE_PASSWORD"
47
99
  else
48
100
  echo "building unsigned app"
49
- cordova build android --"$BUILD_TYPE" --verbose
101
+ npx cap build android \
102
+ --androidreleasetype "$ANDROID_RELEASE_TYPE" \
103
+ --keystorepath "/saltcorn-mobile-app/unsecure-default-key.jks" \
104
+ --keystorepass "unsecurepassw" \
105
+ --keystorealias "unsecure-default-alias" \
106
+ --keystorealiaspass "unsecurepassw"
50
107
  fi
51
-
52
- chmod -R o+rwx /saltcorn-mobile-app
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.9",
6
+ "version": "1.1.0",
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.9",
14
- "@saltcorn/data": "1.1.0-beta.9",
15
- "@saltcorn/db-common": "1.1.0-beta.9",
16
- "@saltcorn/server": "1.1.0-beta.9",
17
- "@saltcorn/base-plugin": "1.1.0-beta.9",
18
- "@saltcorn/sbadmin2": "1.1.0-beta.9",
19
- "@saltcorn/mobile-app": "1.1.0-beta.9",
13
+ "@saltcorn/markup": "1.1.0",
14
+ "@saltcorn/data": "1.1.0",
15
+ "@saltcorn/db-common": "1.1.0",
16
+ "@saltcorn/server": "1.1.0",
17
+ "@saltcorn/base-plugin": "1.1.0",
18
+ "@saltcorn/sbadmin2": "1.1.0",
19
+ "@saltcorn/mobile-app": "1.1.0",
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",
@@ -1,43 +0,0 @@
1
- import type User from "@saltcorn/data/models/user";
2
- export declare type CordovaCfg = {
3
- buildDir: string;
4
- platforms: string[];
5
- buildType: "debug" | "release";
6
- appName: string;
7
- useDocker?: boolean;
8
- keyStorePath?: string;
9
- keyStoreAlias?: string;
10
- keyStorePassword?: string;
11
- appleTeamId?: string;
12
- provisioningGUUID?: string;
13
- };
14
- export declare class CordovaHelper {
15
- buildDir: string;
16
- platforms: string[];
17
- buildType: "debug" | "release";
18
- appName: string;
19
- useDocker?: boolean;
20
- keyStoreFile?: string;
21
- keyStoreAlias?: string;
22
- keyStorePassword?: string;
23
- androidReleaseOut: string;
24
- androidDebugOut: string;
25
- appleTeamId?: string;
26
- provisioningGUUID?: string;
27
- constructor(cfg: CordovaCfg);
28
- buildApp(): number | null;
29
- private runXcodeCmds;
30
- private copyAppIconsSet;
31
- private buildApkInContainer;
32
- private addPlugins;
33
- private addPlatforms;
34
- private callBuild;
35
- /**
36
- * copy .apk / .aab / .ipa files to 'copyDir' if they exist
37
- * @param copyDir directory where the resulting app file will be copied to
38
- * @param user the user specified by the userEmail (-c) parameter
39
- * @param appName
40
- */
41
- tryCopyAppFiles(copyDir: string, user: User, appName?: string): Promise<void>;
42
- }
43
- //# sourceMappingURL=cordova_helper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cordova_helper.d.ts","sourceRoot":"","sources":["../../utils/cordova_helper.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,4BAA4B,CAAC;AAEnD,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,qBAAa,aAAa;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAEf,GAAG,EAAE,UAAU;IA2B3B,QAAQ;IAkBR,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,SAAS;IA+BjB;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM;CAwBpE"}
@@ -1,194 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CordovaHelper = void 0;
7
- const child_process_1 = require("child_process");
8
- const path_1 = require("path");
9
- const fs_extra_1 = require("fs-extra");
10
- const utils = require("@saltcorn/data/utils");
11
- const { fileWithEnding, safeEnding } = utils;
12
- const file_1 = __importDefault(require("@saltcorn/data/models/file"));
13
- class CordovaHelper {
14
- constructor(cfg) {
15
- this.buildDir = cfg.buildDir;
16
- this.platforms = cfg.platforms;
17
- this.buildType = cfg.buildType || "debug";
18
- this.appName = cfg.appName;
19
- this.useDocker = cfg.useDocker;
20
- this.keyStoreFile = cfg.keyStorePath
21
- ? (0, path_1.basename)(cfg.keyStorePath)
22
- : undefined;
23
- this.keyStoreAlias = cfg.keyStoreAlias;
24
- this.keyStorePassword = cfg.keyStorePassword;
25
- const androidOut = (0, path_1.join)(this.buildDir, "platforms", "android", "app", "build", "outputs");
26
- this.androidReleaseOut = (0, path_1.join)(androidOut, "bundle", "release");
27
- this.androidDebugOut = (0, path_1.join)(androidOut, "apk", "debug");
28
- this.appleTeamId = cfg.appleTeamId;
29
- this.provisioningGUUID = cfg.provisioningGUUID;
30
- }
31
- buildApp() {
32
- let code = null;
33
- if (!this.useDocker) {
34
- this.addPlugins();
35
- code = this.callBuild();
36
- }
37
- else {
38
- code = this.buildApkInContainer();
39
- if (code === 0 && this.platforms.includes("ios"))
40
- code = this.callBuild(["ios"]);
41
- }
42
- if (code !== 0)
43
- return code;
44
- if (this.platforms.includes("ios")) {
45
- this.copyAppIconsSet();
46
- code = this.runXcodeCmds();
47
- }
48
- return code;
49
- }
50
- runXcodeCmds() {
51
- try {
52
- console.log("xcodebuild -workspace");
53
- let buffer = (0, child_process_1.execSync)(`xcodebuild -workspace platforms/ios/${this.appName}.xcworkspace ` +
54
- `-scheme ${this.appName} -destination "generic/platform=iOS" ` +
55
- `-archivePath MyArchive.xcarchive archive PROVISIONING_PROFILE="${this.provisioningGUUID}" ` +
56
- ' CODE_SIGN_STYLE="Manual" CODE_SIGN_IDENTITY="iPhone Distribution" ' +
57
- ` DEVELOPMENT_TEAM="${this.appleTeamId}"`, { cwd: this.buildDir, maxBuffer: 1024 * 1024 * 10 });
58
- console.log(buffer.toString());
59
- if (!(0, fs_extra_1.existsSync)((0, path_1.join)(this.buildDir, "MyArchive.xcarchive"))) {
60
- console.log("Unable to export ipa: xcodebuild did not create the archivePath.");
61
- return 1;
62
- }
63
- else {
64
- console.log("xcodebuild -exportArchive");
65
- buffer = (0, child_process_1.execSync)("xcodebuild -exportArchive -archivePath MyArchive.xcarchive " +
66
- `-exportPath ${this.buildDir} -exportOptionsPlist ExportOptions.plist`, { cwd: this.buildDir, maxBuffer: 1024 * 1024 * 10 });
67
- console.log(buffer.toString());
68
- // to upload it automatically:
69
- // xrun altool --upload-app -f [.ipa file] -t ios -u [apple-id] -p [app-specific password]
70
- return 0;
71
- }
72
- }
73
- catch (err) {
74
- console.log(err);
75
- return 1;
76
- }
77
- }
78
- copyAppIconsSet() {
79
- const src = (0, path_1.join)(this.buildDir, "AppIcon.appiconset");
80
- if (!(0, fs_extra_1.existsSync)(src)) {
81
- console.log("AppIcon.appiconset not found");
82
- }
83
- else {
84
- const dst = (0, path_1.join)(this.buildDir, "platforms", "ios", this.appName, "Assets.xcassets", "AppIcon.appiconset");
85
- try {
86
- (0, fs_extra_1.rmSync)(dst, { recursive: true, force: true });
87
- (0, fs_extra_1.copySync)(src, dst, { recursive: true, overwrite: true });
88
- }
89
- catch (err) {
90
- console.log(err);
91
- }
92
- }
93
- }
94
- buildApkInContainer() {
95
- const spawnParams = [
96
- "run",
97
- "--network",
98
- "host",
99
- "-v",
100
- `${this.buildDir}:/saltcorn-mobile-app`,
101
- "saltcorn/cordova-builder",
102
- ];
103
- spawnParams.push(this.buildType);
104
- if (this.keyStoreFile)
105
- spawnParams.push(this.keyStoreFile, this.keyStoreAlias || "??", this.keyStorePassword || "??");
106
- const result = (0, child_process_1.spawnSync)(`${process.env.DOCKER_BIN ? `${process.env.DOCKER_BIN}/` : ""}docker`, spawnParams, { cwd: ".", maxBuffer: 1024 * 1024 * 10 });
107
- if (result.output)
108
- console.log(result.output.toString());
109
- else if (result.error)
110
- console.log(result.error.toString());
111
- else
112
- console.log("docker finished without output");
113
- return result.status;
114
- }
115
- addPlugins() {
116
- const addFn = (plugin) => {
117
- let result = (0, child_process_1.spawnSync)("npm", ["run", "add-plugin", "--", plugin], {
118
- cwd: this.buildDir,
119
- env: {
120
- ...process.env,
121
- NODE_ENV: "development",
122
- },
123
- maxBuffer: 1024 * 1024 * 10,
124
- });
125
- console.log(result.output.toString());
126
- };
127
- addFn("cordova-sqlite-ext@6.0.0");
128
- addFn("cordova-plugin-file@8.1.0");
129
- addFn("cordova-plugin-inappbrowser@6.0.0");
130
- addFn("cordova-plugin-network-information@3.0.0");
131
- addFn("cordova-plugin-geolocation@5.0.0");
132
- addFn("cordova-plugin-camera@7.0.0");
133
- }
134
- addPlatforms() {
135
- const result = (0, child_process_1.spawnSync)("npm", ["run", "add-platform", "--", ...this.platforms], {
136
- cwd: this.buildDir,
137
- env: {
138
- ...process.env,
139
- NODE_ENV: "development",
140
- },
141
- maxBuffer: 1024 * 1024 * 10,
142
- });
143
- console.log(result.output.toString());
144
- }
145
- callBuild(platforms = this.platforms) {
146
- this.addPlatforms();
147
- let buildParams = [...platforms, `--${this.buildType}`];
148
- if (this.keyStoreFile) {
149
- buildParams.push(`--keystore=${this.keyStoreFile}`, `--alias=${this.keyStoreAlias || "??"}`, `--password=${this.keyStorePassword || "??"}`, `--storePassword=${this.keyStorePassword || "??"}`);
150
- }
151
- if (platforms.includes("ios")) {
152
- buildParams.push(`--developmentTeam=${this.appleTeamId}`, '--codeSignIdentity="iPhone Distribution"', "--packageType=app-store", `--provisioningProfile=${this.provisioningGUUID}`);
153
- }
154
- const result = (0, child_process_1.spawnSync)("npm", ["run", "build-app", "--", ...buildParams], {
155
- cwd: this.buildDir,
156
- maxBuffer: 1024 * 1024 * 10,
157
- });
158
- console.log(result.output.toString());
159
- return result.status;
160
- }
161
- /**
162
- * copy .apk / .aab / .ipa files to 'copyDir' if they exist
163
- * @param copyDir directory where the resulting app file will be copied to
164
- * @param user the user specified by the userEmail (-c) parameter
165
- * @param appName
166
- */
167
- async tryCopyAppFiles(copyDir, user, appName) {
168
- const copyHelper = async (ending, apkBuildDir) => {
169
- const appFile = fileWithEnding(apkBuildDir, `.${ending}`);
170
- if (appFile) {
171
- const dstFile = appName
172
- ? safeEnding(appName, `.${ending}`)
173
- : `app-${this.buildType}.${ending}`;
174
- (0, fs_extra_1.copySync)((0, path_1.join)(apkBuildDir, appFile), (0, path_1.join)(copyDir, dstFile));
175
- await file_1.default.set_xattr_of_existing_file(dstFile, copyDir, user);
176
- }
177
- };
178
- if (!(0, fs_extra_1.existsSync)(copyDir))
179
- (0, fs_extra_1.mkdirSync)(copyDir);
180
- if (this.buildType === "debug")
181
- copyHelper("apk", this.androidDebugOut);
182
- else
183
- copyHelper("aab", this.androidReleaseOut);
184
- // iOS .ipa file
185
- const ipaFile = fileWithEnding(this.buildDir, ".ipa");
186
- if (ipaFile) {
187
- const dstFile = appName ? safeEnding(appName, ".ipa") : "app-debug.ipa";
188
- (0, fs_extra_1.copySync)((0, path_1.join)(this.buildDir, ipaFile), (0, path_1.join)(copyDir, dstFile));
189
- await file_1.default.set_xattr_of_existing_file(dstFile, copyDir, user);
190
- }
191
- }
192
- }
193
- exports.CordovaHelper = CordovaHelper;
194
- //# sourceMappingURL=cordova_helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cordova_helper.js","sourceRoot":"","sources":["../../utils/cordova_helper.ts"],"names":[],"mappings":"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"}