@expo/build-tools 18.2.0 → 18.4.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.
- package/dist/android/gradle.js +1 -1
- package/dist/buildErrors/detectError.d.ts +1 -1
- package/dist/buildErrors/detectError.js +8 -12
- package/dist/buildErrors/userErrorHandlers.d.ts +2 -2
- package/dist/buildErrors/userErrorHandlers.js +20 -20
- package/dist/builders/android.js +12 -2
- package/dist/builders/custom.js +1 -0
- package/dist/common/setup.js +4 -6
- package/dist/context.d.ts +2 -0
- package/dist/context.js +2 -0
- package/dist/customBuildContext.d.ts +5 -1
- package/dist/customBuildContext.js +22 -0
- package/dist/generic.d.ts +1 -3
- package/dist/generic.js +13 -15
- package/dist/ios/credentials/provisioningProfile.d.ts +2 -1
- package/dist/ios/credentials/provisioningProfile.js +10 -11
- package/dist/steps/functions/downloadArtifact.js +3 -3
- package/dist/steps/functions/downloadBuild.js +2 -2
- package/dist/steps/functions/internalMaestroTest.js +8 -12
- package/dist/steps/functions/maestroResultParser.js +134 -80
- package/dist/steps/functions/readIpaInfo.js +9 -9
- package/dist/steps/functions/reportMaestroTestResults.js +14 -7
- package/dist/steps/functions/uploadToAsc.js +4 -4
- package/dist/steps/utils/android/gradle.js +1 -1
- package/dist/steps/utils/android/gradleConfig.d.ts +3 -0
- package/dist/steps/utils/android/gradleConfig.js +15 -1
- package/dist/steps/utils/ios/AscApiUtils.js +3 -3
- package/dist/steps/utils/ios/credentials/provisioningProfile.d.ts +2 -1
- package/dist/steps/utils/ios/credentials/provisioningProfile.js +10 -11
- package/dist/utils/stepMetrics.d.ts +2 -2
- package/dist/utils/stepMetrics.js +4 -10
- package/package.json +4 -4
- package/dist/android/gradleConfig.d.ts +0 -3
- package/dist/android/gradleConfig.js +0 -47
- package/dist/templates/EasBuildGradle.d.ts +0 -1
- package/dist/templates/EasBuildGradle.js +0 -57
|
@@ -1,47 +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.configureBuildGradle = configureBuildGradle;
|
|
7
|
-
const config_plugins_1 = require("@expo/config-plugins");
|
|
8
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const EasBuildGradle_1 = require("../templates/EasBuildGradle");
|
|
11
|
-
const APPLY_EAS_BUILD_GRADLE_LINE = 'apply from: "./eas-build.gradle"';
|
|
12
|
-
async function configureBuildGradle(ctx) {
|
|
13
|
-
ctx.logger.info('Injecting signing config into build.gradle');
|
|
14
|
-
if (await fs_extra_1.default.pathExists(getEasBuildGradlePath(ctx.getReactNativeProjectDirectory()))) {
|
|
15
|
-
ctx.markBuildPhaseHasWarnings();
|
|
16
|
-
ctx.logger.warn('eas-build.gradle script is deprecated, please remove it from your project.');
|
|
17
|
-
}
|
|
18
|
-
await deleteEasBuildGradle(ctx.getReactNativeProjectDirectory());
|
|
19
|
-
await createEasBuildGradle(ctx.getReactNativeProjectDirectory());
|
|
20
|
-
await addApplyToBuildGradle(ctx.getReactNativeProjectDirectory());
|
|
21
|
-
}
|
|
22
|
-
async function deleteEasBuildGradle(projectRoot) {
|
|
23
|
-
const easBuildGradlePath = getEasBuildGradlePath(projectRoot);
|
|
24
|
-
await fs_extra_1.default.remove(easBuildGradlePath);
|
|
25
|
-
}
|
|
26
|
-
function getEasBuildGradlePath(projectRoot) {
|
|
27
|
-
return path_1.default.join(projectRoot, 'android/app/eas-build.gradle');
|
|
28
|
-
}
|
|
29
|
-
async function createEasBuildGradle(projectRoot) {
|
|
30
|
-
const easBuildGradlePath = getEasBuildGradlePath(projectRoot);
|
|
31
|
-
await fs_extra_1.default.writeFile(easBuildGradlePath, EasBuildGradle_1.EasBuildGradle);
|
|
32
|
-
}
|
|
33
|
-
async function addApplyToBuildGradle(projectRoot) {
|
|
34
|
-
const buildGradlePath = config_plugins_1.AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);
|
|
35
|
-
const buildGradleContents = await fs_extra_1.default.readFile(path_1.default.join(buildGradlePath), 'utf8');
|
|
36
|
-
if (hasLine(buildGradleContents, APPLY_EAS_BUILD_GRADLE_LINE)) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
await fs_extra_1.default.writeFile(buildGradlePath, `${buildGradleContents.trim()}\n${APPLY_EAS_BUILD_GRADLE_LINE}\n`);
|
|
40
|
-
}
|
|
41
|
-
function hasLine(haystack, needle) {
|
|
42
|
-
return (haystack
|
|
43
|
-
.replace(/\r\n/g, '\n')
|
|
44
|
-
.split('\n')
|
|
45
|
-
// Check for both single and double quotes
|
|
46
|
-
.some(line => line === needle || line === needle.replace(/"/g, "'")));
|
|
47
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const EasBuildGradle = "// Build integration with EAS\n\nimport java.nio.file.Paths\n\ndef versionCodeFromEnv = System.getenv(\"EAS_BUILD_ANDROID_VERSION_CODE\")\ndef versionNameFromEnv = System.getenv(\"EAS_BUILD_ANDROID_VERSION_NAME\")\n\nandroid {\n defaultConfig {\n if (versionCodeFromEnv) {\n versionCode = Integer.parseInt(versionCodeFromEnv)\n }\n if (versionNameFromEnv) {\n versionName = versionNameFromEnv\n }\n }\n applicationVariants.all { variant ->\n variant.outputs.each { output ->\n if (versionCodeFromEnv) {\n output.versionCodeOverride = Integer.parseInt(versionCodeFromEnv)\n }\n if (versionNameFromEnv) {\n output.versionNameOverride = versionNameFromEnv\n }\n }\n }\n signingConfigs {\n release {\n def credentialsJson = Paths.get(System.getenv(\"EAS_BUILD_WORKINGDIR\")).resolve(\"credentials.json\").toFile();\n def credentials = new groovy.json.JsonSlurper().parse(credentialsJson)\n def keystorePath = Paths.get(credentials.android.keystore.keystorePath);\n\n storeFile keystorePath.toFile()\n storePassword credentials.android.keystore.keystorePassword\n keyAlias credentials.android.keystore.keyAlias\n if (credentials.android.keystore.containsKey(\"keyPassword\")) {\n keyPassword credentials.android.keystore.keyPassword\n } else {\n // key password is required by Gradle, but PKCS keystores don't have one\n // using the keystore password seems to satisfy the requirement\n keyPassword credentials.android.keystore.keystorePassword\n }\n }\n }\n\n buildTypes {\n release {\n signingConfig android.signingConfigs.release\n }\n debug {\n signingConfig android.signingConfigs.release\n }\n }\n}";
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EasBuildGradle = void 0;
|
|
4
|
-
exports.EasBuildGradle = `// Build integration with EAS
|
|
5
|
-
|
|
6
|
-
import java.nio.file.Paths
|
|
7
|
-
|
|
8
|
-
def versionCodeFromEnv = System.getenv("EAS_BUILD_ANDROID_VERSION_CODE")
|
|
9
|
-
def versionNameFromEnv = System.getenv("EAS_BUILD_ANDROID_VERSION_NAME")
|
|
10
|
-
|
|
11
|
-
android {
|
|
12
|
-
defaultConfig {
|
|
13
|
-
if (versionCodeFromEnv) {
|
|
14
|
-
versionCode = Integer.parseInt(versionCodeFromEnv)
|
|
15
|
-
}
|
|
16
|
-
if (versionNameFromEnv) {
|
|
17
|
-
versionName = versionNameFromEnv
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
applicationVariants.all { variant ->
|
|
21
|
-
variant.outputs.each { output ->
|
|
22
|
-
if (versionCodeFromEnv) {
|
|
23
|
-
output.versionCodeOverride = Integer.parseInt(versionCodeFromEnv)
|
|
24
|
-
}
|
|
25
|
-
if (versionNameFromEnv) {
|
|
26
|
-
output.versionNameOverride = versionNameFromEnv
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
signingConfigs {
|
|
31
|
-
release {
|
|
32
|
-
def credentialsJson = Paths.get(System.getenv("EAS_BUILD_WORKINGDIR")).resolve("credentials.json").toFile();
|
|
33
|
-
def credentials = new groovy.json.JsonSlurper().parse(credentialsJson)
|
|
34
|
-
def keystorePath = Paths.get(credentials.android.keystore.keystorePath);
|
|
35
|
-
|
|
36
|
-
storeFile keystorePath.toFile()
|
|
37
|
-
storePassword credentials.android.keystore.keystorePassword
|
|
38
|
-
keyAlias credentials.android.keystore.keyAlias
|
|
39
|
-
if (credentials.android.keystore.containsKey("keyPassword")) {
|
|
40
|
-
keyPassword credentials.android.keystore.keyPassword
|
|
41
|
-
} else {
|
|
42
|
-
// key password is required by Gradle, but PKCS keystores don't have one
|
|
43
|
-
// using the keystore password seems to satisfy the requirement
|
|
44
|
-
keyPassword credentials.android.keystore.keystorePassword
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
buildTypes {
|
|
50
|
-
release {
|
|
51
|
-
signingConfig android.signingConfigs.release
|
|
52
|
-
}
|
|
53
|
-
debug {
|
|
54
|
-
signingConfig android.signingConfigs.release
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}`;
|