@expo/build-tools 1.0.34 → 1.0.37
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/builders/custom.js +1 -1
- package/dist/builders/custom.js.map +1 -1
- package/dist/steps/easFunctions.d.ts +1 -3
- package/dist/steps/easFunctions.js +19 -22
- package/dist/steps/easFunctions.js.map +1 -1
- package/dist/steps/functions/checkout.js.map +1 -0
- package/dist/steps/functions/{utils/configureAndroidVersion.js → configureAndroidVersion.js} +12 -10
- package/dist/steps/functions/configureAndroidVersion.js.map +1 -0
- package/dist/steps/functions/{eas/configureEASUpdateIfInstalled.js → configureEASUpdateIfInstalled.js} +4 -4
- package/dist/steps/functions/configureEASUpdateIfInstalled.js.map +1 -0
- package/dist/steps/functions/{utils/configureIosCredentials.js → configureIosCredentials.js} +5 -5
- package/dist/steps/functions/configureIosCredentials.js.map +1 -0
- package/dist/steps/functions/{utils/configureIosVersion.js → configureIosVersion.js} +17 -14
- package/dist/steps/functions/configureIosVersion.js.map +1 -0
- package/dist/steps/functions/{eas/findAndUploadBuildArtifacts.d.ts → findAndUploadBuildArtifacts.d.ts} +1 -1
- package/dist/steps/functions/{eas/findAndUploadBuildArtifacts.js → findAndUploadBuildArtifacts.js} +3 -3
- package/dist/steps/functions/findAndUploadBuildArtifacts.js.map +1 -0
- package/dist/steps/functions/{utils/generateGymfileFromTemplate.js → generateGymfileFromTemplate.js} +5 -5
- package/dist/steps/functions/generateGymfileFromTemplate.js.map +1 -0
- package/dist/steps/functions/{utils/injectAndroidCredentials.js → injectAndroidCredentials.js} +2 -2
- package/dist/steps/functions/injectAndroidCredentials.js.map +1 -0
- package/dist/steps/functions/installNodeModules.d.ts +4 -0
- package/dist/steps/functions/{eas/installNodeModules.js → installNodeModules.js} +6 -6
- package/dist/steps/functions/installNodeModules.js.map +1 -0
- package/dist/steps/functions/prebuild.d.ts +2 -0
- package/dist/steps/functions/{eas/prebuild.js → prebuild.js} +18 -26
- package/dist/steps/functions/prebuild.js.map +1 -0
- package/dist/steps/functions/{utils/resolveAppleTeamIdFromCredentials.js → resolveAppleTeamIdFromCredentials.js} +3 -3
- package/dist/steps/functions/resolveAppleTeamIdFromCredentials.js.map +1 -0
- package/dist/steps/functions/{utils/runFastlane.js → runFastlane.js} +2 -2
- package/dist/steps/functions/runFastlane.js.map +1 -0
- package/dist/steps/functions/{utils/runGradle.js → runGradle.js} +2 -2
- package/dist/steps/functions/runGradle.js.map +1 -0
- package/dist/steps/functions/{utils/uploadArtifact.d.ts → uploadArtifact.d.ts} +1 -1
- package/dist/steps/functions/{utils/uploadArtifact.js → uploadArtifact.js} +2 -2
- package/dist/steps/functions/uploadArtifact.js.map +1 -0
- package/dist/steps/functions/useNpmToken.d.ts +2 -0
- package/dist/steps/functions/{eas/setUpNpmrc.js → useNpmToken.js} +5 -5
- package/dist/steps/functions/useNpmToken.js.map +1 -0
- package/dist/steps/utils/android/gradleConfig.d.ts +2 -2
- package/dist/steps/utils/android/gradleConfig.js +6 -2
- package/dist/steps/utils/android/gradleConfig.js.map +1 -1
- package/dist/steps/utils/expoUpdates.js +2 -2
- package/dist/steps/utils/expoUpdates.js.map +1 -1
- package/package.json +8 -8
- package/templates/eas-build-configure-version.gradle.template +8 -2
- package/dist/steps/functions/eas/buildReactNativeApp.d.ts +0 -4
- package/dist/steps/functions/eas/buildReactNativeApp.js +0 -47
- package/dist/steps/functions/eas/buildReactNativeApp.js.map +0 -1
- package/dist/steps/functions/eas/checkout.js.map +0 -1
- package/dist/steps/functions/eas/configureEASUpdateIfInstalled.js.map +0 -1
- package/dist/steps/functions/eas/findAndUploadBuildArtifacts.js.map +0 -1
- package/dist/steps/functions/eas/installNodeModules.d.ts +0 -5
- package/dist/steps/functions/eas/installNodeModules.js.map +0 -1
- package/dist/steps/functions/eas/prebuild.d.ts +0 -3
- package/dist/steps/functions/eas/prebuild.js.map +0 -1
- package/dist/steps/functions/eas/setUpNpmrc.d.ts +0 -3
- package/dist/steps/functions/eas/setUpNpmrc.js.map +0 -1
- package/dist/steps/functions/utils/configureAndroidVersion.js.map +0 -1
- package/dist/steps/functions/utils/configureIosCredentials.js.map +0 -1
- package/dist/steps/functions/utils/configureIosVersion.js.map +0 -1
- package/dist/steps/functions/utils/generateGymfileFromTemplate.js.map +0 -1
- package/dist/steps/functions/utils/injectAndroidCredentials.js.map +0 -1
- package/dist/steps/functions/utils/resolveAppleTeamIdFromCredentials.js.map +0 -1
- package/dist/steps/functions/utils/runFastlane.js.map +0 -1
- package/dist/steps/functions/utils/runGradle.js.map +0 -1
- package/dist/steps/functions/utils/uploadArtifact.js.map +0 -1
- /package/dist/steps/functions/{eas/checkout.d.ts → checkout.d.ts} +0 -0
- /package/dist/steps/functions/{eas/checkout.js → checkout.js} +0 -0
- /package/dist/steps/functions/{utils/configureAndroidVersion.d.ts → configureAndroidVersion.d.ts} +0 -0
- /package/dist/steps/functions/{eas/configureEASUpdateIfInstalled.d.ts → configureEASUpdateIfInstalled.d.ts} +0 -0
- /package/dist/steps/functions/{utils/configureIosCredentials.d.ts → configureIosCredentials.d.ts} +0 -0
- /package/dist/steps/functions/{utils/configureIosVersion.d.ts → configureIosVersion.d.ts} +0 -0
- /package/dist/steps/functions/{utils/generateGymfileFromTemplate.d.ts → generateGymfileFromTemplate.d.ts} +0 -0
- /package/dist/steps/functions/{utils/injectAndroidCredentials.d.ts → injectAndroidCredentials.d.ts} +0 -0
- /package/dist/steps/functions/{utils/resolveAppleTeamIdFromCredentials.d.ts → resolveAppleTeamIdFromCredentials.d.ts} +0 -0
- /package/dist/steps/functions/{utils/runFastlane.d.ts → runFastlane.d.ts} +0 -0
- /package/dist/steps/functions/{utils/runGradle.d.ts → runGradle.d.ts} +0 -0
package/dist/builders/custom.js
CHANGED
|
@@ -18,7 +18,7 @@ async function runCustomBuildAsync(ctx) {
|
|
|
18
18
|
const relativeConfigPath = (0, nullthrows_1.default)((_a = ctx.job.customBuildConfig) === null || _a === void 0 ? void 0 : _a.path, 'Custom build config must be defined for custom builds');
|
|
19
19
|
const configPath = path_1.default.join(ctx.getReactNativeProjectDirectory(customBuildCtx.projectSourceDirectory), relativeConfigPath);
|
|
20
20
|
const globalContext = new steps_1.BuildStepGlobalContext(customBuildCtx, false);
|
|
21
|
-
const easFunctions = (0, easFunctions_1.getEasFunctions)(customBuildCtx
|
|
21
|
+
const easFunctions = (0, easFunctions_1.getEasFunctions)(customBuildCtx);
|
|
22
22
|
const parser = new steps_1.BuildConfigParser(globalContext, {
|
|
23
23
|
externalFunctions: easFunctions,
|
|
24
24
|
configPath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.js","sourceRoot":"","sources":["../../src/builders/custom.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,uDAAsD;AACtD,uCAAgF;AAChF,4DAAoC;AAGpC,6DAAsE;AACtE,wDAAwD;AACxD,8DAA2D;AAEpD,KAAK,UAAU,mBAAmB,CAAgB,GAAoB;;IAC3E,MAAM,cAAc,GAAG,IAAI,uCAAkB,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,IAAA,2CAA0B,EAAC,GAAG,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAC7E,MAAM,kBAAkB,GAAG,IAAA,oBAAU,EACnC,MAAA,GAAG,CAAC,GAAG,CAAC,iBAAiB,0CAAE,IAAI,EAC/B,uDAAuD,CACxD,CAAC;IACF,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,GAAG,CAAC,8BAA8B,CAAC,cAAc,CAAC,sBAAsB,CAAC,EACzE,kBAAkB,CACnB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,8BAAsB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"custom.js","sourceRoot":"","sources":["../../src/builders/custom.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,uDAAsD;AACtD,uCAAgF;AAChF,4DAAoC;AAGpC,6DAAsE;AACtE,wDAAwD;AACxD,8DAA2D;AAEpD,KAAK,UAAU,mBAAmB,CAAgB,GAAoB;;IAC3E,MAAM,cAAc,GAAG,IAAI,uCAAkB,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,IAAA,2CAA0B,EAAC,GAAG,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAC7E,MAAM,kBAAkB,GAAG,IAAA,oBAAU,EACnC,MAAA,GAAG,CAAC,GAAG,CAAC,iBAAiB,0CAAE,IAAI,EAC/B,uDAAuD,CACxD,CAAC;IACF,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,GAAG,CAAC,8BAA8B,CAAC,cAAc,CAAC,sBAAsB,CAAC,EACzE,kBAAkB,CACnB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,8BAAsB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,yBAAiB,CAAC,aAAa,EAAE;QAClD,iBAAiB,EAAE,YAAY;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC3F,IAAI;YACF,OAAO,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;SAClC;QAAC,OAAO,UAAe,EAAE;YACxB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAClE,IAAI,UAAU,YAAY,cAAM,CAAC,kBAAkB,EAAE;gBACnD,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE;oBACnC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iBAC3B;aACF;YACD,MAAM,UAAU,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IACH,IAAI;QACF,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;KAC/B;IAAC,OAAO,GAAQ,EAAE;QACjB,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAC9B,MAAM,GAAG,CAAC;KACX;IAED,OAAO,GAAG,CAAC,SAAS,CAAC;AACvB,CAAC;AAvCD,kDAuCC","sourcesContent":["import path from 'path';\n\nimport { BuildPhase, Job } from '@expo/eas-build-job';\nimport { BuildConfigParser, BuildStepGlobalContext, errors } from '@expo/steps';\nimport nullthrows from 'nullthrows';\n\nimport { Artifacts, BuildContext } from '../context';\nimport { prepareProjectSourcesAsync } from '../common/projectSources';\nimport { getEasFunctions } from '../steps/easFunctions';\nimport { CustomBuildContext } from '../customBuildContext';\n\nexport async function runCustomBuildAsync<T extends Job>(ctx: BuildContext<T>): Promise<Artifacts> {\n const customBuildCtx = new CustomBuildContext(ctx);\n await prepareProjectSourcesAsync(ctx, customBuildCtx.projectSourceDirectory);\n const relativeConfigPath = nullthrows(\n ctx.job.customBuildConfig?.path,\n 'Custom build config must be defined for custom builds'\n );\n const configPath = path.join(\n ctx.getReactNativeProjectDirectory(customBuildCtx.projectSourceDirectory),\n relativeConfigPath\n );\n\n const globalContext = new BuildStepGlobalContext(customBuildCtx, false);\n const easFunctions = getEasFunctions(customBuildCtx);\n const parser = new BuildConfigParser(globalContext, {\n externalFunctions: easFunctions,\n configPath,\n });\n const workflow = await ctx.runBuildPhase(BuildPhase.PARSE_CUSTOM_WORKFLOW_CONFIG, async () => {\n try {\n return await parser.parseAsync();\n } catch (parseError: any) {\n ctx.logger.error('Failed to parse the custom build config file.');\n if (parseError instanceof errors.BuildWorkflowError) {\n for (const err of parseError.errors) {\n ctx.logger.error({ err });\n }\n }\n throw parseError;\n }\n });\n try {\n await workflow.executeAsync();\n } catch (err: any) {\n err.artifacts = ctx.artifacts;\n throw err;\n }\n\n return ctx.artifacts;\n}\n"]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Job } from '@expo/eas-build-job';
|
|
2
1
|
import { BuildFunction } from '@expo/steps';
|
|
3
|
-
import { BuildContext } from '../context';
|
|
4
2
|
import { CustomBuildContext } from '../customBuildContext';
|
|
5
|
-
export declare function getEasFunctions(ctx: CustomBuildContext
|
|
3
|
+
export declare function getEasFunctions(ctx: CustomBuildContext): BuildFunction[];
|
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getEasFunctions = void 0;
|
|
4
|
-
const uploadArtifact_1 = require("./functions/
|
|
5
|
-
const checkout_1 = require("./functions/
|
|
6
|
-
const
|
|
7
|
-
const installNodeModules_1 = require("./functions/
|
|
8
|
-
const prebuild_1 = require("./functions/
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
function getEasFunctions(ctx, oldCtx // TODO: remove
|
|
21
|
-
) {
|
|
4
|
+
const uploadArtifact_1 = require("./functions/uploadArtifact");
|
|
5
|
+
const checkout_1 = require("./functions/checkout");
|
|
6
|
+
const useNpmToken_1 = require("./functions/useNpmToken");
|
|
7
|
+
const installNodeModules_1 = require("./functions/installNodeModules");
|
|
8
|
+
const prebuild_1 = require("./functions/prebuild");
|
|
9
|
+
const findAndUploadBuildArtifacts_1 = require("./functions/findAndUploadBuildArtifacts");
|
|
10
|
+
const configureEASUpdateIfInstalled_1 = require("./functions/configureEASUpdateIfInstalled");
|
|
11
|
+
const injectAndroidCredentials_1 = require("./functions/injectAndroidCredentials");
|
|
12
|
+
const configureAndroidVersion_1 = require("./functions/configureAndroidVersion");
|
|
13
|
+
const runGradle_1 = require("./functions/runGradle");
|
|
14
|
+
const resolveAppleTeamIdFromCredentials_1 = require("./functions/resolveAppleTeamIdFromCredentials");
|
|
15
|
+
const configureIosCredentials_1 = require("./functions/configureIosCredentials");
|
|
16
|
+
const configureIosVersion_1 = require("./functions/configureIosVersion");
|
|
17
|
+
const generateGymfileFromTemplate_1 = require("./functions/generateGymfileFromTemplate");
|
|
18
|
+
const runFastlane_1 = require("./functions/runFastlane");
|
|
19
|
+
function getEasFunctions(ctx) {
|
|
22
20
|
return [
|
|
23
21
|
(0, checkout_1.createCheckoutBuildFunction)(),
|
|
24
22
|
(0, uploadArtifact_1.createUploadArtifactBuildFunction)(ctx),
|
|
25
|
-
(0,
|
|
26
|
-
(0, installNodeModules_1.createInstallNodeModulesBuildFunction)(
|
|
27
|
-
(0, prebuild_1.createPrebuildBuildFunction)(
|
|
28
|
-
(0, buildReactNativeApp_1.createBuildReactNativeAppBuildFunction)(oldCtx),
|
|
23
|
+
(0, useNpmToken_1.createSetUpNpmrcBuildFunction)(),
|
|
24
|
+
(0, installNodeModules_1.createInstallNodeModulesBuildFunction)(),
|
|
25
|
+
(0, prebuild_1.createPrebuildBuildFunction)(),
|
|
29
26
|
(0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(ctx),
|
|
30
27
|
(0, configureEASUpdateIfInstalled_1.configureEASUpdateIfInstalledFunction)(),
|
|
31
28
|
(0, injectAndroidCredentials_1.injectAndroidCredentialsFunction)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"easFunctions.js","sourceRoot":"","sources":["../../src/steps/easFunctions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"easFunctions.js","sourceRoot":"","sources":["../../src/steps/easFunctions.ts"],"names":[],"mappings":";;;AAIA,+DAA+E;AAC/E,mDAAmE;AACnE,yDAAwE;AACxE,uEAAuF;AACvF,mDAAmE;AACnE,yFAAyG;AACzG,6FAAkG;AAClG,mFAAwF;AACxF,iFAAsF;AACtF,qDAA0D;AAC1D,qGAA0G;AAC1G,iFAAsF;AACtF,yEAA8E;AAC9E,yFAA8F;AAC9F,yDAA8D;AAE9D,SAAgB,eAAe,CAAC,GAAuB;IACrD,OAAO;QACL,IAAA,sCAA2B,GAAE;QAC7B,IAAA,kDAAiC,EAAC,GAAG,CAAC;QACtC,IAAA,2CAA6B,GAAE;QAC/B,IAAA,0DAAqC,GAAE;QACvC,IAAA,sCAA2B,GAAE;QAC7B,IAAA,4EAA8C,EAAC,GAAG,CAAC;QACnD,IAAA,qEAAqC,GAAE;QACvC,IAAA,2DAAgC,GAAE;QAClC,IAAA,yDAA+B,GAAE;QACjC,IAAA,6BAAiB,GAAE;QACnB,IAAA,6EAAyC,GAAE;QAC3C,IAAA,yDAA+B,GAAE;QACjC,IAAA,iDAA2B,GAAE;QAC7B,IAAA,iEAAmC,GAAE;QACrC,IAAA,iCAAmB,GAAE;KACtB,CAAC;AACJ,CAAC;AAlBD,0CAkBC","sourcesContent":["import { BuildFunction } from '@expo/steps';\n\nimport { CustomBuildContext } from '../customBuildContext';\n\nimport { createUploadArtifactBuildFunction } from './functions/uploadArtifact';\nimport { createCheckoutBuildFunction } from './functions/checkout';\nimport { createSetUpNpmrcBuildFunction } from './functions/useNpmToken';\nimport { createInstallNodeModulesBuildFunction } from './functions/installNodeModules';\nimport { createPrebuildBuildFunction } from './functions/prebuild';\nimport { createFindAndUploadBuildArtifactsBuildFunction } from './functions/findAndUploadBuildArtifacts';\nimport { configureEASUpdateIfInstalledFunction } from './functions/configureEASUpdateIfInstalled';\nimport { injectAndroidCredentialsFunction } from './functions/injectAndroidCredentials';\nimport { configureAndroidVersionFunction } from './functions/configureAndroidVersion';\nimport { runGradleFunction } from './functions/runGradle';\nimport { resolveAppleTeamIdFromCredentialsFunction } from './functions/resolveAppleTeamIdFromCredentials';\nimport { configureIosCredentialsFunction } from './functions/configureIosCredentials';\nimport { configureIosVersionFunction } from './functions/configureIosVersion';\nimport { generateGymfileFromTemplateFunction } from './functions/generateGymfileFromTemplate';\nimport { runFastlaneFunction } from './functions/runFastlane';\n\nexport function getEasFunctions(ctx: CustomBuildContext): BuildFunction[] {\n return [\n createCheckoutBuildFunction(),\n createUploadArtifactBuildFunction(ctx),\n createSetUpNpmrcBuildFunction(),\n createInstallNodeModulesBuildFunction(),\n createPrebuildBuildFunction(),\n createFindAndUploadBuildArtifactsBuildFunction(ctx),\n configureEASUpdateIfInstalledFunction(),\n injectAndroidCredentialsFunction(),\n configureAndroidVersionFunction(),\n runGradleFunction(),\n resolveAppleTeamIdFromCredentialsFunction(),\n configureIosCredentialsFunction(),\n configureIosVersionFunction(),\n generateGymfileFromTemplateFunction(),\n runFastlaneFunction(),\n ];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/steps/functions/checkout.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA4C;AAC5C,wDAA0B;AAE1B,SAAgB,2BAA2B;IACzC,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACrB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACvD,MAAM,kBAAE,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EACtC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EACtC;gBACE,SAAS,EAAE,IAAI;aAChB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAhBD,kEAgBC","sourcesContent":["import { BuildFunction } from '@expo/steps';\nimport fs from 'fs-extra';\n\nexport function createCheckoutBuildFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'checkout',\n name: 'Checkout',\n fn: async (stepsCtx) => {\n stepsCtx.logger.info('Checking out project directory');\n await fs.move(\n stepsCtx.global.projectSourceDirectory,\n stepsCtx.global.projectTargetDirectory,\n {\n overwrite: true,\n }\n );\n },\n });\n}\n"]}
|
package/dist/steps/functions/{utils/configureAndroidVersion.js → configureAndroidVersion.js}
RENAMED
|
@@ -4,32 +4,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.configureAndroidVersionFunction = void 0;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
8
|
const steps_1 = require("@expo/steps");
|
|
8
9
|
const semver_1 = __importDefault(require("semver"));
|
|
9
|
-
const gradleConfig_1 = require("
|
|
10
|
+
const gradleConfig_1 = require("../utils/android/gradleConfig");
|
|
10
11
|
function configureAndroidVersionFunction() {
|
|
11
12
|
return new steps_1.BuildFunction({
|
|
12
|
-
namespace: '
|
|
13
|
+
namespace: 'eas',
|
|
13
14
|
id: 'configure_android_version',
|
|
14
15
|
name: 'Configure Android version',
|
|
15
16
|
inputProviders: [
|
|
16
17
|
steps_1.BuildStepInput.createProvider({
|
|
17
18
|
id: 'version_name',
|
|
18
|
-
required:
|
|
19
|
+
required: false,
|
|
19
20
|
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.STRING,
|
|
20
|
-
defaultValue: '${ eas.job.version.versionName }',
|
|
21
21
|
}),
|
|
22
22
|
steps_1.BuildStepInput.createProvider({
|
|
23
23
|
id: 'version_code',
|
|
24
|
-
required:
|
|
25
|
-
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.
|
|
26
|
-
defaultValue: '${ eas.job.version.versionCode }',
|
|
24
|
+
required: false,
|
|
25
|
+
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.STRING,
|
|
27
26
|
}),
|
|
28
27
|
],
|
|
29
28
|
fn: async (stepCtx, { inputs }) => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
var _a, _b, _c, _d;
|
|
30
|
+
(0, assert_1.default)(stepCtx.global.staticContext.job, 'Job is not defined');
|
|
31
|
+
const job = stepCtx.global.staticContext.job;
|
|
32
|
+
const versionCode = (_a = inputs.version_code.value) !== null && _a !== void 0 ? _a : (_b = job.version) === null || _b === void 0 ? void 0 : _b.versionCode;
|
|
33
|
+
const versionName = (_c = inputs.version_name.value) !== null && _c !== void 0 ? _c : (_d = job.version) === null || _d === void 0 ? void 0 : _d.versionName;
|
|
34
|
+
if (versionName && !semver_1.default.valid(versionName)) {
|
|
33
35
|
throw new Error(`Version name provided by the "version_name" input is not a valid semver version: ${versionName}`);
|
|
34
36
|
}
|
|
35
37
|
await (0, gradleConfig_1.injectConfigureVersionGradleConfig)(stepCtx.logger, stepCtx.workingDirectory, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureAndroidVersion.js","sourceRoot":"","sources":["../../../src/steps/functions/configureAndroidVersion.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,uCAAyF;AACzF,oDAA4B;AAG5B,gEAAmF;AAEnF,SAAgB,+BAA+B;IAC7C,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,2BAA2B;QACjC,cAAc,EAAE;YACd,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,cAAc;gBAClB,QAAQ,EAAE,KAAK;gBACf,oBAAoB,EAAE,mCAA2B,CAAC,MAAM;aACzD,CAAC;YACF,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,cAAc;gBAClB,QAAQ,EAAE,KAAK;gBACf,oBAAoB,EAAE,mCAA2B,CAAC,MAAM;aACzD,CAAC;SACH;QACD,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;;YAChC,IAAA,gBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAkB,CAAC;YAE5D,MAAM,WAAW,GACf,MAAC,MAAM,CAAC,YAAY,CAAC,KAA4B,mCAAI,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;YAChF,MAAM,WAAW,GACf,MAAC,MAAM,CAAC,YAAY,CAAC,KAA4B,mCAAI,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,CAAC;YAChF,IAAI,WAAW,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAC7C,MAAM,IAAI,KAAK,CACb,oFAAoF,WAAW,EAAE,CAClG,CAAC;aACH;YACD,MAAM,IAAA,iDAAkC,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBACjF,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AApCD,0EAoCC","sourcesContent":["import assert from 'assert';\n\nimport { BuildFunction, BuildStepInput, BuildStepInputValueTypeName } from '@expo/steps';\nimport semver from 'semver';\nimport { Android } from '@expo/eas-build-job';\n\nimport { injectConfigureVersionGradleConfig } from '../utils/android/gradleConfig';\n\nexport function configureAndroidVersionFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'configure_android_version',\n name: 'Configure Android version',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'version_name',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n BuildStepInput.createProvider({\n id: 'version_code',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n fn: async (stepCtx, { inputs }) => {\n assert(stepCtx.global.staticContext.job, 'Job is not defined');\n const job = stepCtx.global.staticContext.job as Android.Job;\n\n const versionCode =\n (inputs.version_code.value as string | undefined) ?? job.version?.versionCode;\n const versionName =\n (inputs.version_name.value as string | undefined) ?? job.version?.versionName;\n if (versionName && !semver.valid(versionName)) {\n throw new Error(\n `Version name provided by the \"version_name\" input is not a valid semver version: ${versionName}`\n );\n }\n await injectConfigureVersionGradleConfig(stepCtx.logger, stepCtx.workingDirectory, {\n versionCode,\n versionName,\n });\n },\n });\n}\n"]}
|
|
@@ -7,13 +7,13 @@ exports.configureEASUpdateIfInstalledFunction = void 0;
|
|
|
7
7
|
const assert_1 = __importDefault(require("assert"));
|
|
8
8
|
const steps_1 = require("@expo/steps");
|
|
9
9
|
const semver_1 = __importDefault(require("semver"));
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const expoUpdates_1 = require("../utils/expoUpdates");
|
|
11
|
+
const appConfig_1 = require("../../utils/appConfig");
|
|
12
12
|
function configureEASUpdateIfInstalledFunction() {
|
|
13
13
|
return new steps_1.BuildFunction({
|
|
14
14
|
namespace: 'eas',
|
|
15
|
-
id: '
|
|
16
|
-
name: 'Configure EAS Update
|
|
15
|
+
id: 'configure_eas_update',
|
|
16
|
+
name: 'Configure EAS Update',
|
|
17
17
|
inputProviders: [
|
|
18
18
|
steps_1.BuildStepInput.createProvider({
|
|
19
19
|
id: 'runtime_version',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureEASUpdateIfInstalled.js","sourceRoot":"","sources":["../../../src/steps/functions/configureEASUpdateIfInstalled.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,uCAAyF;AAEzF,oDAA4B;AAE5B,sDAA0E;AAC1E,qDAAsD;AAEtD,SAAgB,qCAAqC;IACnD,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sBAAsB;QAC5B,cAAc,EAAE;YACd,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,iBAAiB;gBACrB,QAAQ,EAAE,KAAK;gBACf,oBAAoB,EAAE,mCAA2B,CAAC,MAAM;aACzD,CAAC;YACF,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,SAAS;gBACb,QAAQ,EAAE,KAAK;gBACf,oBAAoB,EAAE,mCAA2B,CAAC,MAAM;aACzD,CAAC;SACH;QACD,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;YACrC,IAAA,gBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAU,CAAC;YAEpD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAC7B,OAAO,CAAC,gBAAgB,EACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;;gBACnC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAA4B,CAAC,EAChC,OAAO,CAAC,MAAM,CACf,CAAC,GAAG,CAAC;YAEN,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,KAA2B,CAAC;YACvE,MAAM,mBAAmB,GAAG,MAAM,CAAC,eAAe,CAAC,KAA2B,CAAC;YAC/E,IAAI,mBAAmB,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;gBAC7D,MAAM,IAAI,KAAK,CACb,0FAA0F,mBAAmB,EAAE,CAChH,CAAC;aACH;YAED,MAAM,IAAA,gDAAkC,EAAC;gBACvC,GAAG;gBACH,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS;gBACT,MAAM,EAAE;oBACN,cAAc,EAAE,mBAAmB;oBACnC,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAlDD,sFAkDC","sourcesContent":["import assert from 'assert';\n\nimport { BuildFunction, BuildStepInput, BuildStepInputValueTypeName } from '@expo/steps';\nimport { Job } from '@expo/eas-build-job';\nimport semver from 'semver';\n\nimport { configureEASUpdateIfInstalledAsync } from '../utils/expoUpdates';\nimport { readAppConfig } from '../../utils/appConfig';\n\nexport function configureEASUpdateIfInstalledFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'configure_eas_update',\n name: 'Configure EAS Update',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'runtime_version',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n BuildStepInput.createProvider({\n id: 'channel',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n fn: async (stepCtx, { env, inputs }) => {\n assert(stepCtx.global.staticContext.job, 'Job is not defined');\n const job = stepCtx.global.staticContext.job as Job;\n\n const appConfig = readAppConfig(\n stepCtx.workingDirectory,\n Object.keys(env).reduce((acc, key) => {\n acc[key] = env[key] ?? '';\n return acc;\n }, {} as Record<string, string>),\n stepCtx.logger\n ).exp;\n\n const releaseChannelInput = inputs.channel.value as string | undefined;\n const runtimeVersionInput = inputs.runtime_version.value as string | undefined;\n if (runtimeVersionInput && !semver.valid(runtimeVersionInput)) {\n throw new Error(\n `Runtime version provided by the \"runtime_version\" input is not a valid semver version: ${releaseChannelInput}`\n );\n }\n\n await configureEASUpdateIfInstalledAsync({\n job,\n workingDirectory: stepCtx.workingDirectory,\n logger: stepCtx.logger,\n appConfig,\n inputs: {\n runtimeVersion: runtimeVersionInput,\n channel: releaseChannelInput,\n },\n });\n },\n });\n}\n"]}
|
package/dist/steps/functions/{utils/configureIosCredentials.js → configureIosCredentials.js}
RENAMED
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.configureIosCredentialsFunction = void 0;
|
|
7
7
|
const assert_1 = __importDefault(require("assert"));
|
|
8
8
|
const steps_1 = require("@expo/steps");
|
|
9
|
-
const manager_1 = __importDefault(require("
|
|
10
|
-
const credentials_1 = require("
|
|
11
|
-
const configure_1 = require("
|
|
12
|
-
const resolve_1 = require("
|
|
9
|
+
const manager_1 = __importDefault(require("../utils/ios/credentials/manager"));
|
|
10
|
+
const credentials_1 = require("../utils/ios/credentials/credentials");
|
|
11
|
+
const configure_1 = require("../utils/ios/configure");
|
|
12
|
+
const resolve_1 = require("../utils/ios/resolve");
|
|
13
13
|
function configureIosCredentialsFunction() {
|
|
14
14
|
return new steps_1.BuildFunction({
|
|
15
|
-
namespace: '
|
|
15
|
+
namespace: 'eas',
|
|
16
16
|
id: 'configure_ios_credentials',
|
|
17
17
|
name: 'Configure iOS credentials',
|
|
18
18
|
inputProviders: [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureIosCredentials.js","sourceRoot":"","sources":["../../../src/steps/functions/configureIosCredentials.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,uCAAyF;AAGzF,+EAAqE;AACrE,sEAAiF;AACjF,sDAAmE;AACnE,kDAAiE;AAEjE,SAAgB,+BAA+B;IAC7C,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,2BAA2B;QACjC,cAAc,EAAE;YACd,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,aAAa;gBACjB,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,mCAA2B,CAAC,IAAI;gBACtD,YAAY,EAAE,uCAAuC;aACtD,CAAC;YACF,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,qBAAqB;gBACzB,QAAQ,EAAE,KAAK;gBACf,oBAAoB,EAAE,mCAA2B,CAAC,MAAM;aACzD,CAAC;SACH;QACD,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAChC,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,KAA4B,CAAC;YAC5E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,uCAAyB,CAAC,QAAQ,CAAC,mBAAmB,EAAE;gBAC/E,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,IAAI,KAAK,EAAE;gBACT,MAAM,KAAK,CAAC;aACb;YAED,MAAM,kBAAkB,GAAG,IAAI,iBAAqB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAErE,IAAA,gBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAc,CAAC;YAExD,MAAM,IAAA,qCAAyB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE;gBACxE,WAAW;gBACX,kBAAkB,EAAE,IAAA,mCAAyB,EAC3C,GAAG,EACH,MAAM,CAAC,mBAAmB,CAAC,KAA2B,CACvD;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACjE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AA9CD,0EA8CC","sourcesContent":["import assert from 'assert';\n\nimport { BuildFunction, BuildStepInput, BuildStepInputValueTypeName } from '@expo/steps';\nimport { Ios } from '@expo/eas-build-job';\n\nimport IosCredentialsManager from '../utils/ios/credentials/manager';\nimport { IosBuildCredentialsSchema } from '../utils/ios/credentials/credentials';\nimport { configureCredentialsAsync } from '../utils/ios/configure';\nimport { resolveBuildConfiguration } from '../utils/ios/resolve';\n\nexport function configureIosCredentialsFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'configure_ios_credentials',\n name: 'Configure iOS credentials',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'credentials',\n required: true,\n allowedValueTypeName: BuildStepInputValueTypeName.JSON,\n defaultValue: '${ eas.job.secrets.buildCredentials }',\n }),\n BuildStepInput.createProvider({\n id: 'build_configuration',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n fn: async (stepCtx, { inputs }) => {\n const rawCredentialsInput = inputs.credentials.value as Record<string, any>;\n const { value, error } = IosBuildCredentialsSchema.validate(rawCredentialsInput, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n }\n\n const credentialsManager = new IosCredentialsManager(value);\n const credentials = await credentialsManager.prepare(stepCtx.logger);\n\n assert(stepCtx.global.staticContext.job, 'Job is not defined');\n const job = stepCtx.global.staticContext.job as Ios.Job;\n\n await configureCredentialsAsync(stepCtx.logger, stepCtx.workingDirectory, {\n credentials,\n buildConfiguration: resolveBuildConfiguration(\n job,\n inputs.build_configuration.value as string | undefined\n ),\n });\n\n stepCtx.logger.info('Successfully configured iOS credentials');\n },\n });\n}\n"]}
|
|
@@ -7,13 +7,13 @@ exports.configureIosVersionFunction = void 0;
|
|
|
7
7
|
const assert_1 = __importDefault(require("assert"));
|
|
8
8
|
const steps_1 = require("@expo/steps");
|
|
9
9
|
const semver_1 = __importDefault(require("semver"));
|
|
10
|
-
const credentials_1 = require("
|
|
11
|
-
const manager_1 = __importDefault(require("
|
|
12
|
-
const configure_1 = require("
|
|
13
|
-
const resolve_1 = require("
|
|
10
|
+
const credentials_1 = require("../utils/ios/credentials/credentials");
|
|
11
|
+
const manager_1 = __importDefault(require("../utils/ios/credentials/manager"));
|
|
12
|
+
const configure_1 = require("../utils/ios/configure");
|
|
13
|
+
const resolve_1 = require("../utils/ios/resolve");
|
|
14
14
|
function configureIosVersionFunction() {
|
|
15
15
|
return new steps_1.BuildFunction({
|
|
16
|
-
namespace: '
|
|
16
|
+
namespace: 'eas',
|
|
17
17
|
id: 'configure_ios_version',
|
|
18
18
|
name: 'Configure iOS version',
|
|
19
19
|
inputProviders: [
|
|
@@ -30,18 +30,17 @@ function configureIosVersionFunction() {
|
|
|
30
30
|
}),
|
|
31
31
|
steps_1.BuildStepInput.createProvider({
|
|
32
32
|
id: 'build_number',
|
|
33
|
-
required:
|
|
33
|
+
required: false,
|
|
34
34
|
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.STRING,
|
|
35
|
-
defaultValue: '${ eas.job.version.buildNumber }',
|
|
36
35
|
}),
|
|
37
36
|
steps_1.BuildStepInput.createProvider({
|
|
38
37
|
id: 'app_version',
|
|
39
|
-
required:
|
|
38
|
+
required: false,
|
|
40
39
|
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.STRING,
|
|
41
|
-
defaultValue: '${ eas.job.version.appVersion }',
|
|
42
40
|
}),
|
|
43
41
|
],
|
|
44
42
|
fn: async (stepCtx, { inputs }) => {
|
|
43
|
+
var _a, _b, _c, _d;
|
|
45
44
|
const rawCredentialsInput = inputs.credentials.value;
|
|
46
45
|
const { value, error } = credentials_1.IosBuildCredentialsSchema.validate(rawCredentialsInput, {
|
|
47
46
|
stripUnknown: true,
|
|
@@ -55,14 +54,18 @@ function configureIosVersionFunction() {
|
|
|
55
54
|
const credentials = await credentialsManager.prepare(stepCtx.logger);
|
|
56
55
|
(0, assert_1.default)(stepCtx.global.staticContext.job, 'Job is not defined');
|
|
57
56
|
const job = stepCtx.global.staticContext.job;
|
|
58
|
-
const buildNumber = inputs.build_number.value;
|
|
59
|
-
const appVersion = inputs.app_version.value;
|
|
60
|
-
if (!semver_1.default.valid(appVersion)) {
|
|
57
|
+
const buildNumber = (_a = inputs.build_number.value) !== null && _a !== void 0 ? _a : (_b = job.version) === null || _b === void 0 ? void 0 : _b.buildNumber;
|
|
58
|
+
const appVersion = (_c = inputs.app_version.value) !== null && _c !== void 0 ? _c : (_d = job.version) === null || _d === void 0 ? void 0 : _d.appVersion;
|
|
59
|
+
if (appVersion && !semver_1.default.valid(appVersion)) {
|
|
61
60
|
throw new Error(`App verrsion provided by the "app_version" input is not a valid semver version: ${appVersion}`);
|
|
62
61
|
}
|
|
63
62
|
stepCtx.logger.info('Setting iOS version...');
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
if (buildNumber) {
|
|
64
|
+
stepCtx.logger.info(`Build number: ${buildNumber}`);
|
|
65
|
+
}
|
|
66
|
+
if (appVersion) {
|
|
67
|
+
stepCtx.logger.info(`App version: ${appVersion}`);
|
|
68
|
+
}
|
|
66
69
|
await (0, configure_1.updateVersionsAsync)(stepCtx.logger, stepCtx.workingDirectory, {
|
|
67
70
|
buildNumber,
|
|
68
71
|
appVersion,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureIosVersion.js","sourceRoot":"","sources":["../../../src/steps/functions/configureIosVersion.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'assert';\n\nimport { BuildFunction, BuildStepInput, BuildStepInputValueTypeName } from '@expo/steps';\nimport { Ios } from '@expo/eas-build-job';\nimport semver from 'semver';\n\nimport { IosBuildCredentialsSchema } from '../utils/ios/credentials/credentials';\nimport IosCredentialsManager from '../utils/ios/credentials/manager';\nimport { updateVersionsAsync } from '../utils/ios/configure';\nimport { resolveBuildConfiguration } from '../utils/ios/resolve';\n\nexport function configureIosVersionFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'configure_ios_version',\n name: 'Configure iOS version',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'credentials',\n required: true,\n allowedValueTypeName: BuildStepInputValueTypeName.JSON,\n defaultValue: '${ eas.job.secrets.buildCredentials }',\n }),\n BuildStepInput.createProvider({\n id: 'build_configuration',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n BuildStepInput.createProvider({\n id: 'build_number',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n BuildStepInput.createProvider({\n id: 'app_version',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n fn: async (stepCtx, { inputs }) => {\n const rawCredentialsInput = inputs.credentials.value as Record<string, any>;\n const { value, error } = IosBuildCredentialsSchema.validate(rawCredentialsInput, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n }\n\n const credentialsManager = new IosCredentialsManager(value);\n const credentials = await credentialsManager.prepare(stepCtx.logger);\n\n assert(stepCtx.global.staticContext.job, 'Job is not defined');\n const job = stepCtx.global.staticContext.job as Ios.Job;\n\n const buildNumber =\n (inputs.build_number.value as string | undefined) ?? job.version?.buildNumber;\n const appVersion =\n (inputs.app_version.value as string | undefined) ?? job.version?.appVersion;\n if (appVersion && !semver.valid(appVersion)) {\n throw new Error(\n `App verrsion provided by the \"app_version\" input is not a valid semver version: ${appVersion}`\n );\n }\n\n stepCtx.logger.info('Setting iOS version...');\n if (buildNumber) {\n stepCtx.logger.info(`Build number: ${buildNumber}`);\n }\n if (appVersion) {\n stepCtx.logger.info(`App version: ${appVersion}`);\n }\n\n await updateVersionsAsync(\n stepCtx.logger,\n stepCtx.workingDirectory,\n {\n buildNumber,\n appVersion,\n },\n {\n targetNames: Object.keys(credentials.targetProvisioningProfiles),\n buildConfiguration: resolveBuildConfiguration(\n job,\n inputs.build_configuration.value as string | undefined\n ),\n }\n );\n },\n });\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { BuildFunction } from '@expo/steps';
|
|
2
|
-
import { CustomBuildContext } from '
|
|
2
|
+
import { CustomBuildContext } from '../../customBuildContext';
|
|
3
3
|
export declare function createFindAndUploadBuildArtifactsBuildFunction(ctx: CustomBuildContext): BuildFunction;
|
package/dist/steps/functions/{eas/findAndUploadBuildArtifacts.js → findAndUploadBuildArtifacts.js}
RENAMED
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createFindAndUploadBuildArtifactsBuildFunction = void 0;
|
|
4
4
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
5
5
|
const steps_1 = require("@expo/steps");
|
|
6
|
-
const context_1 = require("
|
|
7
|
-
const artifacts_1 = require("
|
|
8
|
-
const xcodeBuildLogs_1 = require("
|
|
6
|
+
const context_1 = require("../../context");
|
|
7
|
+
const artifacts_1 = require("../../utils/artifacts");
|
|
8
|
+
const xcodeBuildLogs_1 = require("../../ios/xcodeBuildLogs");
|
|
9
9
|
function createFindAndUploadBuildArtifactsBuildFunction(ctx) {
|
|
10
10
|
return new steps_1.BuildFunction({
|
|
11
11
|
namespace: 'eas',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findAndUploadBuildArtifacts.js","sourceRoot":"","sources":["../../../src/steps/functions/findAndUploadBuildArtifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { Ios, Platform } from '@expo/eas-build-job';\nimport { BuildFunction } from '@expo/steps';\n\nimport { ArtifactType } from '../../context';\nimport { findArtifacts } from '../../utils/artifacts';\nimport { findXcodeBuildLogsPathAsync } from '../../ios/xcodeBuildLogs';\nimport { CustomBuildContext } from '../../customBuildContext';\n\nexport function createFindAndUploadBuildArtifactsBuildFunction(\n ctx: CustomBuildContext\n): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'find_and_upload_build_artifacts',\n name: 'Find and upload build artifacts',\n fn: async (stepCtx) => {\n const { logger } = stepCtx;\n const applicationArchivePatternOrPath =\n ctx.job.platform === Platform.ANDROID\n ? ctx.job.applicationArchivePath ?? 'android/app/build/outputs/**/*.{apk,aab}'\n : resolveIosArtifactPath(ctx.job);\n const applicationArchives = await findArtifacts(\n stepCtx.workingDirectory,\n applicationArchivePatternOrPath,\n logger\n );\n logger.info(\n `Application archive${\n applicationArchives.length > 1 ? 's' : ''\n }: ${applicationArchives.join(', ')}`\n );\n const buildArtifacts = (\n await Promise.all(\n (ctx.job.buildArtifactPaths ?? []).map((path) =>\n findArtifacts(ctx.projectTargetDirectory, path, logger)\n )\n )\n ).flat();\n if (buildArtifacts.length > 0) {\n logger.info(`Found additional build artifacts: ${buildArtifacts.join(', ')}`);\n }\n\n logger.info('Uploading...');\n const [archiveUpload, artifactsUpload, xcodeBuildLogsUpload] = await Promise.allSettled([\n ctx.runtimeApi.uploadArtifacts(\n ArtifactType.APPLICATION_ARCHIVE,\n applicationArchives,\n logger\n ),\n (async () => {\n if (buildArtifacts.length > 0) {\n await ctx.runtimeApi.uploadArtifacts(\n ArtifactType.BUILD_ARTIFACTS,\n buildArtifacts,\n logger\n );\n }\n })(),\n (async () => {\n if (ctx.job.platform !== Platform.IOS) {\n return;\n }\n const xcodeBuildLogsPath = await findXcodeBuildLogsPathAsync(\n stepCtx.global.buildLogsDirectory\n );\n if (xcodeBuildLogsPath) {\n await ctx.runtimeApi.uploadArtifacts(\n ArtifactType.XCODE_BUILD_LOGS,\n [xcodeBuildLogsPath],\n logger\n );\n }\n })(),\n ]);\n if (archiveUpload.status === 'rejected') {\n logger.error('Failed to upload application archive.');\n throw archiveUpload.reason;\n }\n if (artifactsUpload.status === 'rejected') {\n logger.error('Failed to upload build artifacts.');\n throw artifactsUpload.reason;\n }\n if (xcodeBuildLogsUpload.status === 'rejected') {\n logger.error(`Failed to upload Xcode build logs. ${xcodeBuildLogsUpload.reason}`);\n }\n logger.info('Upload finished');\n },\n });\n}\n\nfunction resolveIosArtifactPath(job: Ios.Job): string {\n if (job.applicationArchivePath) {\n return job.applicationArchivePath;\n } else if (job.simulator) {\n return 'ios/build/Build/Products/*simulator/*.app';\n } else {\n return 'ios/build/*.ipa';\n }\n}\n"]}
|
package/dist/steps/functions/{utils/generateGymfileFromTemplate.js → generateGymfileFromTemplate.js}
RENAMED
|
@@ -13,10 +13,10 @@ const config_plugins_1 = require("@expo/config-plugins");
|
|
|
13
13
|
const plist_1 = __importDefault(require("@expo/plist"));
|
|
14
14
|
const template_file_1 = __importDefault(require("@expo/template-file"));
|
|
15
15
|
const uuid_1 = require("uuid");
|
|
16
|
-
const credentials_1 = require("
|
|
17
|
-
const manager_1 = __importDefault(require("
|
|
18
|
-
const resolve_1 = require("
|
|
19
|
-
const tvos_1 = require("
|
|
16
|
+
const credentials_1 = require("../utils/ios/credentials/credentials");
|
|
17
|
+
const manager_1 = __importDefault(require("../utils/ios/credentials/manager"));
|
|
18
|
+
const resolve_1 = require("../utils/ios/resolve");
|
|
19
|
+
const tvos_1 = require("../utils/ios/tvos");
|
|
20
20
|
const DEFAULT_CREDENTIALS_TEMPLATE = `
|
|
21
21
|
suppress_xcode_output(true)
|
|
22
22
|
clean(<%- CLEAN %>)
|
|
@@ -61,7 +61,7 @@ const DEFAULT_SIMULATOR_TEMPLATE = `
|
|
|
61
61
|
`;
|
|
62
62
|
function generateGymfileFromTemplateFunction() {
|
|
63
63
|
return new steps_1.BuildFunction({
|
|
64
|
-
namespace: '
|
|
64
|
+
namespace: 'eas',
|
|
65
65
|
id: 'generate_gymfile_from_template',
|
|
66
66
|
name: 'Generate Gymfile from template',
|
|
67
67
|
inputProviders: [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateGymfileFromTemplate.js","sourceRoot":"","sources":["../../../src/steps/functions/generateGymfileFromTemplate.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'assert';\nimport path from 'path';\nimport os from 'os';\n\nimport fs from 'fs-extra';\nimport { BuildFunction, BuildStepInput, BuildStepInputValueTypeName } from '@expo/steps';\nimport { Ios } from '@expo/eas-build-job';\nimport { IOSConfig } from '@expo/config-plugins';\nimport plist from '@expo/plist';\nimport { bunyan } from '@expo/logger';\nimport templateFile from '@expo/template-file';\nimport { v4 as uuid } from 'uuid';\n\nimport { IosBuildCredentialsSchema } from '../utils/ios/credentials/credentials';\nimport IosCredentialsManager, { Credentials } from '../utils/ios/credentials/manager';\nimport { resolveBuildConfiguration, resolveScheme } from '../utils/ios/resolve';\nimport { isTVOS } from '../utils/ios/tvos';\n\nconst DEFAULT_CREDENTIALS_TEMPLATE = `\n suppress_xcode_output(true)\n clean(<%- CLEAN %>)\n\n scheme(\"<%- SCHEME %>\")\n <% if (BUILD_CONFIGURATION) { %>\n configuration(\"<%- BUILD_CONFIGURATION %>\")\n <% } %>\n\n export_options({\n method: \"<%- EXPORT_METHOD %>\",\n provisioningProfiles: {<% _.forEach(PROFILES, function(profile) { %>\n \"<%- profile.BUNDLE_ID %>\" => \"<%- profile.UUID %>\",<% }); %>\n }<% if (ICLOUD_CONTAINER_ENVIRONMENT) { %>,\n iCloudContainerEnvironment: \"<%- ICLOUD_CONTAINER_ENVIRONMENT %>\"\n <% } %>\n })\n\n export_xcargs \"OTHER_CODE_SIGN_FLAGS=\\\\\"--keychain <%- KEYCHAIN_PATH %>\\\\\"\"\n\n disable_xcpretty(true)\n buildlog_path(\"<%- LOGS_DIRECTORY %>\")\n\n output_directory(\"<%- OUTPUT_DIRECTORY %>\")\n`;\n\nconst DEFAULT_SIMULATOR_TEMPLATE = `\n suppress_xcode_output(true)\n clean(<%- CLEAN %>)\n\n scheme(\"<%- SCHEME %>\")\n <% if (BUILD_CONFIGURATION) { %>\n configuration(\"<%- BUILD_CONFIGURATION %>\")\n <% } %>\n\n derived_data_path(\"<%- DERIVED_DATA_PATH %>\")\n skip_package_ipa(true)\n skip_archive(true)\n destination(\"<%- SCHEME_SIMULATOR_DESTINATION %>\")\n\n disable_xcpretty(true)\n buildlog_path(\"<%- LOGS_DIRECTORY %>\")\n`;\n\nexport function generateGymfileFromTemplateFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'generate_gymfile_from_template',\n name: 'Generate Gymfile from template',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'template',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n BuildStepInput.createProvider({\n id: 'credentials',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.JSON,\n }),\n BuildStepInput.createProvider({\n id: 'build_configuration',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n BuildStepInput.createProvider({\n id: 'scheme',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n BuildStepInput.createProvider({\n id: 'clean',\n required: true,\n allowedValueTypeName: BuildStepInputValueTypeName.BOOLEAN,\n defaultValue: false,\n }),\n BuildStepInput.createProvider({\n id: 'extra',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.JSON,\n }),\n ],\n fn: async (stepCtx, { inputs }) => {\n let credentials: Credentials | undefined = undefined;\n const rawCredentialsInput = inputs.credentials.value as Record<string, any> | undefined;\n if (rawCredentialsInput) {\n const { value, error } = IosBuildCredentialsSchema.validate(rawCredentialsInput, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n }\n\n const credentialsManager = new IosCredentialsManager(value);\n credentials = await credentialsManager.prepare(stepCtx.logger);\n }\n\n const extra: Record<string, any> =\n (inputs.extra.value as Record<string, any> | undefined) ?? {};\n\n const templateInput = inputs.template.value as string | undefined;\n\n let template: string;\n if (templateInput) {\n template = templateInput;\n } else if (credentials) {\n template = DEFAULT_CREDENTIALS_TEMPLATE;\n } else {\n template = DEFAULT_SIMULATOR_TEMPLATE;\n }\n\n assert(stepCtx.global.staticContext.job, 'Job is not defined');\n const job = stepCtx.global.staticContext.job as Ios.Job;\n const buildConfiguration = resolveBuildConfiguration(\n job,\n inputs.build_configuration.value as string | undefined\n );\n const scheme = resolveScheme(\n stepCtx.workingDirectory,\n job,\n inputs.scheme.value as string | undefined\n );\n const entitlements = await maybeReadEntitlementsAsync(\n stepCtx.logger,\n stepCtx.workingDirectory,\n scheme,\n buildConfiguration\n );\n\n const templatePath = await saveTemplateToTemporaryFileAsync(template);\n\n const gymfilePath = path.join(stepCtx.workingDirectory, 'ios/Gymfile');\n\n const PROFILES: { BUNDLE_ID: string; UUID: string }[] = [];\n if (credentials) {\n const targets = Object.keys(credentials.targetProvisioningProfiles);\n for (const target of targets) {\n const profile = credentials.targetProvisioningProfiles[target];\n PROFILES.push({\n BUNDLE_ID: profile.bundleIdentifier,\n UUID: profile.uuid,\n });\n }\n }\n\n const ICLOUD_CONTAINER_ENVIRONMENT = (\n entitlements as Record<string, string | Record<string, string>>\n )?.['com.apple.developer.icloud-container-environment'] as string | undefined;\n\n const isTV = await isTVOS({\n scheme,\n buildConfiguration,\n workingDir: stepCtx.workingDirectory,\n });\n const simulatorDestination = `generic/platform=${isTV ? 'tvOS' : 'iOS'} Simulator`;\n\n await createGymfile({\n template: templatePath,\n outputFile: gymfilePath,\n vars: {\n SCHEME: scheme,\n BUILD_CONFIGURATION: buildConfiguration,\n OUTPUT_DIRECTORY: './build',\n CLEAN: String(inputs.clean.value),\n LOGS_DIRECTORY: stepCtx.global.buildLogsDirectory,\n ICLOUD_CONTAINER_ENVIRONMENT,\n SCHEME_SIMULATOR_DESTINATION: simulatorDestination,\n DERIVED_DATA_PATH: './build',\n ...(PROFILES ? { PROFILES } : {}),\n ...(credentials\n ? {\n KEYCHAIN_PATH: credentials.keychainPath,\n EXPORT_METHOD: credentials.distributionType,\n }\n : {}),\n ...extra,\n },\n });\n\n const gymfileContents = await fs.readFile(gymfilePath, 'utf8');\n stepCtx.logger.info(`Successfully generated Gymfile: ${gymfileContents}`);\n },\n });\n}\n\nasync function maybeReadEntitlementsAsync(\n logger: bunyan,\n workingDir: string,\n scheme: string,\n buildConfiguration: string\n): Promise<object | null> {\n try {\n const applicationTargetName =\n await IOSConfig.BuildScheme.getApplicationTargetNameForSchemeAsync(workingDir, scheme);\n const entitlementsPath = IOSConfig.Entitlements.getEntitlementsPath(workingDir, {\n buildConfiguration,\n targetName: applicationTargetName,\n });\n if (!entitlementsPath) {\n return null;\n }\n const entitlementsRaw = await fs.readFile(entitlementsPath, 'utf8');\n return plist.parse(entitlementsRaw);\n } catch (err) {\n logger.warn({ err }, 'Failed to read entitlements');\n return null;\n }\n}\n\nasync function createGymfile({\n template,\n outputFile,\n vars,\n}: {\n template: string;\n outputFile: string;\n vars: Record<string, string | number | any>;\n}): Promise<void> {\n await templateFile(template, vars, outputFile, { mustache: false });\n}\n\nasync function saveTemplateToTemporaryFileAsync(template: string): Promise<string> {\n const directory = path.join(os.tmpdir(), `gymfile-template-${uuid()}`);\n await fs.mkdir(directory, { recursive: true });\n const templatePath = path.join(directory, 'Gymfile.template');\n await fs.writeFile(templatePath, template);\n return templatePath;\n}\n"]}
|
package/dist/steps/functions/{utils/injectAndroidCredentials.js → injectAndroidCredentials.js}
RENAMED
|
@@ -9,7 +9,7 @@ const uuid_1 = require("uuid");
|
|
|
9
9
|
const steps_1 = require("@expo/steps");
|
|
10
10
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
11
11
|
const joi_1 = __importDefault(require("joi"));
|
|
12
|
-
const gradleConfig_1 = require("
|
|
12
|
+
const gradleConfig_1 = require("../utils/android/gradleConfig");
|
|
13
13
|
const KeystoreSchema = joi_1.default.object({
|
|
14
14
|
dataBase64: joi_1.default.string().required(),
|
|
15
15
|
keystorePassword: joi_1.default.string().allow('').required(),
|
|
@@ -21,7 +21,7 @@ const AndroidBuildCredentialsSchema = joi_1.default.object({
|
|
|
21
21
|
}).required();
|
|
22
22
|
function injectAndroidCredentialsFunction() {
|
|
23
23
|
return new steps_1.BuildFunction({
|
|
24
|
-
namespace: '
|
|
24
|
+
namespace: 'eas',
|
|
25
25
|
id: 'inject_android_credentials',
|
|
26
26
|
name: 'Inject Android credentials',
|
|
27
27
|
inputProviders: [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectAndroidCredentials.js","sourceRoot":"","sources":["../../../src/steps/functions/injectAndroidCredentials.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,+BAAoC;AACpC,uCAKqB;AACrB,wDAA0B;AAC1B,8CAAsB;AAGtB,gEAA8E;AAE9E,MAAM,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,aAAG,CAAC,MAAM,CAAiC;IAC/E,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,SAAgB,gCAAgC;IAC9C,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,4BAA4B;QAClC,cAAc,EAAE;YACd,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,aAAa;gBACjB,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,mCAA2B,CAAC,IAAI;gBACtD,YAAY,EAAE,uCAAuC;aACtD,CAAC;SACH;QACD,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAChC,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,KAA4B,CAAC;YAC5E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,6BAA6B,CAAC,QAAQ,CAAC,mBAAmB,EAAE;gBACnF,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,IAAI,KAAK,EAAE;gBACT,MAAM,KAAK,CAAC;aACb;YACD,MAAM,WAAW,GAAG,KAAK,CAAC;YAE1B,MAAM,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,IAAA,4CAA6B,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAChF,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AA7BD,4EA6BC;AAED,KAAK,UAAU,kBAAkB,CAC/B,QAA0B,EAC1B,gBAEC;IAED,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,YAAY,IAAA,SAAM,GAAE,EAAE,CAAC,CAAC;IAC/F,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9F,MAAM,eAAe,GAAG;QACtB,OAAO,EAAE;YACP,QAAQ,EAAE;gBACR,YAAY;gBACZ,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB;gBAC5D,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,QAAQ;gBAC5C,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,WAAW;aACnD;SACF;KACF,CAAC;IACF,MAAM,kBAAE,CAAC,SAAS,CAChB,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,EACrE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;AACJ,CAAC","sourcesContent":["import path from 'path';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n BuildFunction,\n BuildStepContext,\n BuildStepInput,\n BuildStepInputValueTypeName,\n} from '@expo/steps';\nimport fs from 'fs-extra';\nimport Joi from 'joi';\nimport { Android } from '@expo/eas-build-job';\n\nimport { injectCredentialsGradleConfig } from '../utils/android/gradleConfig';\n\nconst KeystoreSchema = Joi.object({\n dataBase64: Joi.string().required(),\n keystorePassword: Joi.string().allow('').required(),\n keyAlias: Joi.string().required(),\n keyPassword: Joi.string().allow(''),\n});\n\nconst AndroidBuildCredentialsSchema = Joi.object<{ keystore: Android.Keystore }>({\n keystore: KeystoreSchema.required(),\n}).required();\n\nexport function injectAndroidCredentialsFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'inject_android_credentials',\n name: 'Inject Android credentials',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'credentials',\n required: true,\n allowedValueTypeName: BuildStepInputValueTypeName.JSON,\n defaultValue: '${ eas.job.secrets.buildCredentials }',\n }),\n ],\n fn: async (stepCtx, { inputs }) => {\n const rawCredentialsInput = inputs.credentials.value as Record<string, any>;\n const { value, error } = AndroidBuildCredentialsSchema.validate(rawCredentialsInput, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n }\n const credentials = value;\n\n await restoreCredentials(stepCtx, credentials);\n await injectCredentialsGradleConfig(stepCtx.logger, stepCtx.workingDirectory);\n },\n });\n}\n\nasync function restoreCredentials(\n stepsCtx: BuildStepContext,\n buildCredentials: {\n keystore: Android.Keystore;\n }\n): Promise<void> {\n stepsCtx.logger.info(\"Writing secrets to the project's directory\");\n const keystorePath = path.join(stepsCtx.global.projectTargetDirectory, `keystore-${uuidv4()}`);\n await fs.writeFile(keystorePath, Buffer.from(buildCredentials.keystore.dataBase64, 'base64'));\n const credentialsJson = {\n android: {\n keystore: {\n keystorePath,\n keystorePassword: buildCredentials.keystore.keystorePassword,\n keyAlias: buildCredentials.keystore.keyAlias,\n keyPassword: buildCredentials.keystore.keyPassword,\n },\n },\n };\n await fs.writeFile(\n path.join(stepsCtx.global.projectTargetDirectory, 'credentials.json'),\n JSON.stringify(credentialsJson)\n );\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BuildFunction, BuildStepEnv } from '@expo/steps';
|
|
2
|
+
import { BuildStepContext } from '@expo/steps/dist_esm/BuildStepContext';
|
|
3
|
+
export declare function createInstallNodeModulesBuildFunction(): BuildFunction;
|
|
4
|
+
export declare function installNodeModules(stepCtx: BuildStepContext, env: BuildStepEnv): Promise<void>;
|
|
@@ -6,22 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.installNodeModules = exports.createInstallNodeModulesBuildFunction = void 0;
|
|
7
7
|
const steps_1 = require("@expo/steps");
|
|
8
8
|
const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
|
|
9
|
-
const packageManager_1 = require("
|
|
10
|
-
const project_1 = require("
|
|
11
|
-
function createInstallNodeModulesBuildFunction(
|
|
9
|
+
const packageManager_1 = require("../../utils/packageManager");
|
|
10
|
+
const project_1 = require("../../utils/project");
|
|
11
|
+
function createInstallNodeModulesBuildFunction() {
|
|
12
12
|
return new steps_1.BuildFunction({
|
|
13
13
|
namespace: 'eas',
|
|
14
14
|
id: 'install_node_modules',
|
|
15
15
|
name: 'Install node modules',
|
|
16
16
|
fn: async (stepCtx, { env }) => {
|
|
17
|
-
await installNodeModules(stepCtx,
|
|
17
|
+
await installNodeModules(stepCtx, env);
|
|
18
18
|
},
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
exports.createInstallNodeModulesBuildFunction = createInstallNodeModulesBuildFunction;
|
|
22
|
-
async function installNodeModules(stepCtx,
|
|
22
|
+
async function installNodeModules(stepCtx, env) {
|
|
23
23
|
const { logger } = stepCtx;
|
|
24
|
-
const packageManager = (0, packageManager_1.resolvePackageManager)(
|
|
24
|
+
const packageManager = (0, packageManager_1.resolvePackageManager)(stepCtx.global.projectTargetDirectory);
|
|
25
25
|
const packagerRunDir = (0, packageManager_1.findPackagerRootDir)(stepCtx.workingDirectory);
|
|
26
26
|
let args = ['install'];
|
|
27
27
|
if (packageManager === packageManager_1.PackageManager.PNPM) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installNodeModules.js","sourceRoot":"","sources":["../../../src/steps/functions/installNodeModules.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0D;AAE1D,sEAAuC;AAEvC,+DAIoC;AACpC,iDAAmD;AAEnD,SAAgB,qCAAqC;IACnD,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sBAAsB;QAC5B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAC7B,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AATD,sFASC;AAEM,KAAK,UAAU,kBAAkB,CACtC,OAAyB,EACzB,GAAiB;IAEjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,cAAc,GAAG,IAAA,sCAAqB,EAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACpF,MAAM,cAAc,GAAG,IAAA,oCAAmB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrE,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,IAAI,cAAc,KAAK,+BAAc,CAAC,IAAI,EAAE;QAC1C,IAAI,GAAG,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;KAC5C;SAAM,IAAI,cAAc,KAAK,+BAAc,CAAC,IAAI,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,IAAA,sBAAY,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE;YACX,IAAI,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;SACtC;KACF;IACD,MAAM,CAAC,IAAI,CAAC,YAAY,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,cAAc,YAAY,CAAC,CAAC;IAC5F,MAAM,IAAA,sBAAK,EAAC,cAAc,EAAE,IAAI,EAAE;QAChC,GAAG,EAAE,cAAc;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG;KACJ,CAAC,CAAC;AACL,CAAC;AAtBD,gDAsBC","sourcesContent":["import { BuildFunction, BuildStepEnv } from '@expo/steps';\nimport { BuildStepContext } from '@expo/steps/dist_esm/BuildStepContext';\nimport spawn from '@expo/turtle-spawn';\n\nimport {\n findPackagerRootDir,\n PackageManager,\n resolvePackageManager,\n} from '../../utils/packageManager';\nimport { isUsingYarn2 } from '../../utils/project';\n\nexport function createInstallNodeModulesBuildFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'install_node_modules',\n name: 'Install node modules',\n fn: async (stepCtx, { env }) => {\n await installNodeModules(stepCtx, env);\n },\n });\n}\n\nexport async function installNodeModules(\n stepCtx: BuildStepContext,\n env: BuildStepEnv\n): Promise<void> {\n const { logger } = stepCtx;\n const packageManager = resolvePackageManager(stepCtx.global.projectTargetDirectory);\n const packagerRunDir = findPackagerRootDir(stepCtx.workingDirectory);\n let args = ['install'];\n if (packageManager === PackageManager.PNPM) {\n args = ['install', '--no-frozen-lockfile'];\n } else if (packageManager === PackageManager.YARN) {\n const isYarn2 = await isUsingYarn2(stepCtx.workingDirectory);\n if (isYarn2) {\n args = ['install', '--no-immutable'];\n }\n }\n logger.info(`Running \"${packageManager} ${args.join(' ')}\" in ${packagerRunDir} directory`);\n await spawn(packageManager, args, {\n cwd: packagerRunDir,\n logger: stepCtx.logger,\n env,\n });\n}\n"]}
|
|
@@ -4,35 +4,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createPrebuildBuildFunction = void 0;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
8
|
const steps_1 = require("@expo/steps");
|
|
8
9
|
const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
|
|
9
|
-
const packageManager_1 = require("
|
|
10
|
+
const packageManager_1 = require("../../utils/packageManager");
|
|
10
11
|
const installNodeModules_1 = require("./installNodeModules");
|
|
11
|
-
function createPrebuildBuildFunction(
|
|
12
|
+
function createPrebuildBuildFunction() {
|
|
12
13
|
return new steps_1.BuildFunction({
|
|
13
14
|
namespace: 'eas',
|
|
14
15
|
id: 'prebuild',
|
|
15
16
|
name: 'Prebuild',
|
|
16
17
|
inputProviders: [
|
|
17
|
-
steps_1.BuildStepInput.createProvider({
|
|
18
|
-
id: 'skip_dependency_update',
|
|
19
|
-
required: false,
|
|
20
|
-
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.STRING,
|
|
21
|
-
}),
|
|
22
18
|
steps_1.BuildStepInput.createProvider({
|
|
23
19
|
id: 'clean',
|
|
24
20
|
defaultValue: false,
|
|
25
21
|
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.BOOLEAN,
|
|
26
22
|
required: true,
|
|
27
23
|
}),
|
|
24
|
+
steps_1.BuildStepInput.createProvider({
|
|
25
|
+
id: 'apple_team_id',
|
|
26
|
+
allowedValueTypeName: steps_1.BuildStepInputValueTypeName.STRING,
|
|
27
|
+
required: false,
|
|
28
|
+
}),
|
|
28
29
|
],
|
|
29
30
|
fn: async (stepCtx, { inputs, env }) => {
|
|
30
31
|
const { logger } = stepCtx;
|
|
31
|
-
|
|
32
|
-
const packageManager = (0, packageManager_1.resolvePackageManager)(
|
|
33
|
-
|
|
32
|
+
const appleTeamId = inputs.apple_team_id.value;
|
|
33
|
+
const packageManager = (0, packageManager_1.resolvePackageManager)(stepCtx.global.projectTargetDirectory);
|
|
34
|
+
(0, assert_1.default)(stepCtx.global.staticContext.job, 'Job is not defined');
|
|
35
|
+
const job = stepCtx.global.staticContext.job;
|
|
36
|
+
const prebuildCommandArgs = getPrebuildCommandArgs(job, {
|
|
34
37
|
clean: inputs.clean.value,
|
|
35
|
-
skipDependencyUpdate: inputs.skip_dependency_update.value,
|
|
36
38
|
});
|
|
37
39
|
const argsWithExpo = ['expo', ...prebuildCommandArgs];
|
|
38
40
|
const options = {
|
|
@@ -41,6 +43,7 @@ function createPrebuildBuildFunction(ctx) {
|
|
|
41
43
|
env: {
|
|
42
44
|
EXPO_IMAGE_UTILS_NO_SHARP: '1',
|
|
43
45
|
...env,
|
|
46
|
+
...(appleTeamId ? { APPLE_TEAM_ID: appleTeamId } : {}),
|
|
44
47
|
},
|
|
45
48
|
};
|
|
46
49
|
if (packageManager === packageManager_1.PackageManager.NPM) {
|
|
@@ -55,37 +58,26 @@ function createPrebuildBuildFunction(ctx) {
|
|
|
55
58
|
else {
|
|
56
59
|
throw new Error(`Unsupported package manager: ${packageManager}`);
|
|
57
60
|
}
|
|
58
|
-
await (0, installNodeModules_1.installNodeModules)(stepCtx,
|
|
61
|
+
await (0, installNodeModules_1.installNodeModules)(stepCtx, env);
|
|
59
62
|
},
|
|
60
63
|
});
|
|
61
64
|
}
|
|
62
65
|
exports.createPrebuildBuildFunction = createPrebuildBuildFunction;
|
|
63
|
-
function getPrebuildCommandArgs(job, { clean
|
|
66
|
+
function getPrebuildCommandArgs(job, { clean }) {
|
|
64
67
|
var _a;
|
|
65
68
|
if ((_a = job.experimental) === null || _a === void 0 ? void 0 : _a.prebuildCommand) {
|
|
66
69
|
return sanitizeUserDefinedPrebuildCommand(job.experimental.prebuildCommand, job.platform, {
|
|
67
70
|
clean,
|
|
68
|
-
skipDependencyUpdate,
|
|
69
71
|
});
|
|
70
72
|
}
|
|
71
|
-
return [
|
|
72
|
-
'prebuild',
|
|
73
|
-
'--no-install',
|
|
74
|
-
'--platform',
|
|
75
|
-
job.platform,
|
|
76
|
-
...(skipDependencyUpdate ? ['--skip-dependency-update', skipDependencyUpdate] : []),
|
|
77
|
-
...(clean ? ['--clean'] : []),
|
|
78
|
-
];
|
|
73
|
+
return ['prebuild', '--no-install', '--platform', job.platform, ...(clean ? ['--clean'] : [])];
|
|
79
74
|
}
|
|
80
75
|
// TODO: deprecate prebuildCommand in eas.json
|
|
81
|
-
function sanitizeUserDefinedPrebuildCommand(userDefinedPrebuildCommand, platform, { clean
|
|
76
|
+
function sanitizeUserDefinedPrebuildCommand(userDefinedPrebuildCommand, platform, { clean }) {
|
|
82
77
|
let prebuildCommand = userDefinedPrebuildCommand;
|
|
83
78
|
if (!prebuildCommand.match(/(?:--platform| -p)/)) {
|
|
84
79
|
prebuildCommand = `${prebuildCommand} --platform ${platform}`;
|
|
85
80
|
}
|
|
86
|
-
if (skipDependencyUpdate) {
|
|
87
|
-
prebuildCommand = `${prebuildCommand} --skip-dependency-update ${skipDependencyUpdate}`;
|
|
88
|
-
}
|
|
89
81
|
if (clean) {
|
|
90
82
|
prebuildCommand = `${prebuildCommand} --clean`;
|
|
91
83
|
}
|