@expo/build-tools 1.0.76 → 1.0.78

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.
@@ -66,6 +66,7 @@ function createStepsForIosSimulatorBuild({ globalCtx, buildToolsContext, }) {
66
66
  throw_if_not_configured: false,
67
67
  },
68
68
  });
69
+ const runFastlane = (0, runFastlane_1.runFastlaneFunction)();
69
70
  return [
70
71
  (0, checkout_1.createCheckoutBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
71
72
  (0, installNodeModules_1.createInstallNodeModulesBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
@@ -73,7 +74,7 @@ function createStepsForIosSimulatorBuild({ globalCtx, buildToolsContext, }) {
73
74
  installPods,
74
75
  configureEASUpdate,
75
76
  (0, generateGymfileFromTemplate_1.generateGymfileFromTemplateFunction)().createBuildStepFromFunctionCall(globalCtx),
76
- (0, runFastlane_1.runFastlaneFunction)().createBuildStepFromFunctionCall(globalCtx),
77
+ runFastlane.createBuildStepFromFunctionCall(globalCtx, { id: runFastlane.id }),
77
78
  (0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(buildToolsContext).createBuildStepFromFunctionCall(globalCtx),
78
79
  ];
79
80
  }
@@ -99,6 +100,7 @@ function createStepsForIosBuildWithCredentials({ globalCtx, buildToolsContext, }
99
100
  credentials: '${ eas.job.secrets.buildCredentials }',
100
101
  },
101
102
  });
103
+ const runFastlane = (0, runFastlane_1.runFastlaneFunction)();
102
104
  return [
103
105
  (0, checkout_1.createCheckoutBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
104
106
  (0, installNodeModules_1.createInstallNodeModulesBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
@@ -110,7 +112,7 @@ function createStepsForIosBuildWithCredentials({ globalCtx, buildToolsContext, }
110
112
  (0, configureIosCredentials_1.configureIosCredentialsFunction)().createBuildStepFromFunctionCall(globalCtx),
111
113
  (0, configureIosVersion_1.configureIosVersionFunction)().createBuildStepFromFunctionCall(globalCtx),
112
114
  generateGymfile,
113
- (0, runFastlane_1.runFastlaneFunction)().createBuildStepFromFunctionCall(globalCtx),
115
+ runFastlane.createBuildStepFromFunctionCall(globalCtx, { id: runFastlane.id }),
114
116
  (0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(buildToolsContext).createBuildStepFromFunctionCall(globalCtx),
115
117
  ];
116
118
  }
@@ -120,12 +122,13 @@ function createStepsForAndroidBuildWithoutCredentials({ globalCtx, buildToolsCon
120
122
  throw_if_not_configured: false,
121
123
  },
122
124
  });
125
+ const runGradle = (0, runGradle_1.runGradleFunction)();
123
126
  return [
124
127
  (0, checkout_1.createCheckoutBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
125
128
  (0, installNodeModules_1.createInstallNodeModulesBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
126
129
  (0, prebuild_1.createPrebuildBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
127
130
  configureEASUpdate,
128
- (0, runGradle_1.runGradleFunction)().createBuildStepFromFunctionCall(globalCtx),
131
+ runGradle.createBuildStepFromFunctionCall(globalCtx, { id: runGradle.id }),
129
132
  (0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(buildToolsContext).createBuildStepFromFunctionCall(globalCtx),
130
133
  ];
131
134
  }
@@ -135,6 +138,7 @@ function createStepsForAndroidBuildWithCredentials({ globalCtx, buildToolsContex
135
138
  throw_if_not_configured: false,
136
139
  },
137
140
  });
141
+ const runGradle = (0, runGradle_1.runGradleFunction)();
138
142
  return [
139
143
  (0, checkout_1.createCheckoutBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
140
144
  (0, installNodeModules_1.createInstallNodeModulesBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
@@ -143,7 +147,7 @@ function createStepsForAndroidBuildWithCredentials({ globalCtx, buildToolsContex
143
147
  configureEASUpdate,
144
148
  (0, injectAndroidCredentials_1.injectAndroidCredentialsFunction)().createBuildStepFromFunctionCall(globalCtx),
145
149
  (0, configureAndroidVersion_1.configureAndroidVersionFunction)().createBuildStepFromFunctionCall(globalCtx),
146
- (0, runGradle_1.runGradleFunction)().createBuildStepFromFunctionCall(globalCtx),
150
+ runGradle.createBuildStepFromFunctionCall(globalCtx, { id: runGradle.id }),
147
151
  (0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(buildToolsContext).createBuildStepFromFunctionCall(globalCtx),
148
152
  ];
149
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/steps/functionGroups/build.ts"],"names":[],"mappings":"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","sourcesContent":["import { BuildFunctionGroup, BuildStep, BuildStepGlobalContext } from '@expo/steps';\nimport { Platform } from '@expo/eas-build-job';\n\nimport { createCheckoutBuildFunction } from '../functions/checkout';\nimport { createInstallNodeModulesBuildFunction } from '../functions/installNodeModules';\nimport { createPrebuildBuildFunction } from '../functions/prebuild';\nimport { createInstallPodsBuildFunction } from '../functions/installPods';\nimport { configureEASUpdateIfInstalledFunction } from '../functions/configureEASUpdateIfInstalled';\nimport { generateGymfileFromTemplateFunction } from '../functions/generateGymfileFromTemplate';\nimport { runFastlaneFunction } from '../functions/runFastlane';\nimport { createFindAndUploadBuildArtifactsBuildFunction } from '../functions/findAndUploadBuildArtifacts';\nimport { CustomBuildContext } from '../../customBuildContext';\nimport { createGetCredentialsForBuildTriggeredByGithubIntegration } from '../functions/getCredentialsForBuildTriggeredByGitHubIntegration';\nimport { resolveAppleTeamIdFromCredentialsFunction } from '../functions/resolveAppleTeamIdFromCredentials';\nimport { configureIosCredentialsFunction } from '../functions/configureIosCredentials';\nimport { runGradleFunction } from '../functions/runGradle';\nimport { configureIosVersionFunction } from '../functions/configureIosVersion';\nimport { injectAndroidCredentialsFunction } from '../functions/injectAndroidCredentials';\nimport { configureAndroidVersionFunction } from '../functions/configureAndroidVersion';\n\ninterface HelperFunctionsInput {\n globalCtx: BuildStepGlobalContext;\n buildToolsContext: CustomBuildContext;\n}\n\nexport function createEasBuildBuildFunctionGroup(\n buildToolsContext: CustomBuildContext\n): BuildFunctionGroup {\n return new BuildFunctionGroup({\n namespace: 'eas',\n id: 'build',\n createBuildStepsFromFunctionGroupCall: (globalCtx) => {\n if (buildToolsContext.job.platform === Platform.IOS) {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (buildToolsContext.job.simulator || !buildToolsContext.job.secrets?.buildCredentials) {\n return createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n });\n } else {\n return createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n });\n }\n } else {\n if (!buildToolsContext.job.secrets?.buildCredentials) {\n return createStepsForAndroidBuildWithoutCredentials({\n globalCtx,\n buildToolsContext,\n });\n } else {\n return createStepsForAndroidBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n });\n }\n }\n },\n });\n}\n\nfunction createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const installPods = createInstallPodsBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n workingDirectory: './ios',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n installPods,\n configureEASUpdate,\n generateGymfileFromTemplateFunction().createBuildStepFromFunctionCall(globalCtx),\n runFastlaneFunction().createBuildStepFromFunctionCall(globalCtx),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const resolveAppleTeamIdFromCredentials =\n resolveAppleTeamIdFromCredentialsFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'resolve_apple_team_id_from_credentials',\n });\n const prebuildStep = createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n apple_team_id: '${ steps.resolve_apple_team_id_from_credentials.apple_team_id }',\n },\n });\n const installPods = createInstallPodsBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n workingDirectory: './ios',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n const generateGymfile = generateGymfileFromTemplateFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n credentials: '${ eas.job.secrets.buildCredentials }',\n },\n }\n );\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createGetCredentialsForBuildTriggeredByGithubIntegration(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n resolveAppleTeamIdFromCredentials,\n prebuildStep,\n installPods,\n configureEASUpdate,\n configureIosCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureIosVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n generateGymfile,\n runFastlaneFunction().createBuildStepFromFunctionCall(globalCtx),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForAndroidBuildWithoutCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n configureEASUpdate,\n runGradleFunction().createBuildStepFromFunctionCall(globalCtx),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForAndroidBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createGetCredentialsForBuildTriggeredByGithubIntegration(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n configureEASUpdate,\n injectAndroidCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureAndroidVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n runGradleFunction().createBuildStepFromFunctionCall(globalCtx),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n"]}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/steps/functionGroups/build.ts"],"names":[],"mappings":"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","sourcesContent":["import { BuildFunctionGroup, BuildStep, BuildStepGlobalContext } from '@expo/steps';\nimport { Platform } from '@expo/eas-build-job';\n\nimport { createCheckoutBuildFunction } from '../functions/checkout';\nimport { createInstallNodeModulesBuildFunction } from '../functions/installNodeModules';\nimport { createPrebuildBuildFunction } from '../functions/prebuild';\nimport { createInstallPodsBuildFunction } from '../functions/installPods';\nimport { configureEASUpdateIfInstalledFunction } from '../functions/configureEASUpdateIfInstalled';\nimport { generateGymfileFromTemplateFunction } from '../functions/generateGymfileFromTemplate';\nimport { runFastlaneFunction } from '../functions/runFastlane';\nimport { createFindAndUploadBuildArtifactsBuildFunction } from '../functions/findAndUploadBuildArtifacts';\nimport { CustomBuildContext } from '../../customBuildContext';\nimport { createGetCredentialsForBuildTriggeredByGithubIntegration } from '../functions/getCredentialsForBuildTriggeredByGitHubIntegration';\nimport { resolveAppleTeamIdFromCredentialsFunction } from '../functions/resolveAppleTeamIdFromCredentials';\nimport { configureIosCredentialsFunction } from '../functions/configureIosCredentials';\nimport { runGradleFunction } from '../functions/runGradle';\nimport { configureIosVersionFunction } from '../functions/configureIosVersion';\nimport { injectAndroidCredentialsFunction } from '../functions/injectAndroidCredentials';\nimport { configureAndroidVersionFunction } from '../functions/configureAndroidVersion';\n\ninterface HelperFunctionsInput {\n globalCtx: BuildStepGlobalContext;\n buildToolsContext: CustomBuildContext;\n}\n\nexport function createEasBuildBuildFunctionGroup(\n buildToolsContext: CustomBuildContext\n): BuildFunctionGroup {\n return new BuildFunctionGroup({\n namespace: 'eas',\n id: 'build',\n createBuildStepsFromFunctionGroupCall: (globalCtx) => {\n if (buildToolsContext.job.platform === Platform.IOS) {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (buildToolsContext.job.simulator || !buildToolsContext.job.secrets?.buildCredentials) {\n return createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n });\n } else {\n return createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n });\n }\n } else {\n if (!buildToolsContext.job.secrets?.buildCredentials) {\n return createStepsForAndroidBuildWithoutCredentials({\n globalCtx,\n buildToolsContext,\n });\n } else {\n return createStepsForAndroidBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n });\n }\n }\n },\n });\n}\n\nfunction createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const installPods = createInstallPodsBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n workingDirectory: './ios',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n const runFastlane = runFastlaneFunction();\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n installPods,\n configureEASUpdate,\n generateGymfileFromTemplateFunction().createBuildStepFromFunctionCall(globalCtx),\n runFastlane.createBuildStepFromFunctionCall(globalCtx, { id: runFastlane.id }),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const resolveAppleTeamIdFromCredentials =\n resolveAppleTeamIdFromCredentialsFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'resolve_apple_team_id_from_credentials',\n });\n const prebuildStep = createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n apple_team_id: '${ steps.resolve_apple_team_id_from_credentials.apple_team_id }',\n },\n });\n const installPods = createInstallPodsBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n workingDirectory: './ios',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n const generateGymfile = generateGymfileFromTemplateFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n credentials: '${ eas.job.secrets.buildCredentials }',\n },\n }\n );\n const runFastlane = runFastlaneFunction();\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createGetCredentialsForBuildTriggeredByGithubIntegration(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n resolveAppleTeamIdFromCredentials,\n prebuildStep,\n installPods,\n configureEASUpdate,\n configureIosCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureIosVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n generateGymfile,\n runFastlane.createBuildStepFromFunctionCall(globalCtx, { id: runFastlane.id }),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForAndroidBuildWithoutCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n const runGradle = runGradleFunction();\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n configureEASUpdate,\n runGradle.createBuildStepFromFunctionCall(globalCtx, { id: runGradle.id }),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForAndroidBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n },\n });\n const runGradle = runGradleFunction();\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createGetCredentialsForBuildTriggeredByGithubIntegration(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n configureEASUpdate,\n injectAndroidCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureAndroidVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n runGradle.createBuildStepFromFunctionCall(globalCtx, { id: runGradle.id }),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n"]}
@@ -3,22 +3,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runFastlaneFunction = void 0;
4
4
  const steps_1 = require("@expo/steps");
5
5
  const fastlane_1 = require("../utils/ios/fastlane");
6
+ const slackMessageDynamicFields_1 = require("../utils/slackMessageDynamicFields");
6
7
  function runFastlaneFunction() {
7
8
  return new steps_1.BuildFunction({
8
9
  namespace: 'eas',
9
10
  id: 'run_fastlane',
10
11
  name: 'Run fastlane',
11
- fn: async (stepCtx, { env }) => {
12
- await (0, fastlane_1.runFastlaneGym)({
13
- workingDir: stepCtx.workingDirectory,
14
- env: Object.keys(env).reduce((acc, key) => {
15
- var _a;
16
- acc[key] = (_a = env[key]) !== null && _a !== void 0 ? _a : '';
17
- return acc;
18
- }, {}),
19
- logger: stepCtx.logger,
20
- buildLogsDirectory: stepCtx.global.buildLogsDirectory,
21
- });
12
+ outputProviders: [
13
+ steps_1.BuildStepOutput.createProvider({
14
+ id: slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT,
15
+ required: true,
16
+ }),
17
+ steps_1.BuildStepOutput.createProvider({
18
+ id: slackMessageDynamicFields_1.BuildStepOutputName.ERROR_TEXT,
19
+ required: false,
20
+ }),
21
+ ],
22
+ fn: async (stepCtx, { env, outputs }) => {
23
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT].set(slackMessageDynamicFields_1.BuildStatusText.STARTED);
24
+ try {
25
+ await (0, fastlane_1.runFastlaneGym)({
26
+ workingDir: stepCtx.workingDirectory,
27
+ env: Object.keys(env).reduce((acc, key) => {
28
+ var _a;
29
+ acc[key] = (_a = env[key]) !== null && _a !== void 0 ? _a : '';
30
+ return acc;
31
+ }, {}),
32
+ logger: stepCtx.logger,
33
+ buildLogsDirectory: stepCtx.global.buildLogsDirectory,
34
+ });
35
+ }
36
+ catch (error) {
37
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT].set(slackMessageDynamicFields_1.BuildStatusText.ERROR);
38
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.ERROR_TEXT].set(error.toString());
39
+ throw error;
40
+ }
41
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT].set(slackMessageDynamicFields_1.BuildStatusText.SUCCESS);
22
42
  },
23
43
  });
24
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runFastlane.js","sourceRoot":"","sources":["../../../src/steps/functions/runFastlane.ts"],"names":[],"mappings":";;;AAAA,uCAA4C;AAE5C,oDAAuD;AAEvD,SAAgB,mBAAmB;IACjC,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAC7B,MAAM,IAAA,yBAAc,EAAC;gBACnB,UAAU,EAAE,OAAO,CAAC,gBAAgB;gBACpC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;;oBACX,GAAG,CAAC,GAAG,CAAC,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;oBAC1B,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAA4B,CAC7B;gBACD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB;aACtD,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AApBD,kDAoBC","sourcesContent":["import { BuildFunction } from '@expo/steps';\n\nimport { runFastlaneGym } from '../utils/ios/fastlane';\n\nexport function runFastlaneFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'run_fastlane',\n name: 'Run fastlane',\n fn: async (stepCtx, { env }) => {\n await runFastlaneGym({\n workingDir: stepCtx.workingDirectory,\n env: Object.keys(env).reduce(\n (acc, key) => {\n acc[key] = env[key] ?? '';\n return acc;\n },\n {} as Record<string, string>\n ),\n logger: stepCtx.logger,\n buildLogsDirectory: stepCtx.global.buildLogsDirectory,\n });\n },\n });\n}\n"]}
1
+ {"version":3,"file":"runFastlane.js","sourceRoot":"","sources":["../../../src/steps/functions/runFastlane.ts"],"names":[],"mappings":";;;AAAA,uCAA6D;AAE7D,oDAAuD;AACvD,kFAA0F;AAE1F,SAAgB,mBAAmB;IACjC,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE;YACf,uBAAe,CAAC,cAAc,CAAC;gBAC7B,EAAE,EAAE,+CAAmB,CAAC,WAAW;gBACnC,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,uBAAe,CAAC,cAAc,CAAC;gBAC7B,EAAE,EAAE,+CAAmB,CAAC,UAAU;gBAClC,QAAQ,EAAE,KAAK;aAChB,CAAC;SACH;QACD,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,OAAO,CAAC,+CAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,2CAAe,CAAC,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,IAAA,yBAAc,EAAC;oBACnB,UAAU,EAAE,OAAO,CAAC,gBAAgB;oBACpC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;;wBACX,GAAG,CAAC,GAAG,CAAC,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;wBAC1B,OAAO,GAAG,CAAC;oBACb,CAAC,EACD,EAA4B,CAC7B;oBACD,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB;iBACtD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,+CAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,2CAAe,CAAC,KAAK,CAAC,CAAC;gBACpE,OAAO,CAAC,+CAAmB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAE,KAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,CAAC,+CAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,2CAAe,CAAC,OAAO,CAAC,CAAC;QACxE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAtCD,kDAsCC","sourcesContent":["import { BuildFunction, BuildStepOutput } from '@expo/steps';\n\nimport { runFastlaneGym } from '../utils/ios/fastlane';\nimport { BuildStatusText, BuildStepOutputName } from '../utils/slackMessageDynamicFields';\n\nexport function runFastlaneFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'run_fastlane',\n name: 'Run fastlane',\n outputProviders: [\n BuildStepOutput.createProvider({\n id: BuildStepOutputName.STATUS_TEXT,\n required: true,\n }),\n BuildStepOutput.createProvider({\n id: BuildStepOutputName.ERROR_TEXT,\n required: false,\n }),\n ],\n fn: async (stepCtx, { env, outputs }) => {\n outputs[BuildStepOutputName.STATUS_TEXT].set(BuildStatusText.STARTED);\n try {\n await runFastlaneGym({\n workingDir: stepCtx.workingDirectory,\n env: Object.keys(env).reduce(\n (acc, key) => {\n acc[key] = env[key] ?? '';\n return acc;\n },\n {} as Record<string, string>\n ),\n logger: stepCtx.logger,\n buildLogsDirectory: stepCtx.global.buildLogsDirectory,\n });\n } catch (error) {\n outputs[BuildStepOutputName.STATUS_TEXT].set(BuildStatusText.ERROR);\n outputs[BuildStepOutputName.ERROR_TEXT].set((error as Error).toString());\n throw error;\n }\n outputs[BuildStepOutputName.STATUS_TEXT].set(BuildStatusText.SUCCESS);\n },\n });\n}\n"]}
@@ -9,6 +9,7 @@ const assert_1 = __importDefault(require("assert"));
9
9
  const eas_build_job_1 = require("@expo/eas-build-job");
10
10
  const steps_1 = require("@expo/steps");
11
11
  const gradle_1 = require("../utils/android/gradle");
12
+ const slackMessageDynamicFields_1 = require("../utils/slackMessageDynamicFields");
12
13
  function runGradleFunction() {
13
14
  return new steps_1.BuildFunction({
14
15
  namespace: 'eas',
@@ -21,16 +22,35 @@ function runGradleFunction() {
21
22
  allowedValueTypeName: steps_1.BuildStepInputValueTypeName.STRING,
22
23
  }),
23
24
  ],
24
- fn: async (stepCtx, { env, inputs }) => {
25
+ outputProviders: [
26
+ steps_1.BuildStepOutput.createProvider({
27
+ id: slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT,
28
+ required: true,
29
+ }),
30
+ steps_1.BuildStepOutput.createProvider({
31
+ id: slackMessageDynamicFields_1.BuildStepOutputName.ERROR_TEXT,
32
+ required: false,
33
+ }),
34
+ ],
35
+ fn: async (stepCtx, { env, inputs, outputs }) => {
36
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT].set(slackMessageDynamicFields_1.BuildStatusText.STARTED);
25
37
  (0, assert_1.default)(stepCtx.global.staticContext.job, 'Job is required');
26
38
  (0, assert_1.default)(stepCtx.global.staticContext.job.platform === eas_build_job_1.Platform.ANDROID, 'This function is only available when building for Android');
27
39
  const command = (0, gradle_1.resolveGradleCommand)(stepCtx.global.staticContext.job, inputs.command.value);
28
- await (0, gradle_1.runGradleCommand)({
29
- logger: stepCtx.logger,
30
- gradleCommand: command,
31
- androidDir: path_1.default.join(stepCtx.workingDirectory, 'android'),
32
- env,
33
- });
40
+ try {
41
+ await (0, gradle_1.runGradleCommand)({
42
+ logger: stepCtx.logger,
43
+ gradleCommand: command,
44
+ androidDir: path_1.default.join(stepCtx.workingDirectory, 'android'),
45
+ env,
46
+ });
47
+ }
48
+ catch (error) {
49
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT].set(slackMessageDynamicFields_1.BuildStatusText.ERROR);
50
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.ERROR_TEXT].set(error.toString());
51
+ throw error;
52
+ }
53
+ outputs[slackMessageDynamicFields_1.BuildStepOutputName.STATUS_TEXT].set(slackMessageDynamicFields_1.BuildStatusText.SUCCESS);
34
54
  },
35
55
  });
36
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runGradle.js","sourceRoot":"","sources":["../../../src/steps/functions/runGradle.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,oDAA4B;AAE5B,uDAA+C;AAC/C,uCAAyF;AAEzF,oDAAiF;AAEjF,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,cAAc,EAAE;YACd,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,iBAAiB,CAAC,CAAC;YAC5D,IAAA,gBAAM,EACJ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,KAAK,wBAAQ,CAAC,OAAO,EAC9D,2DAA2D,CAC5D,CAAC;YACF,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAClC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAChC,MAAM,CAAC,OAAO,CAAC,KAA2B,CAC3C,CAAC;YACF,MAAM,IAAA,yBAAgB,EAAC;gBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,OAAO;gBACtB,UAAU,EAAE,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC;gBAC1D,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AA9BD,8CA8BC","sourcesContent":["import path from 'path';\nimport assert from 'assert';\n\nimport { Platform } from '@expo/eas-build-job';\nimport { BuildFunction, BuildStepInput, BuildStepInputValueTypeName } from '@expo/steps';\n\nimport { resolveGradleCommand, runGradleCommand } from '../utils/android/gradle';\n\nexport function runGradleFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'run_gradle',\n name: 'Run gradle',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'command',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n fn: async (stepCtx, { env, inputs }) => {\n assert(stepCtx.global.staticContext.job, 'Job is required');\n assert(\n stepCtx.global.staticContext.job.platform === Platform.ANDROID,\n 'This function is only available when building for Android'\n );\n const command = resolveGradleCommand(\n stepCtx.global.staticContext.job,\n inputs.command.value as string | undefined\n );\n await runGradleCommand({\n logger: stepCtx.logger,\n gradleCommand: command,\n androidDir: path.join(stepCtx.workingDirectory, 'android'),\n env,\n });\n },\n });\n}\n"]}
1
+ {"version":3,"file":"runGradle.js","sourceRoot":"","sources":["../../../src/steps/functions/runGradle.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,oDAA4B;AAE5B,uDAA+C;AAC/C,uCAKqB;AAErB,oDAAiF;AACjF,kFAA0F;AAE1F,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,cAAc,EAAE;YACd,sBAAc,CAAC,cAAc,CAAC;gBAC5B,EAAE,EAAE,SAAS;gBACb,QAAQ,EAAE,KAAK;gBACf,oBAAoB,EAAE,mCAA2B,CAAC,MAAM;aACzD,CAAC;SACH;QACD,eAAe,EAAE;YACf,uBAAe,CAAC,cAAc,CAAC;gBAC7B,EAAE,EAAE,+CAAmB,CAAC,WAAW;gBACnC,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,uBAAe,CAAC,cAAc,CAAC;gBAC7B,EAAE,EAAE,+CAAmB,CAAC,UAAU;gBAClC,QAAQ,EAAE,KAAK;aAChB,CAAC;SACH;QACD,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9C,OAAO,CAAC,+CAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,2CAAe,CAAC,OAAO,CAAC,CAAC;YACtE,IAAA,gBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;YAC5D,IAAA,gBAAM,EACJ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,KAAK,wBAAQ,CAAC,OAAO,EAC9D,2DAA2D,CAC5D,CAAC;YACF,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAClC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAChC,MAAM,CAAC,OAAO,CAAC,KAA2B,CAC3C,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAA,yBAAgB,EAAC;oBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,aAAa,EAAE,OAAO;oBACtB,UAAU,EAAE,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC;oBAC1D,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,+CAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,2CAAe,CAAC,KAAK,CAAC,CAAC;gBACpE,OAAO,CAAC,+CAAmB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAE,KAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,CAAC,+CAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,2CAAe,CAAC,OAAO,CAAC,CAAC;QACxE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAhDD,8CAgDC","sourcesContent":["import path from 'path';\nimport assert from 'assert';\n\nimport { Platform } from '@expo/eas-build-job';\nimport {\n BuildFunction,\n BuildStepInput,\n BuildStepInputValueTypeName,\n BuildStepOutput,\n} from '@expo/steps';\n\nimport { resolveGradleCommand, runGradleCommand } from '../utils/android/gradle';\nimport { BuildStatusText, BuildStepOutputName } from '../utils/slackMessageDynamicFields';\n\nexport function runGradleFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'run_gradle',\n name: 'Run gradle',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'command',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n outputProviders: [\n BuildStepOutput.createProvider({\n id: BuildStepOutputName.STATUS_TEXT,\n required: true,\n }),\n BuildStepOutput.createProvider({\n id: BuildStepOutputName.ERROR_TEXT,\n required: false,\n }),\n ],\n fn: async (stepCtx, { env, inputs, outputs }) => {\n outputs[BuildStepOutputName.STATUS_TEXT].set(BuildStatusText.STARTED);\n assert(stepCtx.global.staticContext.job, 'Job is required');\n assert(\n stepCtx.global.staticContext.job.platform === Platform.ANDROID,\n 'This function is only available when building for Android'\n );\n const command = resolveGradleCommand(\n stepCtx.global.staticContext.job,\n inputs.command.value as string | undefined\n );\n try {\n await runGradleCommand({\n logger: stepCtx.logger,\n gradleCommand: command,\n androidDir: path.join(stepCtx.workingDirectory, 'android'),\n env,\n });\n } catch (error) {\n outputs[BuildStepOutputName.STATUS_TEXT].set(BuildStatusText.ERROR);\n outputs[BuildStepOutputName.ERROR_TEXT].set((error as Error).toString());\n throw error;\n }\n outputs[BuildStepOutputName.STATUS_TEXT].set(BuildStatusText.SUCCESS);\n },\n });\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export declare enum BuildStepOutputName {
2
+ STATUS_TEXT = "status_text",
3
+ ERROR_TEXT = "error_text"
4
+ }
5
+ export declare enum BuildStatusText {
6
+ SUCCESS = "SUCCESS",
7
+ ERROR = "ERROR",
8
+ STARTED = "STARTED"
9
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuildStatusText = exports.BuildStepOutputName = void 0;
4
+ var BuildStepOutputName;
5
+ (function (BuildStepOutputName) {
6
+ BuildStepOutputName["STATUS_TEXT"] = "status_text";
7
+ BuildStepOutputName["ERROR_TEXT"] = "error_text";
8
+ })(BuildStepOutputName || (exports.BuildStepOutputName = BuildStepOutputName = {}));
9
+ var BuildStatusText;
10
+ (function (BuildStatusText) {
11
+ BuildStatusText["SUCCESS"] = "SUCCESS";
12
+ BuildStatusText["ERROR"] = "ERROR";
13
+ BuildStatusText["STARTED"] = "STARTED";
14
+ })(BuildStatusText || (exports.BuildStatusText = BuildStatusText = {}));
15
+ //# sourceMappingURL=slackMessageDynamicFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slackMessageDynamicFields.js","sourceRoot":"","sources":["../../../src/steps/utils/slackMessageDynamicFields.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,gDAAyB,CAAA;AAC3B,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,kCAAe,CAAA;IACf,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B","sourcesContent":["export enum BuildStepOutputName {\n STATUS_TEXT = 'status_text',\n ERROR_TEXT = 'error_text',\n}\n\nexport enum BuildStatusText {\n SUCCESS = 'SUCCESS',\n ERROR = 'ERROR',\n STARTED = 'STARTED',\n}\n"]}
@@ -199,6 +199,9 @@ function isEASUpdateConfigured(ctx) {
199
199
  }
200
200
  exports.isEASUpdateConfigured = isEASUpdateConfigured;
201
201
  function shouldConfigureClassicUpdatesReleaseChannelAsFallback(expoUpdatesPackageVersion) {
202
+ if (expoUpdatesPackageVersion.includes('canary')) {
203
+ return false;
204
+ }
202
205
  // Anything before SDK 50 should configure classic updates as a fallback. The first version
203
206
  // of the expo-updates package published for SDK 50 was 0.19.0
204
207
  return semver_1.default.lt(expoUpdatesPackageVersion, '0.19.0');
@@ -1 +1 @@
1
- {"version":3,"file":"expoUpdates.js","sourceRoot":"","sources":["../../src/utils/expoUpdates.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'assert';\n\nimport { Platform, Job } from '@expo/eas-build-job';\nimport { getRuntimeVersionNullableAsync } from '@expo/config-plugins/build/utils/Updates';\nimport semver from 'semver';\n\nimport {\n androidSetRuntimeVersionNativelyAsync,\n androidSetChannelNativelyAsync,\n androidSetClassicReleaseChannelNativelyAsync,\n androidGetNativelyDefinedClassicReleaseChannelAsync,\n androidGetNativelyDefinedRuntimeVersionAsync,\n androidGetNativelyDefinedChannelAsync,\n} from '../android/expoUpdates';\nimport {\n iosSetRuntimeVersionNativelyAsync,\n iosSetChannelNativelyAsync,\n iosSetClassicReleaseChannelNativelyAsync,\n iosGetNativelyDefinedClassicReleaseChannelAsync,\n iosGetNativelyDefinedRuntimeVersionAsync,\n iosGetNativelyDefinedChannelAsync,\n} from '../ios/expoUpdates';\nimport { BuildContext } from '../context';\n\nimport getExpoUpdatesPackageVersionIfInstalledAsync from './getExpoUpdatesPackageVersionIfInstalledAsync';\n\nexport async function setRuntimeVersionNativelyAsync(\n ctx: BuildContext<Job>,\n runtimeVersion: string\n): Promise<void> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n await androidSetRuntimeVersionNativelyAsync(ctx, runtimeVersion);\n return;\n }\n case Platform.IOS: {\n await iosSetRuntimeVersionNativelyAsync(ctx, runtimeVersion);\n return;\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\n/**\n * Used for when Expo Updates is pointed at an EAS server.\n */\nexport async function setChannelNativelyAsync(ctx: BuildContext<Job>): Promise<void> {\n assert(ctx.job.updates?.channel, 'updates.channel must be defined');\n const newUpdateRequestHeaders: Record<string, string> = {\n 'expo-channel-name': ctx.job.updates.channel,\n };\n\n const configFile = ctx.job.platform === Platform.ANDROID ? 'AndroidManifest.xml' : 'Expo.plist';\n ctx.logger.info(\n `Setting the update request headers in '${configFile}' to '${JSON.stringify(\n newUpdateRequestHeaders\n )}'`\n );\n\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n await androidSetChannelNativelyAsync(ctx);\n return;\n }\n case Platform.IOS: {\n await iosSetChannelNativelyAsync(ctx);\n return;\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\n/**\n * Used for classic Expo Updates\n */\nexport async function setClassicReleaseChannelNativelyAsync(ctx: BuildContext<Job>): Promise<void> {\n assert(ctx.job.releaseChannel, 'releaseChannel must be defined');\n\n const configFile = ctx.job.platform === Platform.ANDROID ? 'AndroidManifest.xml' : 'Expo.plist';\n ctx.logger.info(`Setting the release channel in '${configFile}' to '${ctx.job.releaseChannel}'`);\n\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n await androidSetClassicReleaseChannelNativelyAsync(ctx);\n return;\n }\n case Platform.IOS: {\n await iosSetClassicReleaseChannelNativelyAsync(ctx);\n return;\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\n/**\n * Used for classic Expo Updates\n */\nexport async function getNativelyDefinedClassicReleaseChannelAsync(\n ctx: BuildContext<Job>\n): Promise<string | null> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n return androidGetNativelyDefinedClassicReleaseChannelAsync(ctx);\n }\n case Platform.IOS: {\n return iosGetNativelyDefinedClassicReleaseChannelAsync(ctx);\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\nexport async function configureClassicExpoUpdatesAsync(ctx: BuildContext<Job>): Promise<void> {\n if (ctx.job.releaseChannel) {\n await setClassicReleaseChannelNativelyAsync(ctx);\n } else {\n /**\n * If releaseChannel is not defined:\n * 1. Try to infer it from the native value.\n * 2. If it is not set, fallback to 'default'.\n */\n const releaseChannel = await getNativelyDefinedClassicReleaseChannelAsync(ctx);\n if (releaseChannel) {\n ctx.logger.info(\n `Using the release channel pre-configured in native project (${releaseChannel})`\n );\n ctx.logger.warn('Please add the \"releaseChannel\" field to your build profile (eas.json)');\n } else {\n ctx.logger.info(`Using default release channel for 'expo-updates' (default)`);\n }\n }\n}\n\nexport async function configureEASExpoUpdatesAsync(ctx: BuildContext<Job>): Promise<void> {\n await setChannelNativelyAsync(ctx);\n}\n\nexport async function configureExpoUpdatesIfInstalledAsync(ctx: BuildContext<Job>): Promise<void> {\n const expoUpdatesVersion = await getExpoUpdatesPackageVersionIfInstalledAsync(\n ctx.getReactNativeProjectDirectory()\n );\n if (expoUpdatesVersion === null) {\n return;\n }\n\n const appConfigRuntimeVersion =\n ctx.job.version?.runtimeVersion ??\n (await getRuntimeVersionNullableAsync(\n ctx.getReactNativeProjectDirectory(),\n ctx.appConfig,\n ctx.job.platform\n ));\n if (ctx.metadata?.runtimeVersion && ctx.metadata?.runtimeVersion !== appConfigRuntimeVersion) {\n ctx.markBuildPhaseHasWarnings();\n ctx.logger.warn(\n `Runtime version from the app config evaluated on your local machine (${ctx.metadata.runtimeVersion}) does not match the one resolved here (${appConfigRuntimeVersion}).`\n );\n ctx.logger.warn(\n \"If you're using conditional app configs, e.g. depending on an environment variable, make sure to set the variable in eas.json or configure it with EAS Secret.\"\n );\n }\n\n if (isEASUpdateConfigured(ctx)) {\n if (ctx.job.updates?.channel !== undefined) {\n await configureEASExpoUpdatesAsync(ctx);\n } else {\n const channel = await getChannelAsync(ctx);\n if (channel !== null) {\n const configFile =\n ctx.job.platform === Platform.ANDROID ? 'AndroidManifest.xml' : 'Expo.plist';\n ctx.logger.info(`The channel name for EAS Update in ${configFile} is set to \"${channel}\"`);\n } else {\n if (ctx.job.releaseChannel !== undefined) {\n ctx.logger.warn(\n `This build is configured with EAS Update however has a Classic Updates releaseChannel set instead of having an EAS Update channel.`\n );\n } else {\n ctx.logger.warn(\n `This build is configured to query EAS Update for updates, however no channel is set in eas.json.`\n );\n }\n ctx.markBuildPhaseHasWarnings();\n }\n }\n } else if (shouldConfigureClassicUpdatesReleaseChannelAsFallback(expoUpdatesVersion)) {\n await configureClassicExpoUpdatesAsync(ctx);\n }\n\n if (ctx.job.version?.runtimeVersion) {\n ctx.logger.info('Updating runtimeVersion in Expo.plist');\n await setRuntimeVersionNativelyAsync(ctx, ctx.job.version.runtimeVersion);\n }\n}\n\nexport async function getChannelAsync(ctx: BuildContext<Job>): Promise<string | null> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n return await androidGetNativelyDefinedChannelAsync(ctx);\n }\n case Platform.IOS: {\n return await iosGetNativelyDefinedChannelAsync(ctx);\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\nexport async function getRuntimeVersionAsync(ctx: BuildContext<Job>): Promise<string | null> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n return await androidGetNativelyDefinedRuntimeVersionAsync(ctx);\n }\n case Platform.IOS: {\n return await iosGetNativelyDefinedRuntimeVersionAsync(ctx);\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\nexport function isEASUpdateConfigured(ctx: BuildContext<Job>): boolean {\n const rawUrl = ctx.appConfig.updates?.url;\n if (!rawUrl) {\n return false;\n }\n try {\n const url = new URL(rawUrl);\n return ['u.expo.dev', 'staging-u.expo.dev'].includes(url.hostname);\n } catch (err) {\n ctx.logger.error({ err }, `Cannot parse expo.updates.url = ${rawUrl} as URL`);\n ctx.logger.error(`Assuming EAS Update is not configured`);\n return false;\n }\n}\n\nexport function shouldConfigureClassicUpdatesReleaseChannelAsFallback(\n expoUpdatesPackageVersion: string\n): boolean {\n // Anything before SDK 50 should configure classic updates as a fallback. The first version\n // of the expo-updates package published for SDK 50 was 0.19.0\n return semver.lt(expoUpdatesPackageVersion, '0.19.0');\n}\n"]}
1
+ {"version":3,"file":"expoUpdates.js","sourceRoot":"","sources":["../../src/utils/expoUpdates.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'assert';\n\nimport { Platform, Job } from '@expo/eas-build-job';\nimport { getRuntimeVersionNullableAsync } from '@expo/config-plugins/build/utils/Updates';\nimport semver from 'semver';\n\nimport {\n androidSetRuntimeVersionNativelyAsync,\n androidSetChannelNativelyAsync,\n androidSetClassicReleaseChannelNativelyAsync,\n androidGetNativelyDefinedClassicReleaseChannelAsync,\n androidGetNativelyDefinedRuntimeVersionAsync,\n androidGetNativelyDefinedChannelAsync,\n} from '../android/expoUpdates';\nimport {\n iosSetRuntimeVersionNativelyAsync,\n iosSetChannelNativelyAsync,\n iosSetClassicReleaseChannelNativelyAsync,\n iosGetNativelyDefinedClassicReleaseChannelAsync,\n iosGetNativelyDefinedRuntimeVersionAsync,\n iosGetNativelyDefinedChannelAsync,\n} from '../ios/expoUpdates';\nimport { BuildContext } from '../context';\n\nimport getExpoUpdatesPackageVersionIfInstalledAsync from './getExpoUpdatesPackageVersionIfInstalledAsync';\n\nexport async function setRuntimeVersionNativelyAsync(\n ctx: BuildContext<Job>,\n runtimeVersion: string\n): Promise<void> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n await androidSetRuntimeVersionNativelyAsync(ctx, runtimeVersion);\n return;\n }\n case Platform.IOS: {\n await iosSetRuntimeVersionNativelyAsync(ctx, runtimeVersion);\n return;\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\n/**\n * Used for when Expo Updates is pointed at an EAS server.\n */\nexport async function setChannelNativelyAsync(ctx: BuildContext<Job>): Promise<void> {\n assert(ctx.job.updates?.channel, 'updates.channel must be defined');\n const newUpdateRequestHeaders: Record<string, string> = {\n 'expo-channel-name': ctx.job.updates.channel,\n };\n\n const configFile = ctx.job.platform === Platform.ANDROID ? 'AndroidManifest.xml' : 'Expo.plist';\n ctx.logger.info(\n `Setting the update request headers in '${configFile}' to '${JSON.stringify(\n newUpdateRequestHeaders\n )}'`\n );\n\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n await androidSetChannelNativelyAsync(ctx);\n return;\n }\n case Platform.IOS: {\n await iosSetChannelNativelyAsync(ctx);\n return;\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\n/**\n * Used for classic Expo Updates\n */\nexport async function setClassicReleaseChannelNativelyAsync(ctx: BuildContext<Job>): Promise<void> {\n assert(ctx.job.releaseChannel, 'releaseChannel must be defined');\n\n const configFile = ctx.job.platform === Platform.ANDROID ? 'AndroidManifest.xml' : 'Expo.plist';\n ctx.logger.info(`Setting the release channel in '${configFile}' to '${ctx.job.releaseChannel}'`);\n\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n await androidSetClassicReleaseChannelNativelyAsync(ctx);\n return;\n }\n case Platform.IOS: {\n await iosSetClassicReleaseChannelNativelyAsync(ctx);\n return;\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\n/**\n * Used for classic Expo Updates\n */\nexport async function getNativelyDefinedClassicReleaseChannelAsync(\n ctx: BuildContext<Job>\n): Promise<string | null> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n return androidGetNativelyDefinedClassicReleaseChannelAsync(ctx);\n }\n case Platform.IOS: {\n return iosGetNativelyDefinedClassicReleaseChannelAsync(ctx);\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\nexport async function configureClassicExpoUpdatesAsync(ctx: BuildContext<Job>): Promise<void> {\n if (ctx.job.releaseChannel) {\n await setClassicReleaseChannelNativelyAsync(ctx);\n } else {\n /**\n * If releaseChannel is not defined:\n * 1. Try to infer it from the native value.\n * 2. If it is not set, fallback to 'default'.\n */\n const releaseChannel = await getNativelyDefinedClassicReleaseChannelAsync(ctx);\n if (releaseChannel) {\n ctx.logger.info(\n `Using the release channel pre-configured in native project (${releaseChannel})`\n );\n ctx.logger.warn('Please add the \"releaseChannel\" field to your build profile (eas.json)');\n } else {\n ctx.logger.info(`Using default release channel for 'expo-updates' (default)`);\n }\n }\n}\n\nexport async function configureEASExpoUpdatesAsync(ctx: BuildContext<Job>): Promise<void> {\n await setChannelNativelyAsync(ctx);\n}\n\nexport async function configureExpoUpdatesIfInstalledAsync(ctx: BuildContext<Job>): Promise<void> {\n const expoUpdatesVersion = await getExpoUpdatesPackageVersionIfInstalledAsync(\n ctx.getReactNativeProjectDirectory()\n );\n if (expoUpdatesVersion === null) {\n return;\n }\n\n const appConfigRuntimeVersion =\n ctx.job.version?.runtimeVersion ??\n (await getRuntimeVersionNullableAsync(\n ctx.getReactNativeProjectDirectory(),\n ctx.appConfig,\n ctx.job.platform\n ));\n if (ctx.metadata?.runtimeVersion && ctx.metadata?.runtimeVersion !== appConfigRuntimeVersion) {\n ctx.markBuildPhaseHasWarnings();\n ctx.logger.warn(\n `Runtime version from the app config evaluated on your local machine (${ctx.metadata.runtimeVersion}) does not match the one resolved here (${appConfigRuntimeVersion}).`\n );\n ctx.logger.warn(\n \"If you're using conditional app configs, e.g. depending on an environment variable, make sure to set the variable in eas.json or configure it with EAS Secret.\"\n );\n }\n\n if (isEASUpdateConfigured(ctx)) {\n if (ctx.job.updates?.channel !== undefined) {\n await configureEASExpoUpdatesAsync(ctx);\n } else {\n const channel = await getChannelAsync(ctx);\n if (channel !== null) {\n const configFile =\n ctx.job.platform === Platform.ANDROID ? 'AndroidManifest.xml' : 'Expo.plist';\n ctx.logger.info(`The channel name for EAS Update in ${configFile} is set to \"${channel}\"`);\n } else {\n if (ctx.job.releaseChannel !== undefined) {\n ctx.logger.warn(\n `This build is configured with EAS Update however has a Classic Updates releaseChannel set instead of having an EAS Update channel.`\n );\n } else {\n ctx.logger.warn(\n `This build is configured to query EAS Update for updates, however no channel is set in eas.json.`\n );\n }\n ctx.markBuildPhaseHasWarnings();\n }\n }\n } else if (shouldConfigureClassicUpdatesReleaseChannelAsFallback(expoUpdatesVersion)) {\n await configureClassicExpoUpdatesAsync(ctx);\n }\n\n if (ctx.job.version?.runtimeVersion) {\n ctx.logger.info('Updating runtimeVersion in Expo.plist');\n await setRuntimeVersionNativelyAsync(ctx, ctx.job.version.runtimeVersion);\n }\n}\n\nexport async function getChannelAsync(ctx: BuildContext<Job>): Promise<string | null> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n return await androidGetNativelyDefinedChannelAsync(ctx);\n }\n case Platform.IOS: {\n return await iosGetNativelyDefinedChannelAsync(ctx);\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\nexport async function getRuntimeVersionAsync(ctx: BuildContext<Job>): Promise<string | null> {\n switch (ctx.job.platform) {\n case Platform.ANDROID: {\n return await androidGetNativelyDefinedRuntimeVersionAsync(ctx);\n }\n case Platform.IOS: {\n return await iosGetNativelyDefinedRuntimeVersionAsync(ctx);\n }\n default:\n throw new Error(`Platform is not supported.`);\n }\n}\n\nexport function isEASUpdateConfigured(ctx: BuildContext<Job>): boolean {\n const rawUrl = ctx.appConfig.updates?.url;\n if (!rawUrl) {\n return false;\n }\n try {\n const url = new URL(rawUrl);\n return ['u.expo.dev', 'staging-u.expo.dev'].includes(url.hostname);\n } catch (err) {\n ctx.logger.error({ err }, `Cannot parse expo.updates.url = ${rawUrl} as URL`);\n ctx.logger.error(`Assuming EAS Update is not configured`);\n return false;\n }\n}\n\nexport function shouldConfigureClassicUpdatesReleaseChannelAsFallback(\n expoUpdatesPackageVersion: string\n): boolean {\n if (expoUpdatesPackageVersion.includes('canary')) {\n return false;\n }\n\n // Anything before SDK 50 should configure classic updates as a fallback. The first version\n // of the expo-updates package published for SDK 50 was 0.19.0\n return semver.lt(expoUpdatesPackageVersion, '0.19.0');\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/build-tools",
3
- "version": "1.0.76",
3
+ "version": "1.0.78",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -24,12 +24,12 @@
24
24
  "@expo/config": "8.5.4",
25
25
  "@expo/config-plugins": "7.8.4",
26
26
  "@expo/downloader": "1.0.57",
27
- "@expo/eas-build-job": "1.0.74",
27
+ "@expo/eas-build-job": "1.0.78",
28
28
  "@expo/env": "^0.0.5",
29
29
  "@expo/logger": "1.0.57",
30
30
  "@expo/package-manager": "1.1.2",
31
31
  "@expo/plist": "^0.0.20",
32
- "@expo/steps": "1.0.75",
32
+ "@expo/steps": "1.0.78",
33
33
  "@expo/template-file": "1.0.57",
34
34
  "@expo/turtle-spawn": "1.0.57",
35
35
  "@expo/xcpretty": "^4.3.0",
@@ -69,5 +69,5 @@
69
69
  "node": "20.11.0",
70
70
  "yarn": "1.22.21"
71
71
  },
72
- "gitHead": "60afc7e1ceac6dbebd4fb6bb272e0f12eeda7fd7"
72
+ "gitHead": "fa930165725445581c94af24bb29e9f454a681f7"
73
73
  }