@expo/build-tools 1.0.251 → 1.0.260

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.
Files changed (42) hide show
  1. package/dist/android/gradleConfig.js +2 -2
  2. package/dist/android/gradleConfig.js.map +1 -1
  3. package/dist/ios/fastfile.js +14 -9
  4. package/dist/ios/fastfile.js.map +1 -1
  5. package/dist/ios/gymfile.js +11 -7
  6. package/dist/ios/gymfile.js.map +1 -1
  7. package/dist/steps/functionGroups/build.js +3 -0
  8. package/dist/steps/functionGroups/build.js.map +1 -1
  9. package/dist/steps/functions/generateGymfileFromTemplate.js +5 -17
  10. package/dist/steps/functions/generateGymfileFromTemplate.js.map +1 -1
  11. package/dist/steps/functions/restoreBuildCache.d.ts +1 -0
  12. package/dist/steps/functions/restoreBuildCache.js +11 -0
  13. package/dist/steps/functions/restoreBuildCache.js.map +1 -1
  14. package/dist/steps/functions/useNpmToken.js +3 -4
  15. package/dist/steps/functions/useNpmToken.js.map +1 -1
  16. package/dist/steps/utils/android/gradleConfig.js +11 -8
  17. package/dist/steps/utils/android/gradleConfig.js.map +1 -1
  18. package/dist/templates/EasBuildConfigureVersionGradle.d.ts +1 -0
  19. package/{templates/eas-build-configure-version.gradle.template → dist/templates/EasBuildConfigureVersionGradle.js} +6 -1
  20. package/dist/templates/EasBuildConfigureVersionGradle.js.map +1 -0
  21. package/dist/templates/EasBuildGradle.d.ts +1 -0
  22. package/{templates/eas-build.gradle → dist/templates/EasBuildGradle.js} +6 -2
  23. package/dist/templates/EasBuildGradle.js.map +1 -0
  24. package/dist/templates/EasBuildInjectAndroidCredentialsGradle.d.ts +1 -0
  25. package/{templates/eas-build-inject-android-credentials.gradle → dist/templates/EasBuildInjectAndroidCredentialsGradle.js} +6 -2
  26. package/dist/templates/EasBuildInjectAndroidCredentialsGradle.js.map +1 -0
  27. package/dist/templates/FastfileResign.d.ts +1 -0
  28. package/{templates/Fastfile.resign.template → dist/templates/FastfileResign.js} +6 -1
  29. package/dist/templates/FastfileResign.js.map +1 -0
  30. package/dist/templates/GymfileArchive.d.ts +1 -0
  31. package/{templates/Gymfile.archive.template → dist/templates/GymfileArchive.js} +7 -2
  32. package/dist/templates/GymfileArchive.js.map +1 -0
  33. package/dist/templates/GymfileSimulator.d.ts +1 -0
  34. package/{templates/Gymfile.simulator.template → dist/templates/GymfileSimulator.js} +6 -1
  35. package/dist/templates/GymfileSimulator.js.map +1 -0
  36. package/dist/templates/npmrc.d.ts +1 -0
  37. package/dist/templates/npmrc.js +7 -0
  38. package/dist/templates/npmrc.js.map +1 -0
  39. package/dist/utils/npmrc.js +3 -4
  40. package/dist/utils/npmrc.js.map +1 -1
  41. package/package.json +13 -8
  42. package/templates/npmrc +0 -2
@@ -7,7 +7,7 @@ exports.configureBuildGradle = configureBuildGradle;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const config_plugins_1 = require("@expo/config-plugins");
9
9
  const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const EAS_BUILD_GRADLE_TEMPLATE_PATH = path_1.default.join(__dirname, '../../templates/eas-build.gradle');
10
+ const EasBuildGradle_1 = require("../templates/EasBuildGradle");
11
11
  const APPLY_EAS_BUILD_GRADLE_LINE = 'apply from: "./eas-build.gradle"';
12
12
  async function configureBuildGradle(ctx) {
13
13
  ctx.logger.info('Injecting signing config into build.gradle');
@@ -28,7 +28,7 @@ function getEasBuildGradlePath(projectRoot) {
28
28
  }
29
29
  async function createEasBuildGradle(projectRoot) {
30
30
  const easBuildGradlePath = getEasBuildGradlePath(projectRoot);
31
- await fs_extra_1.default.copy(EAS_BUILD_GRADLE_TEMPLATE_PATH, easBuildGradlePath);
31
+ await fs_extra_1.default.writeFile(easBuildGradlePath, EasBuildGradle_1.EasBuildGradle);
32
32
  }
33
33
  async function addApplyToBuildGradle(projectRoot) {
34
34
  const buildGradlePath = config_plugins_1.AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"gradleConfig.js","sourceRoot":"","sources":["../../src/android/gradleConfig.ts"],"names":[],"mappings":";;;;;AAWA,oDASC;AApBD,gDAAwB;AAExB,yDAAqD;AAErD,wDAA0B;AAI1B,MAAM,8BAA8B,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;AAChG,MAAM,2BAA2B,GAAG,kCAAkC,CAAC;AAEhE,KAAK,UAAU,oBAAoB,CAAC,GAA8B;IACvE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC9D,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,oBAAoB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACjE,MAAM,oBAAoB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACjE,MAAM,qBAAqB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,kBAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,kBAAE,CAAC,IAAI,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,MAAM,eAAe,GAAG,8BAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,mBAAmB,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAElF,IAAI,OAAO,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,EAAE,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,kBAAE,CAAC,SAAS,CAChB,eAAe,EACf,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,2BAA2B,IAAI,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,QAAgB,EAAE,MAAc;IAC/C,OAAO,CACL,QAAQ;SACL,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC;QACZ,0CAA0C;SACzC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACzE,CAAC;AACJ,CAAC","sourcesContent":["import path from 'path';\n\nimport { AndroidConfig } from '@expo/config-plugins';\nimport { Android } from '@expo/eas-build-job';\nimport fs from 'fs-extra';\n\nimport { BuildContext } from '../context';\n\nconst EAS_BUILD_GRADLE_TEMPLATE_PATH = path.join(__dirname, '../../templates/eas-build.gradle');\nconst APPLY_EAS_BUILD_GRADLE_LINE = 'apply from: \"./eas-build.gradle\"';\n\nexport async function configureBuildGradle(ctx: BuildContext<Android.Job>): Promise<void> {\n ctx.logger.info('Injecting signing config into build.gradle');\n if (await fs.pathExists(getEasBuildGradlePath(ctx.getReactNativeProjectDirectory()))) {\n ctx.markBuildPhaseHasWarnings();\n ctx.logger.warn('eas-build.gradle script is deprecated, please remove it from your project.');\n }\n await deleteEasBuildGradle(ctx.getReactNativeProjectDirectory());\n await createEasBuildGradle(ctx.getReactNativeProjectDirectory());\n await addApplyToBuildGradle(ctx.getReactNativeProjectDirectory());\n}\n\nasync function deleteEasBuildGradle(projectRoot: string): Promise<void> {\n const easBuildGradlePath = getEasBuildGradlePath(projectRoot);\n await fs.remove(easBuildGradlePath);\n}\n\nfunction getEasBuildGradlePath(projectRoot: string): string {\n return path.join(projectRoot, 'android/app/eas-build.gradle');\n}\n\nasync function createEasBuildGradle(projectRoot: string): Promise<void> {\n const easBuildGradlePath = getEasBuildGradlePath(projectRoot);\n await fs.copy(EAS_BUILD_GRADLE_TEMPLATE_PATH, easBuildGradlePath);\n}\n\nasync function addApplyToBuildGradle(projectRoot: string): Promise<void> {\n const buildGradlePath = AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);\n const buildGradleContents = await fs.readFile(path.join(buildGradlePath), 'utf8');\n\n if (hasLine(buildGradleContents, APPLY_EAS_BUILD_GRADLE_LINE)) {\n return;\n }\n\n await fs.writeFile(\n buildGradlePath,\n `${buildGradleContents.trim()}\\n${APPLY_EAS_BUILD_GRADLE_LINE}\\n`\n );\n}\n\nfunction hasLine(haystack: string, needle: string): boolean {\n return (\n haystack\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some((line) => line === needle || line === needle.replace(/\"/g, \"'\"))\n );\n}\n"]}
1
+ {"version":3,"file":"gradleConfig.js","sourceRoot":"","sources":["../../src/android/gradleConfig.ts"],"names":[],"mappings":";;;;;AAUA,oDASC;AAnBD,gDAAwB;AAExB,yDAAqD;AAErD,wDAA0B;AAG1B,gEAA6D;AAC7D,MAAM,2BAA2B,GAAG,kCAAkC,CAAC;AAEhE,KAAK,UAAU,oBAAoB,CAAC,GAA8B;IACvE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC9D,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,oBAAoB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACjE,MAAM,oBAAoB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACjE,MAAM,qBAAqB,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,kBAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IACrD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,kBAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,+BAAc,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,MAAM,eAAe,GAAG,8BAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,mBAAmB,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAElF,IAAI,OAAO,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,EAAE,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,kBAAE,CAAC,SAAS,CAChB,eAAe,EACf,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,2BAA2B,IAAI,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,QAAgB,EAAE,MAAc;IAC/C,OAAO,CACL,QAAQ;SACL,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC;QACZ,0CAA0C;SACzC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACzE,CAAC;AACJ,CAAC","sourcesContent":["import path from 'path';\n\nimport { AndroidConfig } from '@expo/config-plugins';\nimport { Android } from '@expo/eas-build-job';\nimport fs from 'fs-extra';\n\nimport { BuildContext } from '../context';\nimport { EasBuildGradle } from '../templates/EasBuildGradle';\nconst APPLY_EAS_BUILD_GRADLE_LINE = 'apply from: \"./eas-build.gradle\"';\n\nexport async function configureBuildGradle(ctx: BuildContext<Android.Job>): Promise<void> {\n ctx.logger.info('Injecting signing config into build.gradle');\n if (await fs.pathExists(getEasBuildGradlePath(ctx.getReactNativeProjectDirectory()))) {\n ctx.markBuildPhaseHasWarnings();\n ctx.logger.warn('eas-build.gradle script is deprecated, please remove it from your project.');\n }\n await deleteEasBuildGradle(ctx.getReactNativeProjectDirectory());\n await createEasBuildGradle(ctx.getReactNativeProjectDirectory());\n await addApplyToBuildGradle(ctx.getReactNativeProjectDirectory());\n}\n\nasync function deleteEasBuildGradle(projectRoot: string): Promise<void> {\n const easBuildGradlePath = getEasBuildGradlePath(projectRoot);\n await fs.remove(easBuildGradlePath);\n}\n\nfunction getEasBuildGradlePath(projectRoot: string): string {\n return path.join(projectRoot, 'android/app/eas-build.gradle');\n}\n\nasync function createEasBuildGradle(projectRoot: string): Promise<void> {\n const easBuildGradlePath = getEasBuildGradlePath(projectRoot);\n await fs.writeFile(easBuildGradlePath, EasBuildGradle);\n}\n\nasync function addApplyToBuildGradle(projectRoot: string): Promise<void> {\n const buildGradlePath = AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);\n const buildGradleContents = await fs.readFile(path.join(buildGradlePath), 'utf8');\n\n if (hasLine(buildGradleContents, APPLY_EAS_BUILD_GRADLE_LINE)) {\n return;\n }\n\n await fs.writeFile(\n buildGradlePath,\n `${buildGradleContents.trim()}\\n${APPLY_EAS_BUILD_GRADLE_LINE}\\n`\n );\n}\n\nfunction hasLine(haystack: string, needle: string): boolean {\n return (\n haystack\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some((line) => line === needle || line === needle.replace(/\"/g, \"'\"))\n );\n}\n"]}
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createFastfileForResigningBuild = createFastfileForResigningBuild;
7
- const path_1 = __importDefault(require("path"));
8
- const template_file_1 = __importDefault(require("@expo/template-file"));
9
- const RESIGN_TEMPLATE_FILE_PATH = path_1.default.join(__dirname, '../../templates/Fastfile.resign.template');
7
+ const template_file_1 = require("@expo/template-file");
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const FastfileResign_1 = require("../templates/FastfileResign");
10
10
  async function createFastfileForResigningBuild({ outputFile, ipaPath, signingIdentity, keychainPath, targetProvisioningProfiles, }) {
11
11
  const PROFILES = [];
12
12
  const targets = Object.keys(targetProvisioningProfiles);
@@ -17,11 +17,16 @@ async function createFastfileForResigningBuild({ outputFile, ipaPath, signingIde
17
17
  PATH: profile.path,
18
18
  });
19
19
  }
20
- await (0, template_file_1.default)(RESIGN_TEMPLATE_FILE_PATH, {
21
- IPA_PATH: ipaPath,
22
- SIGNING_IDENTITY: signingIdentity,
23
- PROFILES,
24
- KEYCHAIN_PATH: keychainPath,
25
- }, outputFile, { mustache: false });
20
+ const output = (0, template_file_1.templateString)({
21
+ input: FastfileResign_1.FastfileResignTemplate,
22
+ vars: {
23
+ IPA_PATH: ipaPath,
24
+ SIGNING_IDENTITY: signingIdentity,
25
+ PROFILES,
26
+ KEYCHAIN_PATH: keychainPath,
27
+ },
28
+ mustache: false,
29
+ });
30
+ await fs_extra_1.default.writeFile(outputFile, output);
26
31
  }
27
32
  //# sourceMappingURL=fastfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fastfile.js","sourceRoot":"","sources":["../../src/ios/fastfile.ts"],"names":[],"mappings":";;;;;AAQA,0EAkCC;AA1CD,gDAAwB;AAExB,wEAA+C;AAI/C,MAAM,yBAAyB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;AAE5F,KAAK,UAAU,+BAA+B,CAAC,EACpD,UAAU,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,0BAA0B,GAO3B;IACC,MAAM,QAAQ,GAA0C,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,OAAO,CAAC,gBAAgB;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAA,uBAAY,EAChB,yBAAyB,EACzB;QACE,QAAQ,EAAE,OAAO;QACjB,gBAAgB,EAAE,eAAe;QACjC,QAAQ;QACR,aAAa,EAAE,YAAY;KAC5B,EACD,UAAU,EACV,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;AACJ,CAAC","sourcesContent":["import path from 'path';\n\nimport templateFile from '@expo/template-file';\n\nimport { TargetProvisioningProfiles } from './credentials/manager';\n\nconst RESIGN_TEMPLATE_FILE_PATH = path.join(__dirname, '../../templates/Fastfile.resign.template');\n\nexport async function createFastfileForResigningBuild({\n outputFile,\n ipaPath,\n signingIdentity,\n keychainPath,\n targetProvisioningProfiles,\n}: {\n outputFile: string;\n ipaPath: string;\n signingIdentity: string;\n keychainPath: string;\n targetProvisioningProfiles: TargetProvisioningProfiles;\n}): Promise<void> {\n const PROFILES: { BUNDLE_ID: string; PATH: string }[] = [];\n const targets = Object.keys(targetProvisioningProfiles);\n for (const target of targets) {\n const profile = targetProvisioningProfiles[target];\n PROFILES.push({\n BUNDLE_ID: profile.bundleIdentifier,\n PATH: profile.path,\n });\n }\n\n await templateFile(\n RESIGN_TEMPLATE_FILE_PATH,\n {\n IPA_PATH: ipaPath,\n SIGNING_IDENTITY: signingIdentity,\n PROFILES,\n KEYCHAIN_PATH: keychainPath,\n },\n outputFile,\n { mustache: false }\n );\n}\n"]}
1
+ {"version":3,"file":"fastfile.js","sourceRoot":"","sources":["../../src/ios/fastfile.ts"],"names":[],"mappings":";;;;;AAOA,0EAmCC;AA1CD,uDAAqD;AACrD,wDAA0B;AAE1B,gEAAqE;AAI9D,KAAK,UAAU,+BAA+B,CAAC,EACpD,UAAU,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,0BAA0B,GAO3B;IACC,MAAM,QAAQ,GAA0C,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,OAAO,CAAC,gBAAgB;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,8BAAc,EAAC;QAC5B,KAAK,EAAE,uCAAsB;QAC7B,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,eAAe;YACjC,QAAQ;YACR,aAAa,EAAE,YAAY;SAC5B;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import { templateString } from '@expo/template-file';\nimport fs from 'fs-extra';\n\nimport { FastfileResignTemplate } from '../templates/FastfileResign';\n\nimport { TargetProvisioningProfiles } from './credentials/manager';\n\nexport async function createFastfileForResigningBuild({\n outputFile,\n ipaPath,\n signingIdentity,\n keychainPath,\n targetProvisioningProfiles,\n}: {\n outputFile: string;\n ipaPath: string;\n signingIdentity: string;\n keychainPath: string;\n targetProvisioningProfiles: TargetProvisioningProfiles;\n}): Promise<void> {\n const PROFILES: { BUNDLE_ID: string; PATH: string }[] = [];\n const targets = Object.keys(targetProvisioningProfiles);\n for (const target of targets) {\n const profile = targetProvisioningProfiles[target];\n PROFILES.push({\n BUNDLE_ID: profile.bundleIdentifier,\n PATH: profile.path,\n });\n }\n\n const output = templateString({\n input: FastfileResignTemplate,\n vars: {\n IPA_PATH: ipaPath,\n SIGNING_IDENTITY: signingIdentity,\n PROFILES,\n KEYCHAIN_PATH: keychainPath,\n },\n mustache: false,\n });\n\n await fs.writeFile(outputFile, output);\n}\n"]}
@@ -5,11 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createGymfileForArchiveBuild = createGymfileForArchiveBuild;
7
7
  exports.createGymfileForSimulatorBuild = createGymfileForSimulatorBuild;
8
- const path_1 = __importDefault(require("path"));
9
- const template_file_1 = __importDefault(require("@expo/template-file"));
8
+ const template_file_1 = require("@expo/template-file");
10
9
  const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const ARCHIVE_TEMPLATE_FILE_PATH = path_1.default.join(__dirname, '../../templates/Gymfile.archive.template');
12
- const SIMULATOR_TEMPLATE_FILE_PATH = path_1.default.join(__dirname, '../../templates/Gymfile.simulator.template');
10
+ const GymfileArchive_1 = require("../templates/GymfileArchive");
11
+ const GymfileSimulator_1 = require("../templates/GymfileSimulator");
13
12
  async function createGymfileForArchiveBuild({ outputFile, clean, credentials, scheme, buildConfiguration, entitlements, outputDirectory, logsDirectory, }) {
14
13
  const PROFILES = [];
15
14
  const targets = Object.keys(credentials.targetProvisioningProfiles);
@@ -23,7 +22,7 @@ async function createGymfileForArchiveBuild({ outputFile, clean, credentials, sc
23
22
  const ICLOUD_CONTAINER_ENVIRONMENT = entitlements === null || entitlements === void 0 ? void 0 : entitlements['com.apple.developer.icloud-container-environment'];
24
23
  await fs_extra_1.default.mkdirp(logsDirectory);
25
24
  await createGymfile({
26
- template: ARCHIVE_TEMPLATE_FILE_PATH,
25
+ template: GymfileArchive_1.GymfileArchiveTemplate,
27
26
  outputFile,
28
27
  vars: {
29
28
  KEYCHAIN_PATH: credentials.keychainPath,
@@ -41,7 +40,7 @@ async function createGymfileForArchiveBuild({ outputFile, clean, credentials, sc
41
40
  async function createGymfileForSimulatorBuild({ outputFile, clean, scheme, buildConfiguration, derivedDataPath, logsDirectory, simulatorDestination, }) {
42
41
  await fs_extra_1.default.mkdirp(logsDirectory);
43
42
  await createGymfile({
44
- template: SIMULATOR_TEMPLATE_FILE_PATH,
43
+ template: GymfileSimulator_1.GymfileSimulatorTemplate,
45
44
  outputFile,
46
45
  vars: {
47
46
  SCHEME: scheme,
@@ -54,6 +53,11 @@ async function createGymfileForSimulatorBuild({ outputFile, clean, scheme, build
54
53
  });
55
54
  }
56
55
  async function createGymfile({ template, outputFile, vars, }) {
57
- await (0, template_file_1.default)(template, vars, outputFile, { mustache: false });
56
+ const output = (0, template_file_1.templateString)({
57
+ input: template,
58
+ vars,
59
+ mustache: false,
60
+ });
61
+ await fs_extra_1.default.writeFile(outputFile, output);
58
62
  }
59
63
  //# sourceMappingURL=gymfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gymfile.js","sourceRoot":"","sources":["../../src/ios/gymfile.ts"],"names":[],"mappings":";;;;;AAkCA,oEAwCC;AAED,wEAsBC;AAlGD,gDAAwB;AAExB,wEAA+C;AAC/C,wDAA0B;AAI1B,MAAM,0BAA0B,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;AACpG,MAAM,4BAA4B,GAAG,cAAI,CAAC,IAAI,CAC5C,SAAS,EACT,4CAA4C,CAC7C,CAAC;AAuBK,KAAK,UAAU,4BAA4B,CAAC,EACjD,UAAU,EACV,KAAK,EACL,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,GACO;IACpB,MAAM,QAAQ,GAA0C,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACpE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC/D,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,OAAO,CAAC,gBAAgB;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,4BAA4B,GAChC,YACD,aADC,YAAY,uBAAZ,YAAY,CACV,kDAAkD,CAAuB,CAAC;IAE9E,MAAM,kBAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,aAAa,CAAC;QAClB,QAAQ,EAAE,0BAA0B;QACpC,UAAU;QACV,IAAI,EAAE;YACJ,aAAa,EAAE,WAAW,CAAC,YAAY;YACvC,MAAM,EAAE,MAAM;YACd,0BAA0B,EAAE,kBAAkB;YAC9C,gBAAgB,EAAE,eAAe;YACjC,aAAa,EAAE,WAAW,CAAC,gBAAgB;YAC3C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,cAAc,EAAE,aAAa;YAC7B,QAAQ;YACR,4BAA4B;SAC7B;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,8BAA8B,CAAC,EACnD,UAAU,EACV,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,oBAAoB,GACE;IACtB,MAAM,kBAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,aAAa,CAAC;QAClB,QAAQ,EAAE,4BAA4B;QACtC,UAAU;QACV,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,0BAA0B,EAAE,kBAAkB;YAC9C,4BAA4B,EAAE,oBAAoB;YAClD,iBAAiB,EAAE,eAAe;YAClC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,cAAc,EAAE,aAAa;SAC9B;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,IAAI,GAKL;IACC,MAAM,IAAA,uBAAY,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import path from 'path';\n\nimport templateFile from '@expo/template-file';\nimport fs from 'fs-extra';\n\nimport { Credentials } from './credentials/manager';\n\nconst ARCHIVE_TEMPLATE_FILE_PATH = path.join(__dirname, '../../templates/Gymfile.archive.template');\nconst SIMULATOR_TEMPLATE_FILE_PATH = path.join(\n __dirname,\n '../../templates/Gymfile.simulator.template'\n);\n\ninterface ArchiveBuildOptions {\n outputFile: string;\n credentials: Credentials;\n scheme: string;\n buildConfiguration?: string;\n outputDirectory: string;\n clean: boolean;\n logsDirectory: string;\n entitlements?: object;\n}\n\ninterface SimulatorBuildOptions {\n outputFile: string;\n scheme: string;\n buildConfiguration?: string;\n derivedDataPath: string;\n clean: boolean;\n logsDirectory: string;\n simulatorDestination: string;\n}\n\nexport async function createGymfileForArchiveBuild({\n outputFile,\n clean,\n credentials,\n scheme,\n buildConfiguration,\n entitlements,\n outputDirectory,\n logsDirectory,\n}: ArchiveBuildOptions): Promise<void> {\n const PROFILES: { BUNDLE_ID: string; UUID: string }[] = [];\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 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 await fs.mkdirp(logsDirectory);\n await createGymfile({\n template: ARCHIVE_TEMPLATE_FILE_PATH,\n outputFile,\n vars: {\n KEYCHAIN_PATH: credentials.keychainPath,\n SCHEME: scheme,\n SCHEME_BUILD_CONFIGURATION: buildConfiguration,\n OUTPUT_DIRECTORY: outputDirectory,\n EXPORT_METHOD: credentials.distributionType,\n CLEAN: String(clean),\n LOGS_DIRECTORY: logsDirectory,\n PROFILES,\n ICLOUD_CONTAINER_ENVIRONMENT,\n },\n });\n}\n\nexport async function createGymfileForSimulatorBuild({\n outputFile,\n clean,\n scheme,\n buildConfiguration,\n derivedDataPath,\n logsDirectory,\n simulatorDestination,\n}: SimulatorBuildOptions): Promise<void> {\n await fs.mkdirp(logsDirectory);\n await createGymfile({\n template: SIMULATOR_TEMPLATE_FILE_PATH,\n outputFile,\n vars: {\n SCHEME: scheme,\n SCHEME_BUILD_CONFIGURATION: buildConfiguration,\n SCHEME_SIMULATOR_DESTINATION: simulatorDestination,\n DERIVED_DATA_PATH: derivedDataPath,\n CLEAN: String(clean),\n LOGS_DIRECTORY: logsDirectory,\n },\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"]}
1
+ {"version":3,"file":"gymfile.js","sourceRoot":"","sources":["../../src/ios/gymfile.ts"],"names":[],"mappings":";;;;;AA6BA,oEAwCC;AAED,wEAsBC;AA7FD,uDAAqD;AACrD,wDAA0B;AAE1B,gEAAqE;AACrE,oEAAyE;AAyBlE,KAAK,UAAU,4BAA4B,CAAC,EACjD,UAAU,EACV,KAAK,EACL,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,GACO;IACpB,MAAM,QAAQ,GAA0C,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACpE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC/D,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,OAAO,CAAC,gBAAgB;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,4BAA4B,GAChC,YACD,aADC,YAAY,uBAAZ,YAAY,CACV,kDAAkD,CAAuB,CAAC;IAE9E,MAAM,kBAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,aAAa,CAAC;QAClB,QAAQ,EAAE,uCAAsB;QAChC,UAAU;QACV,IAAI,EAAE;YACJ,aAAa,EAAE,WAAW,CAAC,YAAY;YACvC,MAAM,EAAE,MAAM;YACd,0BAA0B,EAAE,kBAAkB;YAC9C,gBAAgB,EAAE,eAAe;YACjC,aAAa,EAAE,WAAW,CAAC,gBAAgB;YAC3C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,cAAc,EAAE,aAAa;YAC7B,QAAQ;YACR,4BAA4B;SAC7B;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,8BAA8B,CAAC,EACnD,UAAU,EACV,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,oBAAoB,GACE;IACtB,MAAM,kBAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,aAAa,CAAC;QAClB,QAAQ,EAAE,2CAAwB;QAClC,UAAU;QACV,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,0BAA0B,EAAE,kBAAkB;YAC9C,4BAA4B,EAAE,oBAAoB;YAClD,iBAAiB,EAAE,eAAe;YAClC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,cAAc,EAAE,aAAa;SAC9B;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,IAAI,GAKL;IACC,MAAM,MAAM,GAAG,IAAA,8BAAc,EAAC;QAC5B,KAAK,EAAE,QAAQ;QACf,IAAI;QACJ,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import { templateString } from '@expo/template-file';\nimport fs from 'fs-extra';\n\nimport { GymfileArchiveTemplate } from '../templates/GymfileArchive';\nimport { GymfileSimulatorTemplate } from '../templates/GymfileSimulator';\n\nimport { Credentials } from './credentials/manager';\n\ninterface ArchiveBuildOptions {\n outputFile: string;\n credentials: Credentials;\n scheme: string;\n buildConfiguration?: string;\n outputDirectory: string;\n clean: boolean;\n logsDirectory: string;\n entitlements?: object;\n}\n\ninterface SimulatorBuildOptions {\n outputFile: string;\n scheme: string;\n buildConfiguration?: string;\n derivedDataPath: string;\n clean: boolean;\n logsDirectory: string;\n simulatorDestination: string;\n}\n\nexport async function createGymfileForArchiveBuild({\n outputFile,\n clean,\n credentials,\n scheme,\n buildConfiguration,\n entitlements,\n outputDirectory,\n logsDirectory,\n}: ArchiveBuildOptions): Promise<void> {\n const PROFILES: { BUNDLE_ID: string; UUID: string }[] = [];\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 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 await fs.mkdirp(logsDirectory);\n await createGymfile({\n template: GymfileArchiveTemplate,\n outputFile,\n vars: {\n KEYCHAIN_PATH: credentials.keychainPath,\n SCHEME: scheme,\n SCHEME_BUILD_CONFIGURATION: buildConfiguration,\n OUTPUT_DIRECTORY: outputDirectory,\n EXPORT_METHOD: credentials.distributionType,\n CLEAN: String(clean),\n LOGS_DIRECTORY: logsDirectory,\n PROFILES,\n ICLOUD_CONTAINER_ENVIRONMENT,\n },\n });\n}\n\nexport async function createGymfileForSimulatorBuild({\n outputFile,\n clean,\n scheme,\n buildConfiguration,\n derivedDataPath,\n logsDirectory,\n simulatorDestination,\n}: SimulatorBuildOptions): Promise<void> {\n await fs.mkdirp(logsDirectory);\n await createGymfile({\n template: GymfileSimulatorTemplate,\n outputFile,\n vars: {\n SCHEME: scheme,\n SCHEME_BUILD_CONFIGURATION: buildConfiguration,\n SCHEME_SIMULATOR_DESTINATION: simulatorDestination,\n DERIVED_DATA_PATH: derivedDataPath,\n CLEAN: String(clean),\n LOGS_DIRECTORY: logsDirectory,\n },\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 const output = templateString({\n input: template,\n vars,\n mustache: false,\n });\n await fs.writeFile(outputFile, output);\n}\n"]}
@@ -173,6 +173,7 @@ function createStepsForIosBuildWithCredentials({ globalCtx, buildToolsContext, }
173
173
  runFastlane,
174
174
  (0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(buildToolsContext).createBuildStepFromFunctionCall(globalCtx),
175
175
  saveCache,
176
+ (0, restoreBuildCache_1.createCacheStatsBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
176
177
  ];
177
178
  }
178
179
  function createStepsForAndroidBuildWithoutCredentials({ globalCtx, buildToolsContext, }) {
@@ -223,6 +224,7 @@ function createStepsForAndroidBuildWithoutCredentials({ globalCtx, buildToolsCon
223
224
  runGradle,
224
225
  (0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(buildToolsContext).createBuildStepFromFunctionCall(globalCtx),
225
226
  saveCache,
227
+ (0, restoreBuildCache_1.createCacheStatsBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
226
228
  ];
227
229
  }
228
230
  function createStepsForAndroidBuildWithCredentials({ globalCtx, buildToolsContext, }) {
@@ -275,6 +277,7 @@ function createStepsForAndroidBuildWithCredentials({ globalCtx, buildToolsContex
275
277
  : []),
276
278
  (0, findAndUploadBuildArtifacts_1.createFindAndUploadBuildArtifactsBuildFunction)(buildToolsContext).createBuildStepFromFunctionCall(globalCtx),
277
279
  saveCache,
280
+ (0, restoreBuildCache_1.createCacheStatsBuildFunction)().createBuildStepFromFunctionCall(globalCtx),
278
281
  ];
279
282
  }
280
283
  //# sourceMappingURL=build.js.map
@@ -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 { BuildJob, 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 { 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';\nimport { createSetUpNpmrcBuildFunction } from '../functions/useNpmToken';\nimport { createResolveBuildConfigBuildFunction } from '../functions/resolveBuildConfig';\nimport { calculateEASUpdateRuntimeVersionFunction } from '../functions/calculateEASUpdateRuntimeVersion';\nimport { eagerBundleBuildFunction } from '../functions/eagerBundle';\nimport { shouldUseEagerBundle } from '../../common/eagerBundle';\nimport { createRestoreBuildCacheFunction } from '../functions/restoreBuildCache';\nimport { createSaveBuildCacheFunction } from '../functions/saveBuildCache';\n\ninterface HelperFunctionsInput {\n globalCtx: BuildStepGlobalContext;\n buildToolsContext: CustomBuildContext<BuildJob>;\n}\n\nexport function createEasBuildBuildFunctionGroup(\n buildToolsContext: CustomBuildContext<BuildJob>\n): BuildFunctionGroup {\n return new BuildFunctionGroup({\n namespace: 'eas',\n id: 'build',\n createBuildStepsFromFunctionGroupCall: (globalCtx) => {\n if (buildToolsContext.job.platform === Platform.IOS) {\n if (buildToolsContext.job.simulator) {\n return createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n });\n } else {\n return createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n });\n }\n } else if (buildToolsContext.job.platform === Platform.ANDROID) {\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 throw new Error('Build function group is not supported in generic jobs.');\n },\n });\n}\n\nfunction createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\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 resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const runFastlane = runFastlaneFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_fastlane',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n calculateEASUpdateRuntimeVersion,\n installPods,\n configureEASUpdate,\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n generateGymfileFromTemplateFunction().createBuildStepFromFunctionCall(globalCtx),\n runFastlane,\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const evictUsedBefore = new Date();\n\n const resolveAppleTeamIdFromCredentials =\n resolveAppleTeamIdFromCredentialsFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'resolve_apple_team_id_from_credentials',\n });\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\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 restoreCache = createRestoreBuildCacheFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.IOS,\n },\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 resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\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().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_fastlane',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const saveCache = createSaveBuildCacheFunction(evictUsedBefore).createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.IOS,\n },\n }\n );\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n resolveAppleTeamIdFromCredentials,\n prebuildStep,\n restoreCache,\n calculateEASUpdateRuntimeVersion,\n installPods,\n configureEASUpdate,\n configureIosCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureIosVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n generateGymfile,\n runFastlane,\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n saveCache,\n ];\n}\n\nfunction createStepsForAndroidBuildWithoutCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const evictUsedBefore = new Date();\n\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const restoreCache = createRestoreBuildCacheFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n const runGradle = runGradleFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_gradle',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const saveCache = createSaveBuildCacheFunction(evictUsedBefore).createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n restoreCache,\n calculateEASUpdateRuntimeVersion,\n configureEASUpdate,\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n runGradle,\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n saveCache,\n ];\n}\n\nfunction createStepsForAndroidBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const evictUsedBefore = new Date();\n\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const restoreCache = createRestoreBuildCacheFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n const runGradle = runGradleFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_gradle',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const saveCache = createSaveBuildCacheFunction(evictUsedBefore).createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n restoreCache,\n calculateEASUpdateRuntimeVersion,\n configureEASUpdate,\n injectAndroidCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureAndroidVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n runGradle,\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n saveCache,\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 { BuildJob, 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 { 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';\nimport { createSetUpNpmrcBuildFunction } from '../functions/useNpmToken';\nimport { createResolveBuildConfigBuildFunction } from '../functions/resolveBuildConfig';\nimport { calculateEASUpdateRuntimeVersionFunction } from '../functions/calculateEASUpdateRuntimeVersion';\nimport { eagerBundleBuildFunction } from '../functions/eagerBundle';\nimport { shouldUseEagerBundle } from '../../common/eagerBundle';\nimport {\n createRestoreBuildCacheFunction,\n createCacheStatsBuildFunction,\n} from '../functions/restoreBuildCache';\nimport { createSaveBuildCacheFunction } from '../functions/saveBuildCache';\n\ninterface HelperFunctionsInput {\n globalCtx: BuildStepGlobalContext;\n buildToolsContext: CustomBuildContext<BuildJob>;\n}\n\nexport function createEasBuildBuildFunctionGroup(\n buildToolsContext: CustomBuildContext<BuildJob>\n): BuildFunctionGroup {\n return new BuildFunctionGroup({\n namespace: 'eas',\n id: 'build',\n createBuildStepsFromFunctionGroupCall: (globalCtx) => {\n if (buildToolsContext.job.platform === Platform.IOS) {\n if (buildToolsContext.job.simulator) {\n return createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n });\n } else {\n return createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n });\n }\n } else if (buildToolsContext.job.platform === Platform.ANDROID) {\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 throw new Error('Build function group is not supported in generic jobs.');\n },\n });\n}\n\nfunction createStepsForIosSimulatorBuild({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\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 resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const runFastlane = runFastlaneFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_fastlane',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n calculateEASUpdateRuntimeVersion,\n installPods,\n configureEASUpdate,\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n generateGymfileFromTemplateFunction().createBuildStepFromFunctionCall(globalCtx),\n runFastlane,\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForIosBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const evictUsedBefore = new Date();\n\n const resolveAppleTeamIdFromCredentials =\n resolveAppleTeamIdFromCredentialsFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'resolve_apple_team_id_from_credentials',\n });\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\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 restoreCache = createRestoreBuildCacheFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.IOS,\n },\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 resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\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().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_fastlane',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const saveCache = createSaveBuildCacheFunction(evictUsedBefore).createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.IOS,\n },\n }\n );\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n resolveAppleTeamIdFromCredentials,\n prebuildStep,\n restoreCache,\n calculateEASUpdateRuntimeVersion,\n installPods,\n configureEASUpdate,\n configureIosCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureIosVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n generateGymfile,\n runFastlane,\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n saveCache,\n createCacheStatsBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForAndroidBuildWithoutCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const evictUsedBefore = new Date();\n\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const restoreCache = createRestoreBuildCacheFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n const runGradle = runGradleFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_gradle',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const saveCache = createSaveBuildCacheFunction(evictUsedBefore).createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n restoreCache,\n calculateEASUpdateRuntimeVersion,\n configureEASUpdate,\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n runGradle,\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n saveCache,\n createCacheStatsBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n\nfunction createStepsForAndroidBuildWithCredentials({\n globalCtx,\n buildToolsContext,\n}: HelperFunctionsInput): BuildStep[] {\n const evictUsedBefore = new Date();\n\n const calculateEASUpdateRuntimeVersion =\n calculateEASUpdateRuntimeVersionFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'calculate_eas_update_runtime_version',\n });\n const configureEASUpdate =\n configureEASUpdateIfInstalledFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n throw_if_not_configured: false,\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const restoreCache = createRestoreBuildCacheFunction().createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n const runGradle = runGradleFunction().createBuildStepFromFunctionCall(globalCtx, {\n id: 'run_gradle',\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n });\n const saveCache = createSaveBuildCacheFunction(evictUsedBefore).createBuildStepFromFunctionCall(\n globalCtx,\n {\n callInputs: {\n platform: Platform.ANDROID,\n },\n }\n );\n return [\n createCheckoutBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createSetUpNpmrcBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createInstallNodeModulesBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n createResolveBuildConfigBuildFunction(buildToolsContext).createBuildStepFromFunctionCall(\n globalCtx\n ),\n createPrebuildBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n restoreCache,\n calculateEASUpdateRuntimeVersion,\n configureEASUpdate,\n injectAndroidCredentialsFunction().createBuildStepFromFunctionCall(globalCtx),\n configureAndroidVersionFunction().createBuildStepFromFunctionCall(globalCtx),\n runGradle,\n ...(shouldUseEagerBundle(globalCtx.staticContext.metadata)\n ? [\n eagerBundleBuildFunction().createBuildStepFromFunctionCall(globalCtx, {\n callInputs: {\n resolved_eas_update_runtime_version:\n '${ steps.calculate_eas_update_runtime_version.resolved_eas_update_runtime_version }',\n },\n }),\n ]\n : []),\n createFindAndUploadBuildArtifactsBuildFunction(\n buildToolsContext\n ).createBuildStepFromFunctionCall(globalCtx),\n saveCache,\n createCacheStatsBuildFunction().createBuildStepFromFunctionCall(globalCtx),\n ];\n}\n"]}
@@ -6,13 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.generateGymfileFromTemplateFunction = generateGymfileFromTemplateFunction;
7
7
  const assert_1 = __importDefault(require("assert"));
8
8
  const path_1 = __importDefault(require("path"));
9
- const os_1 = __importDefault(require("os"));
10
9
  const fs_extra_1 = __importDefault(require("fs-extra"));
11
10
  const steps_1 = require("@expo/steps");
12
11
  const config_plugins_1 = require("@expo/config-plugins");
13
12
  const plist_1 = __importDefault(require("@expo/plist"));
14
- const template_file_1 = __importDefault(require("@expo/template-file"));
15
- const uuid_1 = require("uuid");
13
+ const template_file_1 = require("@expo/template-file");
16
14
  const credentials_1 = require("../utils/ios/credentials/credentials");
17
15
  const manager_1 = __importDefault(require("../utils/ios/credentials/manager"));
18
16
  const resolve_1 = require("../utils/ios/resolve");
@@ -130,7 +128,6 @@ function generateGymfileFromTemplateFunction() {
130
128
  const buildConfiguration = (0, resolve_1.resolveBuildConfiguration)(job, inputs.build_configuration.value);
131
129
  const scheme = (0, resolve_1.resolveScheme)(stepCtx.workingDirectory, job, inputs.scheme.value);
132
130
  const entitlements = await maybeReadEntitlementsAsync(stepCtx.logger, stepCtx.workingDirectory, scheme, buildConfiguration);
133
- const templatePath = await saveTemplateToTemporaryFileAsync(template);
134
131
  const gymfilePath = path_1.default.join(stepCtx.workingDirectory, 'ios/Gymfile');
135
132
  const PROFILES = [];
136
133
  if (credentials) {
@@ -150,9 +147,8 @@ function generateGymfileFromTemplateFunction() {
150
147
  workingDir: stepCtx.workingDirectory,
151
148
  });
152
149
  const simulatorDestination = `generic/platform=${isTV ? 'tvOS' : 'iOS'} Simulator`;
153
- await createGymfile({
154
- template: templatePath,
155
- outputFile: gymfilePath,
150
+ const output = (0, template_file_1.templateString)({
151
+ input: template,
156
152
  vars: {
157
153
  SCHEME: scheme,
158
154
  BUILD_CONFIGURATION: buildConfiguration,
@@ -171,7 +167,9 @@ function generateGymfileFromTemplateFunction() {
171
167
  : {}),
172
168
  ...extra,
173
169
  },
170
+ mustache: false,
174
171
  });
172
+ await fs_extra_1.default.writeFile(gymfilePath, output);
175
173
  const gymfileContents = await fs_extra_1.default.readFile(gymfilePath, 'utf8');
176
174
  stepCtx.logger.info(`Successfully generated Gymfile: ${gymfileContents}`);
177
175
  },
@@ -195,14 +193,4 @@ async function maybeReadEntitlementsAsync(logger, workingDir, scheme, buildConfi
195
193
  return null;
196
194
  }
197
195
  }
198
- async function createGymfile({ template, outputFile, vars, }) {
199
- await (0, template_file_1.default)(template, vars, outputFile, { mustache: false });
200
- }
201
- async function saveTemplateToTemporaryFileAsync(template) {
202
- const directory = path_1.default.join(os_1.default.tmpdir(), `gymfile-template-${(0, uuid_1.v4)()}`);
203
- await fs_extra_1.default.mkdir(directory, { recursive: true });
204
- const templatePath = path_1.default.join(directory, 'Gymfile.template');
205
- await fs_extra_1.default.writeFile(templatePath, template);
206
- return templatePath;
207
- }
208
196
  //# sourceMappingURL=generateGymfileFromTemplate.js.map
@@ -1 +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"]}
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';\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 { templateString } from '@expo/template-file';\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 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 const output = templateString({\n input: template,\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 mustache: false,\n });\n await fs.writeFile(gymfilePath, output);\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"]}
@@ -2,6 +2,7 @@ import { BuildFunction } from '@expo/steps';
2
2
  import { Platform } from '@expo/eas-build-job';
3
3
  import { bunyan } from '@expo/logger';
4
4
  export declare function createRestoreBuildCacheFunction(): BuildFunction;
5
+ export declare function createCacheStatsBuildFunction(): BuildFunction;
5
6
  export declare function restoreCcacheAsync({ logger, workingDirectory, platform, env, secrets, }: {
6
7
  logger: bunyan;
7
8
  workingDirectory: string;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createRestoreBuildCacheFunction = createRestoreBuildCacheFunction;
7
+ exports.createCacheStatsBuildFunction = createCacheStatsBuildFunction;
7
8
  exports.restoreCcacheAsync = restoreCcacheAsync;
8
9
  exports.cacheStatsAsync = cacheStatsAsync;
9
10
  const steps_1 = require("@expo/steps");
@@ -43,6 +44,16 @@ function createRestoreBuildCacheFunction() {
43
44
  },
44
45
  });
45
46
  }
47
+ function createCacheStatsBuildFunction() {
48
+ return new steps_1.BuildFunction({
49
+ namespace: 'eas',
50
+ id: 'cache_stats',
51
+ name: 'Cache Stats',
52
+ fn: async (stepCtx, { env }) => {
53
+ await cacheStatsAsync({ logger: stepCtx.logger, env });
54
+ },
55
+ });
56
+ }
46
57
  async function restoreCcacheAsync({ logger, workingDirectory, platform, env, secrets, }) {
47
58
  var _a;
48
59
  const enabled = env.EAS_RESTORE_CACHE === '1' || (env.EAS_USE_CACHE === '1' && env.EAS_RESTORE_CACHE !== '0');
@@ -1 +1 @@
1
- {"version":3,"file":"restoreBuildCache.js","sourceRoot":"","sources":["../../../src/steps/functions/restoreBuildCache.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BuildFunction,\n BuildStepInput,\n BuildStepInputValueTypeName,\n spawnAsync,\n} from '@expo/steps';\nimport { Platform } from '@expo/eas-build-job';\nimport { bunyan } from '@expo/logger';\nimport { asyncResult } from '@expo/results';\nimport nullthrows from 'nullthrows';\n\nimport {\n CACHE_KEY_PREFIX_BY_PLATFORM,\n generateDefaultBuildCacheKeyAsync,\n getCcachePath,\n} from '../../utils/cacheKey';\nimport { TurtleFetchError } from '../../utils/turtleFetch';\n\nimport { downloadCacheAsync, decompressCacheAsync, downloadPublicCacheAsync } from './restoreCache';\n\nexport function createRestoreBuildCacheFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'restore_build_cache',\n name: 'Restore Cache',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'platform',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n fn: async (stepCtx, { env, inputs }) => {\n const { logger } = stepCtx;\n const workingDirectory = stepCtx.workingDirectory;\n const platform =\n (inputs.platform.value as Platform | undefined) ??\n stepCtx.global.staticContext.job.platform;\n if (!platform || ![Platform.ANDROID, Platform.IOS].includes(platform)) {\n throw new Error(\n `Unsupported platform: ${platform}. Platform must be \"${Platform.ANDROID}\" or \"${Platform.IOS}\"`\n );\n }\n\n await restoreCcacheAsync({\n logger,\n workingDirectory,\n platform,\n env,\n secrets: stepCtx.global.staticContext.job.secrets,\n });\n },\n });\n}\n\nexport async function restoreCcacheAsync({\n logger,\n workingDirectory,\n platform,\n env,\n secrets,\n}: {\n logger: bunyan;\n workingDirectory: string;\n platform: Platform;\n env: Record<string, string | undefined>;\n secrets?: { robotAccessToken?: string };\n}): Promise<void> {\n const enabled =\n env.EAS_RESTORE_CACHE === '1' || (env.EAS_USE_CACHE === '1' && env.EAS_RESTORE_CACHE !== '0');\n\n if (!enabled) {\n return;\n }\n const robotAccessToken = nullthrows(\n secrets?.robotAccessToken,\n 'Robot access token is required for cache operations'\n );\n const expoApiServerURL = nullthrows(env.__API_SERVER_URL, '__API_SERVER_URL is not set');\n const cachePath = getCcachePath(env);\n\n // Check if ccache is installed before proceeding\n const checkInstall = await asyncResult(\n spawnAsync('command', ['-v', 'ccache'], {\n env,\n stdio: 'pipe',\n shell: true,\n })\n );\n if (!checkInstall.ok) {\n return;\n }\n\n try {\n // Zero ccache stats for accurate tracking\n await asyncResult(\n spawnAsync('ccache', ['--zero-stats'], {\n env,\n stdio: 'pipe',\n })\n );\n\n const cacheKey = await generateDefaultBuildCacheKeyAsync(workingDirectory, platform);\n logger.info(`Restoring cache key: ${cacheKey}`);\n\n const jobId = nullthrows(env.EAS_BUILD_ID, 'EAS_BUILD_ID is not set');\n const { archivePath, matchedKey } = await downloadCacheAsync({\n logger,\n jobId,\n expoApiServerURL,\n robotAccessToken,\n paths: [cachePath],\n key: cacheKey,\n keyPrefixes: [CACHE_KEY_PREFIX_BY_PLATFORM[platform]],\n platform,\n });\n\n await decompressCacheAsync({\n archivePath,\n workingDirectory,\n verbose: env.EXPO_DEBUG === '1',\n logger,\n });\n\n logger.info(\n `Cache restored successfully ${matchedKey === cacheKey ? '(direct hit)' : '(prefix match)'}`\n );\n } catch (err: unknown) {\n if (err instanceof TurtleFetchError && err.response?.status === 404) {\n try {\n logger.info('No cache found for this key. Downloading public cache...');\n const { archivePath } = await downloadPublicCacheAsync({\n logger,\n expoApiServerURL,\n robotAccessToken,\n paths: [cachePath],\n platform,\n });\n await decompressCacheAsync({\n archivePath,\n workingDirectory,\n verbose: env.EXPO_DEBUG === '1',\n logger,\n });\n } catch (err: unknown) {\n logger.warn({ err }, 'Failed to download public cache');\n }\n } else {\n logger.warn({ err }, 'Failed to restore cache');\n }\n }\n}\n\nexport async function cacheStatsAsync({\n logger,\n env,\n}: {\n logger: bunyan;\n env: Record<string, string | undefined>;\n}): Promise<void> {\n const enabled =\n env.EAS_RESTORE_CACHE === '1' || (env.EAS_USE_CACHE === '1' && env.EAS_RESTORE_CACHE !== '0');\n\n if (!enabled) {\n return;\n }\n\n // Check if ccache is installed\n const checkInstall = await asyncResult(\n spawnAsync('command', ['-v', 'ccache'], {\n env,\n stdio: 'pipe',\n shell: true,\n })\n );\n if (!checkInstall.ok) {\n return;\n }\n\n logger.info('Cache stats:');\n await asyncResult(\n spawnAsync('ccache', ['--show-stats', '-v'], {\n env,\n logger,\n stdio: 'pipe',\n })\n );\n}\n"]}
1
+ {"version":3,"file":"restoreBuildCache.js","sourceRoot":"","sources":["../../../src/steps/functions/restoreBuildCache.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BuildFunction,\n BuildStepInput,\n BuildStepInputValueTypeName,\n spawnAsync,\n} from '@expo/steps';\nimport { Platform } from '@expo/eas-build-job';\nimport { bunyan } from '@expo/logger';\nimport { asyncResult } from '@expo/results';\nimport nullthrows from 'nullthrows';\n\nimport {\n CACHE_KEY_PREFIX_BY_PLATFORM,\n generateDefaultBuildCacheKeyAsync,\n getCcachePath,\n} from '../../utils/cacheKey';\nimport { TurtleFetchError } from '../../utils/turtleFetch';\n\nimport { downloadCacheAsync, decompressCacheAsync, downloadPublicCacheAsync } from './restoreCache';\n\nexport function createRestoreBuildCacheFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'restore_build_cache',\n name: 'Restore Cache',\n inputProviders: [\n BuildStepInput.createProvider({\n id: 'platform',\n required: false,\n allowedValueTypeName: BuildStepInputValueTypeName.STRING,\n }),\n ],\n fn: async (stepCtx, { env, inputs }) => {\n const { logger } = stepCtx;\n const workingDirectory = stepCtx.workingDirectory;\n const platform =\n (inputs.platform.value as Platform | undefined) ??\n stepCtx.global.staticContext.job.platform;\n if (!platform || ![Platform.ANDROID, Platform.IOS].includes(platform)) {\n throw new Error(\n `Unsupported platform: ${platform}. Platform must be \"${Platform.ANDROID}\" or \"${Platform.IOS}\"`\n );\n }\n\n await restoreCcacheAsync({\n logger,\n workingDirectory,\n platform,\n env,\n secrets: stepCtx.global.staticContext.job.secrets,\n });\n },\n });\n}\n\nexport function createCacheStatsBuildFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'cache_stats',\n name: 'Cache Stats',\n fn: async (stepCtx, { env }) => {\n await cacheStatsAsync({ logger: stepCtx.logger, env });\n },\n });\n}\n\nexport async function restoreCcacheAsync({\n logger,\n workingDirectory,\n platform,\n env,\n secrets,\n}: {\n logger: bunyan;\n workingDirectory: string;\n platform: Platform;\n env: Record<string, string | undefined>;\n secrets?: { robotAccessToken?: string };\n}): Promise<void> {\n const enabled =\n env.EAS_RESTORE_CACHE === '1' || (env.EAS_USE_CACHE === '1' && env.EAS_RESTORE_CACHE !== '0');\n\n if (!enabled) {\n return;\n }\n const robotAccessToken = nullthrows(\n secrets?.robotAccessToken,\n 'Robot access token is required for cache operations'\n );\n const expoApiServerURL = nullthrows(env.__API_SERVER_URL, '__API_SERVER_URL is not set');\n const cachePath = getCcachePath(env);\n\n // Check if ccache is installed before proceeding\n const checkInstall = await asyncResult(\n spawnAsync('command', ['-v', 'ccache'], {\n env,\n stdio: 'pipe',\n shell: true,\n })\n );\n if (!checkInstall.ok) {\n return;\n }\n\n try {\n // Zero ccache stats for accurate tracking\n await asyncResult(\n spawnAsync('ccache', ['--zero-stats'], {\n env,\n stdio: 'pipe',\n })\n );\n\n const cacheKey = await generateDefaultBuildCacheKeyAsync(workingDirectory, platform);\n logger.info(`Restoring cache key: ${cacheKey}`);\n\n const jobId = nullthrows(env.EAS_BUILD_ID, 'EAS_BUILD_ID is not set');\n const { archivePath, matchedKey } = await downloadCacheAsync({\n logger,\n jobId,\n expoApiServerURL,\n robotAccessToken,\n paths: [cachePath],\n key: cacheKey,\n keyPrefixes: [CACHE_KEY_PREFIX_BY_PLATFORM[platform]],\n platform,\n });\n\n await decompressCacheAsync({\n archivePath,\n workingDirectory,\n verbose: env.EXPO_DEBUG === '1',\n logger,\n });\n\n logger.info(\n `Cache restored successfully ${matchedKey === cacheKey ? '(direct hit)' : '(prefix match)'}`\n );\n } catch (err: unknown) {\n if (err instanceof TurtleFetchError && err.response?.status === 404) {\n try {\n logger.info('No cache found for this key. Downloading public cache...');\n const { archivePath } = await downloadPublicCacheAsync({\n logger,\n expoApiServerURL,\n robotAccessToken,\n paths: [cachePath],\n platform,\n });\n await decompressCacheAsync({\n archivePath,\n workingDirectory,\n verbose: env.EXPO_DEBUG === '1',\n logger,\n });\n } catch (err: unknown) {\n logger.warn({ err }, 'Failed to download public cache');\n }\n } else {\n logger.warn({ err }, 'Failed to restore cache');\n }\n }\n}\n\nexport async function cacheStatsAsync({\n logger,\n env,\n}: {\n logger: bunyan;\n env: Record<string, string | undefined>;\n}): Promise<void> {\n const enabled =\n env.EAS_RESTORE_CACHE === '1' || (env.EAS_USE_CACHE === '1' && env.EAS_RESTORE_CACHE !== '0');\n\n if (!enabled) {\n return;\n }\n\n // Check if ccache is installed\n const checkInstall = await asyncResult(\n spawnAsync('command', ['-v', 'ccache'], {\n env,\n stdio: 'pipe',\n shell: true,\n })\n );\n if (!checkInstall.ok) {\n return;\n }\n\n logger.info('Cache stats:');\n await asyncResult(\n spawnAsync('ccache', ['--show-stats', '-v'], {\n env,\n logger,\n stdio: 'pipe',\n })\n );\n}\n"]}
@@ -8,7 +8,7 @@ const path_1 = __importDefault(require("path"));
8
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
9
9
  const steps_1 = require("@expo/steps");
10
10
  const packageManager_1 = require("../../utils/packageManager");
11
- const NPMRC_TEMPLATE_PATH = path_1.default.join(__dirname, '../../../templates/npmrc');
11
+ const npmrc_1 = require("../../templates/npmrc");
12
12
  function createSetUpNpmrcBuildFunction() {
13
13
  return new steps_1.BuildFunction({
14
14
  namespace: 'eas',
@@ -23,10 +23,9 @@ function createSetUpNpmrcBuildFunction() {
23
23
  logger.info('.npmrc already exists in your project directory, skipping generation');
24
24
  }
25
25
  else {
26
- const npmrcContents = await fs_extra_1.default.readFile(NPMRC_TEMPLATE_PATH, 'utf8');
27
26
  logger.info('Creating .npmrc in your project directory with the following contents:');
28
- logger.info(npmrcContents);
29
- await fs_extra_1.default.copy(NPMRC_TEMPLATE_PATH, projectNpmrcPath);
27
+ logger.info(npmrc_1.NpmrcTemplate);
28
+ await fs_extra_1.default.writeFile(projectNpmrcPath, npmrc_1.NpmrcTemplate);
30
29
  }
31
30
  }
32
31
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"useNpmToken.js","sourceRoot":"","sources":["../../../src/steps/functions/useNpmToken.ts"],"names":[],"mappings":";;;;;AASA,sEA+BC;AAxCD,gDAAwB;AAExB,wDAA0B;AAC1B,uCAA4C;AAE5C,+DAAiE;AAEjE,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;AAE7E,SAAgB,6BAA6B;IAC3C,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC3B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;gBAC3E,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;gBACpF,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;oBACrE,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;oBACtF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC3B,MAAM,kBAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,oCAAmB,EAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC5F,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CACT,mBAAmB,cAAI,CAAC,QAAQ,CAC9B,OAAO,CAAC,MAAM,CAAC,sBAAsB,EACrC,gBAAgB,CACjB,EAAE,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import path from 'path';\n\nimport fs from 'fs-extra';\nimport { BuildFunction } from '@expo/steps';\n\nimport { findPackagerRootDir } from '../../utils/packageManager';\n\nconst NPMRC_TEMPLATE_PATH = path.join(__dirname, '../../../templates/npmrc');\n\nexport function createSetUpNpmrcBuildFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'use_npm_token',\n name: 'Use NPM_TOKEN',\n fn: async (stepCtx, { env }) => {\n const { logger } = stepCtx;\n if (env.NPM_TOKEN) {\n logger.info('We detected that you set the NPM_TOKEN environment variable');\n const projectNpmrcPath = path.join(stepCtx.global.projectTargetDirectory, '.npmrc');\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info('.npmrc already exists in your project directory, skipping generation');\n } else {\n const npmrcContents = await fs.readFile(NPMRC_TEMPLATE_PATH, 'utf8');\n logger.info('Creating .npmrc in your project directory with the following contents:');\n logger.info(npmrcContents);\n await fs.copy(NPMRC_TEMPLATE_PATH, projectNpmrcPath);\n }\n } else {\n const projectNpmrcPath = path.join(findPackagerRootDir(stepCtx.workingDirectory), '.npmrc');\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info(\n `.npmrc found at ${path.relative(\n stepCtx.global.projectTargetDirectory,\n projectNpmrcPath\n )}`\n );\n }\n }\n },\n });\n}\n"]}
1
+ {"version":3,"file":"useNpmToken.js","sourceRoot":"","sources":["../../../src/steps/functions/useNpmToken.ts"],"names":[],"mappings":";;;;;AAQA,sEA8BC;AAtCD,gDAAwB;AAExB,wDAA0B;AAC1B,uCAA4C;AAE5C,+DAAiE;AACjE,iDAAsD;AAEtD,SAAgB,6BAA6B;IAC3C,OAAO,IAAI,qBAAa,CAAC;QACvB,SAAS,EAAE,KAAK;QAChB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC3B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;gBAC3E,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;gBACpF,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;oBACtF,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC;oBAC3B,MAAM,kBAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,qBAAa,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,oCAAmB,EAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC5F,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CACT,mBAAmB,cAAI,CAAC,QAAQ,CAC9B,OAAO,CAAC,MAAM,CAAC,sBAAsB,EACrC,gBAAgB,CACjB,EAAE,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import path from 'path';\n\nimport fs from 'fs-extra';\nimport { BuildFunction } from '@expo/steps';\n\nimport { findPackagerRootDir } from '../../utils/packageManager';\nimport { NpmrcTemplate } from '../../templates/npmrc';\n\nexport function createSetUpNpmrcBuildFunction(): BuildFunction {\n return new BuildFunction({\n namespace: 'eas',\n id: 'use_npm_token',\n name: 'Use NPM_TOKEN',\n fn: async (stepCtx, { env }) => {\n const { logger } = stepCtx;\n if (env.NPM_TOKEN) {\n logger.info('We detected that you set the NPM_TOKEN environment variable');\n const projectNpmrcPath = path.join(stepCtx.global.projectTargetDirectory, '.npmrc');\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info('.npmrc already exists in your project directory, skipping generation');\n } else {\n logger.info('Creating .npmrc in your project directory with the following contents:');\n logger.info(NpmrcTemplate);\n await fs.writeFile(projectNpmrcPath, NpmrcTemplate);\n }\n } else {\n const projectNpmrcPath = path.join(findPackagerRootDir(stepCtx.workingDirectory), '.npmrc');\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info(\n `.npmrc found at ${path.relative(\n stepCtx.global.projectTargetDirectory,\n projectNpmrcPath\n )}`\n );\n }\n }\n },\n });\n}\n"]}
@@ -8,9 +8,9 @@ exports.injectConfigureVersionGradleConfig = injectConfigureVersionGradleConfig;
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const config_plugins_1 = require("@expo/config-plugins");
10
10
  const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const template_file_1 = __importDefault(require("@expo/template-file"));
12
- const EAS_BUILD_INJECT_CREDENTIALS_GRADLE_TEMPLATE_PATH = path_1.default.join(__dirname, '../../../../templates/eas-build-inject-android-credentials.gradle');
13
- const EAS_BUILD_CONFIGURE_VERSION_GRADLE_TEMPLATE_PATH = path_1.default.join(__dirname, '../../../../templates/eas-build-configure-version.gradle.template');
11
+ const template_file_1 = require("@expo/template-file");
12
+ const EasBuildInjectAndroidCredentialsGradle_1 = require("../../../templates/EasBuildInjectAndroidCredentialsGradle");
13
+ const EasBuildConfigureVersionGradle_1 = require("../../../templates/EasBuildConfigureVersionGradle");
14
14
  const APPLY_EAS_BUILD_INJECT_CREDENTIALS_GRADLE_LINE = 'apply from: "./eas-build-inject-android-credentials.gradle"';
15
15
  const APPLY_EAS_BUILD_CONFIGURE_VERSION_GRADLE_LINE = 'apply from: "./eas-build-configure-version.gradle"';
16
16
  async function injectCredentialsGradleConfig(logger, workingDir) {
@@ -49,16 +49,19 @@ function getEasBuildConfigureVersionGradlePath(workingDir) {
49
49
  }
50
50
  async function createEasBuildInjectCredentialsGradle(workingDir) {
51
51
  const targetPath = getEasBuildInjectCredentialsGradlePath(workingDir);
52
- await fs_extra_1.default.copy(EAS_BUILD_INJECT_CREDENTIALS_GRADLE_TEMPLATE_PATH, targetPath);
52
+ await fs_extra_1.default.writeFile(targetPath, EasBuildInjectAndroidCredentialsGradle_1.EasBuildInjectAndroidCredentialsGradle);
53
53
  }
54
54
  async function createEasBuildConfigureVersionGradle(workingDir, { versionCode, versionName }) {
55
55
  const targetPath = getEasBuildConfigureVersionGradlePath(workingDir);
56
- await (0, template_file_1.default)(EAS_BUILD_CONFIGURE_VERSION_GRADLE_TEMPLATE_PATH, {
57
- VERSION_CODE: versionCode,
58
- VERSION_NAME: versionName,
59
- }, targetPath, {
56
+ const output = (0, template_file_1.templateString)({
57
+ input: EasBuildConfigureVersionGradle_1.EasBuildConfigureVersionGradleTemplate,
58
+ vars: {
59
+ VERSION_CODE: versionCode,
60
+ VERSION_NAME: versionName,
61
+ },
60
62
  mustache: false,
61
63
  });
64
+ await fs_extra_1.default.writeFile(targetPath, output);
62
65
  }
63
66
  async function addApplyInjectCredentialsConfigToBuildGradle(projectRoot) {
64
67
  const buildGradlePath = config_plugins_1.AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"gradleConfig.js","sourceRoot":"","sources":["../../../../src/steps/utils/android/gradleConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\n\nimport { AndroidConfig } from '@expo/config-plugins';\nimport { bunyan } from '@expo/logger';\nimport fs from 'fs-extra';\nimport templateFile from '@expo/template-file';\n\nconst EAS_BUILD_INJECT_CREDENTIALS_GRADLE_TEMPLATE_PATH = path.join(\n __dirname,\n '../../../../templates/eas-build-inject-android-credentials.gradle'\n);\nconst EAS_BUILD_CONFIGURE_VERSION_GRADLE_TEMPLATE_PATH = path.join(\n __dirname,\n '../../../../templates/eas-build-configure-version.gradle.template'\n);\n\nconst APPLY_EAS_BUILD_INJECT_CREDENTIALS_GRADLE_LINE =\n 'apply from: \"./eas-build-inject-android-credentials.gradle\"';\nconst APPLY_EAS_BUILD_CONFIGURE_VERSION_GRADLE_LINE =\n 'apply from: \"./eas-build-configure-version.gradle\"';\n\nexport async function injectCredentialsGradleConfig(\n logger: bunyan,\n workingDir: string\n): Promise<void> {\n logger.info('Injecting signing config into build.gradle');\n await deleteEasBuildInjectCredentialsGradle(workingDir);\n await createEasBuildInjectCredentialsGradle(workingDir);\n await addApplyInjectCredentialsConfigToBuildGradle(workingDir);\n logger.info('Signing config injected');\n}\n\nexport async function injectConfigureVersionGradleConfig(\n logger: bunyan,\n workingDir: string,\n { versionCode, versionName }: { versionCode?: string; versionName?: string }\n): Promise<void> {\n logger.info('Injecting version config into build.gradle');\n if (versionCode) {\n logger.info(`Version code: ${versionCode}`);\n }\n if (versionName) {\n logger.info(`Version name: ${versionName}`);\n }\n await deleteEasBuildConfigureVersionGradle(workingDir);\n await createEasBuildConfigureVersionGradle(workingDir, { versionCode, versionName });\n await addApplyConfigureVersionConfigToBuildGradle(workingDir);\n logger.info('Version config injected');\n}\n\nasync function deleteEasBuildInjectCredentialsGradle(workingDir: string): Promise<void> {\n const targetPath = getEasBuildInjectCredentialsGradlePath(workingDir);\n await fs.remove(targetPath);\n}\n\nasync function deleteEasBuildConfigureVersionGradle(workingDir: string): Promise<void> {\n const targetPath = getEasBuildConfigureVersionGradlePath(workingDir);\n await fs.remove(targetPath);\n}\n\nfunction getEasBuildInjectCredentialsGradlePath(workingDir: string): string {\n return path.join(workingDir, 'android/app/eas-build-inject-android-credentials.gradle');\n}\n\nfunction getEasBuildConfigureVersionGradlePath(workingDir: string): string {\n return path.join(workingDir, 'android/app/eas-build-configure-version.gradle');\n}\n\nasync function createEasBuildInjectCredentialsGradle(workingDir: string): Promise<void> {\n const targetPath = getEasBuildInjectCredentialsGradlePath(workingDir);\n await fs.copy(EAS_BUILD_INJECT_CREDENTIALS_GRADLE_TEMPLATE_PATH, targetPath);\n}\n\nasync function createEasBuildConfigureVersionGradle(\n workingDir: string,\n { versionCode, versionName }: { versionCode?: string; versionName?: string }\n): Promise<void> {\n const targetPath = getEasBuildConfigureVersionGradlePath(workingDir);\n await templateFile(\n EAS_BUILD_CONFIGURE_VERSION_GRADLE_TEMPLATE_PATH,\n {\n VERSION_CODE: versionCode,\n VERSION_NAME: versionName,\n },\n targetPath,\n {\n mustache: false,\n }\n );\n}\n\nasync function addApplyInjectCredentialsConfigToBuildGradle(projectRoot: string): Promise<void> {\n const buildGradlePath = AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);\n const buildGradleContents = await fs.readFile(path.join(buildGradlePath), 'utf8');\n\n if (hasLine(buildGradleContents, APPLY_EAS_BUILD_INJECT_CREDENTIALS_GRADLE_LINE)) {\n return;\n }\n\n await fs.writeFile(\n buildGradlePath,\n `${buildGradleContents.trim()}\\n${APPLY_EAS_BUILD_INJECT_CREDENTIALS_GRADLE_LINE}\\n`\n );\n}\n\nasync function addApplyConfigureVersionConfigToBuildGradle(projectRoot: string): Promise<void> {\n const buildGradlePath = AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);\n const buildGradleContents = await fs.readFile(path.join(buildGradlePath), 'utf8');\n\n if (hasLine(buildGradleContents, APPLY_EAS_BUILD_CONFIGURE_VERSION_GRADLE_LINE)) {\n return;\n }\n\n await fs.writeFile(\n buildGradlePath,\n `${buildGradleContents.trim()}\\n${APPLY_EAS_BUILD_CONFIGURE_VERSION_GRADLE_LINE}\\n`\n );\n}\n\nfunction hasLine(haystack: string, needle: string): boolean {\n return (\n haystack\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some((line) => line === needle || line === needle.replace(/\"/g, \"'\"))\n );\n}\n"]}
1
+ {"version":3,"file":"gradleConfig.js","sourceRoot":"","sources":["../../../../src/steps/utils/android/gradleConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\n\nimport { AndroidConfig } from '@expo/config-plugins';\nimport { bunyan } from '@expo/logger';\nimport fs from 'fs-extra';\nimport { templateString } from '@expo/template-file';\n\nimport { EasBuildInjectAndroidCredentialsGradle } from '../../../templates/EasBuildInjectAndroidCredentialsGradle';\nimport { EasBuildConfigureVersionGradleTemplate } from '../../../templates/EasBuildConfigureVersionGradle';\n\nconst APPLY_EAS_BUILD_INJECT_CREDENTIALS_GRADLE_LINE =\n 'apply from: \"./eas-build-inject-android-credentials.gradle\"';\nconst APPLY_EAS_BUILD_CONFIGURE_VERSION_GRADLE_LINE =\n 'apply from: \"./eas-build-configure-version.gradle\"';\n\nexport async function injectCredentialsGradleConfig(\n logger: bunyan,\n workingDir: string\n): Promise<void> {\n logger.info('Injecting signing config into build.gradle');\n await deleteEasBuildInjectCredentialsGradle(workingDir);\n await createEasBuildInjectCredentialsGradle(workingDir);\n await addApplyInjectCredentialsConfigToBuildGradle(workingDir);\n logger.info('Signing config injected');\n}\n\nexport async function injectConfigureVersionGradleConfig(\n logger: bunyan,\n workingDir: string,\n { versionCode, versionName }: { versionCode?: string; versionName?: string }\n): Promise<void> {\n logger.info('Injecting version config into build.gradle');\n if (versionCode) {\n logger.info(`Version code: ${versionCode}`);\n }\n if (versionName) {\n logger.info(`Version name: ${versionName}`);\n }\n await deleteEasBuildConfigureVersionGradle(workingDir);\n await createEasBuildConfigureVersionGradle(workingDir, { versionCode, versionName });\n await addApplyConfigureVersionConfigToBuildGradle(workingDir);\n logger.info('Version config injected');\n}\n\nasync function deleteEasBuildInjectCredentialsGradle(workingDir: string): Promise<void> {\n const targetPath = getEasBuildInjectCredentialsGradlePath(workingDir);\n await fs.remove(targetPath);\n}\n\nasync function deleteEasBuildConfigureVersionGradle(workingDir: string): Promise<void> {\n const targetPath = getEasBuildConfigureVersionGradlePath(workingDir);\n await fs.remove(targetPath);\n}\n\nfunction getEasBuildInjectCredentialsGradlePath(workingDir: string): string {\n return path.join(workingDir, 'android/app/eas-build-inject-android-credentials.gradle');\n}\n\nfunction getEasBuildConfigureVersionGradlePath(workingDir: string): string {\n return path.join(workingDir, 'android/app/eas-build-configure-version.gradle');\n}\n\nasync function createEasBuildInjectCredentialsGradle(workingDir: string): Promise<void> {\n const targetPath = getEasBuildInjectCredentialsGradlePath(workingDir);\n await fs.writeFile(targetPath, EasBuildInjectAndroidCredentialsGradle);\n}\n\nasync function createEasBuildConfigureVersionGradle(\n workingDir: string,\n { versionCode, versionName }: { versionCode?: string; versionName?: string }\n): Promise<void> {\n const targetPath = getEasBuildConfigureVersionGradlePath(workingDir);\n const output = templateString({\n input: EasBuildConfigureVersionGradleTemplate,\n vars: {\n VERSION_CODE: versionCode,\n VERSION_NAME: versionName,\n },\n mustache: false,\n });\n await fs.writeFile(targetPath, output);\n}\n\nasync function addApplyInjectCredentialsConfigToBuildGradle(projectRoot: string): Promise<void> {\n const buildGradlePath = AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);\n const buildGradleContents = await fs.readFile(path.join(buildGradlePath), 'utf8');\n\n if (hasLine(buildGradleContents, APPLY_EAS_BUILD_INJECT_CREDENTIALS_GRADLE_LINE)) {\n return;\n }\n\n await fs.writeFile(\n buildGradlePath,\n `${buildGradleContents.trim()}\\n${APPLY_EAS_BUILD_INJECT_CREDENTIALS_GRADLE_LINE}\\n`\n );\n}\n\nasync function addApplyConfigureVersionConfigToBuildGradle(projectRoot: string): Promise<void> {\n const buildGradlePath = AndroidConfig.Paths.getAppBuildGradleFilePath(projectRoot);\n const buildGradleContents = await fs.readFile(path.join(buildGradlePath), 'utf8');\n\n if (hasLine(buildGradleContents, APPLY_EAS_BUILD_CONFIGURE_VERSION_GRADLE_LINE)) {\n return;\n }\n\n await fs.writeFile(\n buildGradlePath,\n `${buildGradleContents.trim()}\\n${APPLY_EAS_BUILD_CONFIGURE_VERSION_GRADLE_LINE}\\n`\n );\n}\n\nfunction hasLine(haystack: string, needle: string): boolean {\n return (\n haystack\n .replace(/\\r\\n/g, '\\n')\n .split('\\n')\n // Check for both single and double quotes\n .some((line) => line === needle || line === needle.replace(/\"/g, \"'\"))\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const EasBuildConfigureVersionGradleTemplate = "// Build integration with EAS\n\nimport java.nio.file.Paths\n\ndef versionCodeVal = null\ndef versionNameVal = null\n<% if (VERSION_CODE) { %>\n versionCodeVal = \"<%- VERSION_CODE %>\"\n<% } %>\n<% if (VERSION_NAME) { %>\n versionNameVal = \"<%- VERSION_NAME %>\"\n<% } %>\n\nandroid {\n defaultConfig {\n if (versionCodeVal) {\n versionCode = Integer.parseInt(versionCodeVal)\n }\n if (versionNameVal) {\n versionName = versionNameVal\n }\n }\n applicationVariants.all { variant ->\n variant.outputs.each { output ->\n if (versionCodeVal) {\n output.versionCodeOverride = Integer.parseInt(versionCodeVal)\n }\n if (versionNameVal) {\n output.versionNameOverride = versionNameVal\n }\n }\n }\n}\n";
@@ -1,4 +1,7 @@
1
- // Build integration with EAS
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EasBuildConfigureVersionGradleTemplate = void 0;
4
+ exports.EasBuildConfigureVersionGradleTemplate = `// Build integration with EAS
2
5
 
3
6
  import java.nio.file.Paths
4
7
 
@@ -31,3 +34,5 @@ android {
31
34
  }
32
35
  }
33
36
  }
37
+ `;
38
+ //# sourceMappingURL=EasBuildConfigureVersionGradle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EasBuildConfigureVersionGradle.js","sourceRoot":"","sources":["../../src/templates/EasBuildConfigureVersionGradle.ts"],"names":[],"mappings":";;;AAAa,QAAA,sCAAsC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCrD,CAAC","sourcesContent":["export const EasBuildConfigureVersionGradleTemplate = `// Build integration with EAS\n\nimport java.nio.file.Paths\n\ndef versionCodeVal = null\ndef versionNameVal = null\n<% if (VERSION_CODE) { %>\n versionCodeVal = \"<%- VERSION_CODE %>\"\n<% } %>\n<% if (VERSION_NAME) { %>\n versionNameVal = \"<%- VERSION_NAME %>\"\n<% } %>\n\nandroid {\n defaultConfig {\n if (versionCodeVal) {\n versionCode = Integer.parseInt(versionCodeVal)\n }\n if (versionNameVal) {\n versionName = versionNameVal\n }\n }\n applicationVariants.all { variant ->\n variant.outputs.each { output ->\n if (versionCodeVal) {\n output.versionCodeOverride = Integer.parseInt(versionCodeVal)\n }\n if (versionNameVal) {\n output.versionNameOverride = versionNameVal\n }\n }\n }\n}\n`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const EasBuildGradle = "// Build integration with EAS\n\nimport java.nio.file.Paths\n\ndef versionCodeFromEnv = System.getenv(\"EAS_BUILD_ANDROID_VERSION_CODE\")\ndef versionNameFromEnv = System.getenv(\"EAS_BUILD_ANDROID_VERSION_NAME\")\n\nandroid {\n defaultConfig {\n if (versionCodeFromEnv) {\n versionCode = Integer.parseInt(versionCodeFromEnv)\n }\n if (versionNameFromEnv) {\n versionName = versionNameFromEnv\n }\n }\n applicationVariants.all { variant ->\n variant.outputs.each { output ->\n if (versionCodeFromEnv) {\n output.versionCodeOverride = Integer.parseInt(versionCodeFromEnv)\n }\n if (versionNameFromEnv) {\n output.versionNameOverride = versionNameFromEnv\n }\n }\n }\n signingConfigs {\n release {\n def credentialsJson = Paths.get(System.getenv(\"EAS_BUILD_WORKINGDIR\")).resolve(\"credentials.json\").toFile();\n def credentials = new groovy.json.JsonSlurper().parse(credentialsJson)\n def keystorePath = Paths.get(credentials.android.keystore.keystorePath);\n\n storeFile keystorePath.toFile()\n storePassword credentials.android.keystore.keystorePassword\n keyAlias credentials.android.keystore.keyAlias\n if (credentials.android.keystore.containsKey(\"keyPassword\")) {\n keyPassword credentials.android.keystore.keyPassword\n } else {\n // key password is required by Gradle, but PKCS keystores don't have one\n // using the keystore password seems to satisfy the requirement\n keyPassword credentials.android.keystore.keystorePassword\n }\n }\n }\n\n buildTypes {\n release {\n signingConfig android.signingConfigs.release\n }\n debug {\n signingConfig android.signingConfigs.release\n }\n }\n}";
@@ -1,4 +1,7 @@
1
- // Build integration with EAS
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EasBuildGradle = void 0;
4
+ exports.EasBuildGradle = `// Build integration with EAS
2
5
 
3
6
  import java.nio.file.Paths
4
7
 
@@ -51,4 +54,5 @@ android {
51
54
  signingConfig android.signingConfigs.release
52
55
  }
53
56
  }
54
- }
57
+ }`;
58
+ //# sourceMappingURL=EasBuildGradle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EasBuildGradle.js","sourceRoot":"","sources":["../../src/templates/EasBuildGradle.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqD5B,CAAC","sourcesContent":["export const EasBuildGradle = `// Build integration with EAS\n\nimport java.nio.file.Paths\n\ndef versionCodeFromEnv = System.getenv(\"EAS_BUILD_ANDROID_VERSION_CODE\")\ndef versionNameFromEnv = System.getenv(\"EAS_BUILD_ANDROID_VERSION_NAME\")\n\nandroid {\n defaultConfig {\n if (versionCodeFromEnv) {\n versionCode = Integer.parseInt(versionCodeFromEnv)\n }\n if (versionNameFromEnv) {\n versionName = versionNameFromEnv\n }\n }\n applicationVariants.all { variant ->\n variant.outputs.each { output ->\n if (versionCodeFromEnv) {\n output.versionCodeOverride = Integer.parseInt(versionCodeFromEnv)\n }\n if (versionNameFromEnv) {\n output.versionNameOverride = versionNameFromEnv\n }\n }\n }\n signingConfigs {\n release {\n def credentialsJson = Paths.get(System.getenv(\"EAS_BUILD_WORKINGDIR\")).resolve(\"credentials.json\").toFile();\n def credentials = new groovy.json.JsonSlurper().parse(credentialsJson)\n def keystorePath = Paths.get(credentials.android.keystore.keystorePath);\n\n storeFile keystorePath.toFile()\n storePassword credentials.android.keystore.keystorePassword\n keyAlias credentials.android.keystore.keyAlias\n if (credentials.android.keystore.containsKey(\"keyPassword\")) {\n keyPassword credentials.android.keystore.keyPassword\n } else {\n // key password is required by Gradle, but PKCS keystores don't have one\n // using the keystore password seems to satisfy the requirement\n keyPassword credentials.android.keystore.keystorePassword\n }\n }\n }\n\n buildTypes {\n release {\n signingConfig android.signingConfigs.release\n }\n debug {\n signingConfig android.signingConfigs.release\n }\n }\n}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const EasBuildInjectAndroidCredentialsGradle = "// Build integration with EAS\n\nimport java.nio.file.Paths\n\n\nandroid {\n signingConfigs {\n release {\n def credentialsJson = Paths.get(System.getenv(\"EAS_BUILD_WORKINGDIR\")).resolve(\"credentials.json\").toFile();\n def credentials = new groovy.json.JsonSlurper().parse(credentialsJson)\n def keystorePath = Paths.get(credentials.android.keystore.keystorePath);\n\n storeFile keystorePath.toFile()\n storePassword credentials.android.keystore.keystorePassword\n keyAlias credentials.android.keystore.keyAlias\n if (credentials.android.keystore.containsKey(\"keyPassword\")) {\n keyPassword credentials.android.keystore.keyPassword\n } else {\n // key password is required by Gradle, but PKCS keystores don't have one\n // using the keystore password seems to satisfy the requirement\n keyPassword credentials.android.keystore.keystorePassword\n }\n }\n }\n\n buildTypes {\n release {\n signingConfig android.signingConfigs.release\n }\n debug {\n signingConfig android.signingConfigs.release\n }\n }\n}";
@@ -1,4 +1,7 @@
1
- // Build integration with EAS
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EasBuildInjectAndroidCredentialsGradle = void 0;
4
+ exports.EasBuildInjectAndroidCredentialsGradle = `// Build integration with EAS
2
5
 
3
6
  import java.nio.file.Paths
4
7
 
@@ -31,4 +34,5 @@ android {
31
34
  signingConfig android.signingConfigs.release
32
35
  }
33
36
  }
34
- }
37
+ }`;
38
+ //# sourceMappingURL=EasBuildInjectAndroidCredentialsGradle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EasBuildInjectAndroidCredentialsGradle.js","sourceRoot":"","sources":["../../src/templates/EasBuildInjectAndroidCredentialsGradle.ts"],"names":[],"mappings":";;;AAAa,QAAA,sCAAsC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCpD,CAAC","sourcesContent":["export const EasBuildInjectAndroidCredentialsGradle = `// Build integration with EAS\n\nimport java.nio.file.Paths\n\n\nandroid {\n signingConfigs {\n release {\n def credentialsJson = Paths.get(System.getenv(\"EAS_BUILD_WORKINGDIR\")).resolve(\"credentials.json\").toFile();\n def credentials = new groovy.json.JsonSlurper().parse(credentialsJson)\n def keystorePath = Paths.get(credentials.android.keystore.keystorePath);\n\n storeFile keystorePath.toFile()\n storePassword credentials.android.keystore.keystorePassword\n keyAlias credentials.android.keystore.keyAlias\n if (credentials.android.keystore.containsKey(\"keyPassword\")) {\n keyPassword credentials.android.keystore.keyPassword\n } else {\n // key password is required by Gradle, but PKCS keystores don't have one\n // using the keystore password seems to satisfy the requirement\n keyPassword credentials.android.keystore.keystorePassword\n }\n }\n }\n\n buildTypes {\n release {\n signingConfig android.signingConfigs.release\n }\n debug {\n signingConfig android.signingConfigs.release\n }\n }\n}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const FastfileResignTemplate = "lane :do_resign do\n resign(\n ipa: \"<%- IPA_PATH %>\",\n signing_identity: \"<%- SIGNING_IDENTITY %>\",\n provisioning_profile: {<% _.forEach(PROFILES, function(profile) { %>\n \"<%- profile.BUNDLE_ID %>\" => \"<%- profile.PATH %>\",<% }); %>\n },\n keychain_path: \"<%- KEYCHAIN_PATH %>\"\n )\nend\n";
@@ -1,4 +1,7 @@
1
- lane :do_resign do
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FastfileResignTemplate = void 0;
4
+ exports.FastfileResignTemplate = `lane :do_resign do
2
5
  resign(
3
6
  ipa: "<%- IPA_PATH %>",
4
7
  signing_identity: "<%- SIGNING_IDENTITY %>",
@@ -8,3 +11,5 @@ lane :do_resign do
8
11
  keychain_path: "<%- KEYCHAIN_PATH %>"
9
12
  )
10
13
  end
14
+ `;
15
+ //# sourceMappingURL=FastfileResign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FastfileResign.js","sourceRoot":"","sources":["../../src/templates/FastfileResign.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;;;;;;;;;;CAUrC,CAAC","sourcesContent":["export const FastfileResignTemplate = `lane :do_resign do\n resign(\n ipa: \"<%- IPA_PATH %>\",\n signing_identity: \"<%- SIGNING_IDENTITY %>\",\n provisioning_profile: {<% _.forEach(PROFILES, function(profile) { %>\n \"<%- profile.BUNDLE_ID %>\" => \"<%- profile.PATH %>\",<% }); %>\n },\n keychain_path: \"<%- KEYCHAIN_PATH %>\"\n )\nend\n`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const GymfileArchiveTemplate = "suppress_xcode_output(true)\nclean(<%- CLEAN %>)\n\nscheme(\"<%- SCHEME %>\")\n<% if (SCHEME_BUILD_CONFIGURATION) { %>\nconfiguration(\"<%- SCHEME_BUILD_CONFIGURATION %>\")\n<% } %>\n\nexport_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\nexport_xcargs \"OTHER_CODE_SIGN_FLAGS=\\\"--keychain <%- KEYCHAIN_PATH %>\\\"\"\n\ndisable_xcpretty(true)\nbuildlog_path(\"<%- LOGS_DIRECTORY %>\")\n\noutput_directory(\"<%- OUTPUT_DIRECTORY %>\")\n";
@@ -1,4 +1,7 @@
1
- suppress_xcode_output(true)
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GymfileArchiveTemplate = void 0;
4
+ exports.GymfileArchiveTemplate = `suppress_xcode_output(true)
2
5
  clean(<%- CLEAN %>)
3
6
 
4
7
  scheme("<%- SCHEME %>")
@@ -15,9 +18,11 @@ export_options({
15
18
  <% } %>
16
19
  })
17
20
 
18
- export_xcargs "OTHER_CODE_SIGN_FLAGS=\"--keychain <%- KEYCHAIN_PATH %>\""
21
+ export_xcargs "OTHER_CODE_SIGN_FLAGS=\\"--keychain <%- KEYCHAIN_PATH %>\\""
19
22
 
20
23
  disable_xcpretty(true)
21
24
  buildlog_path("<%- LOGS_DIRECTORY %>")
22
25
 
23
26
  output_directory("<%- OUTPUT_DIRECTORY %>")
27
+ `;
28
+ //# sourceMappingURL=GymfileArchive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GymfileArchive.js","sourceRoot":"","sources":["../../src/templates/GymfileArchive.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBrC,CAAC","sourcesContent":["export const GymfileArchiveTemplate = `suppress_xcode_output(true)\nclean(<%- CLEAN %>)\n\nscheme(\"<%- SCHEME %>\")\n<% if (SCHEME_BUILD_CONFIGURATION) { %>\nconfiguration(\"<%- SCHEME_BUILD_CONFIGURATION %>\")\n<% } %>\n\nexport_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\nexport_xcargs \"OTHER_CODE_SIGN_FLAGS=\\\\\"--keychain <%- KEYCHAIN_PATH %>\\\\\"\"\n\ndisable_xcpretty(true)\nbuildlog_path(\"<%- LOGS_DIRECTORY %>\")\n\noutput_directory(\"<%- OUTPUT_DIRECTORY %>\")\n`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const GymfileSimulatorTemplate = "suppress_xcode_output(true)\nclean(<%- CLEAN %>)\n\nscheme(\"<%- SCHEME %>\")\n<% if (SCHEME_BUILD_CONFIGURATION) { %>\nconfiguration(\"<%- SCHEME_BUILD_CONFIGURATION %>\")\n<% } %>\n\nderived_data_path(\"<%- DERIVED_DATA_PATH %>\")\nskip_package_ipa(true)\nskip_archive(true)\ndestination(\"<%- SCHEME_SIMULATOR_DESTINATION %>\")\n\ndisable_xcpretty(true)\nbuildlog_path(\"<%- LOGS_DIRECTORY %>\")\n";
@@ -1,4 +1,7 @@
1
- suppress_xcode_output(true)
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GymfileSimulatorTemplate = void 0;
4
+ exports.GymfileSimulatorTemplate = `suppress_xcode_output(true)
2
5
  clean(<%- CLEAN %>)
3
6
 
4
7
  scheme("<%- SCHEME %>")
@@ -13,3 +16,5 @@ destination("<%- SCHEME_SIMULATOR_DESTINATION %>")
13
16
 
14
17
  disable_xcpretty(true)
15
18
  buildlog_path("<%- LOGS_DIRECTORY %>")
19
+ `;
20
+ //# sourceMappingURL=GymfileSimulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GymfileSimulator.js","sourceRoot":"","sources":["../../src/templates/GymfileSimulator.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG;;;;;;;;;;;;;;;CAevC,CAAC","sourcesContent":["export const GymfileSimulatorTemplate = `suppress_xcode_output(true)\nclean(<%- CLEAN %>)\n\nscheme(\"<%- SCHEME %>\")\n<% if (SCHEME_BUILD_CONFIGURATION) { %>\nconfiguration(\"<%- SCHEME_BUILD_CONFIGURATION %>\")\n<% } %>\n\nderived_data_path(\"<%- DERIVED_DATA_PATH %>\")\nskip_package_ipa(true)\nskip_archive(true)\ndestination(\"<%- SCHEME_SIMULATOR_DESTINATION %>\")\n\ndisable_xcpretty(true)\nbuildlog_path(\"<%- LOGS_DIRECTORY %>\")\n`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const NpmrcTemplate = "//registry.npmjs.org/:_authToken=${NPM_TOKEN}\nregistry=https://registry.npmjs.org/\n";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NpmrcTemplate = void 0;
4
+ exports.NpmrcTemplate = `//registry.npmjs.org/:_authToken=\${NPM_TOKEN}
5
+ registry=https://registry.npmjs.org/
6
+ `;
7
+ //# sourceMappingURL=npmrc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npmrc.js","sourceRoot":"","sources":["../../src/templates/npmrc.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;;CAE5B,CAAC","sourcesContent":["export const NpmrcTemplate = `//registry.npmjs.org/:_authToken=\\${NPM_TOKEN}\nregistry=https://registry.npmjs.org/\n`;\n"]}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.setUpNpmrcAsync = setUpNpmrcAsync;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const npmrc_1 = require("../templates/npmrc");
9
10
  const packageManager_1 = require("./packageManager");
10
- const NPMRC_TEMPLATE_PATH = path_1.default.join(__dirname, '../../templates/npmrc');
11
11
  async function setUpNpmrcAsync(ctx, logger) {
12
12
  if (ctx.env.NPM_TOKEN) {
13
13
  await createNpmrcIfNotExistsAsync(ctx, logger);
@@ -23,10 +23,9 @@ async function createNpmrcIfNotExistsAsync(ctx, logger) {
23
23
  logger.info('.npmrc already exists in your project directory, skipping generation');
24
24
  }
25
25
  else {
26
- const npmrcContents = await fs_extra_1.default.readFile(NPMRC_TEMPLATE_PATH, 'utf8');
27
26
  logger.info('Creating .npmrc in your project directory with the following contents:');
28
- logger.info(npmrcContents);
29
- await fs_extra_1.default.copy(NPMRC_TEMPLATE_PATH, projectNpmrcPath);
27
+ logger.info(npmrc_1.NpmrcTemplate);
28
+ await fs_extra_1.default.writeFile(projectNpmrcPath, npmrc_1.NpmrcTemplate);
30
29
  }
31
30
  }
32
31
  async function logIfNpmrcExistsAsync(ctx, logger) {
@@ -1 +1 @@
1
- {"version":3,"file":"npmrc.js","sourceRoot":"","sources":["../../src/utils/npmrc.ts"],"names":[],"mappings":";;;;;AAYA,0CAMC;AAlBD,gDAAwB;AAIxB,wDAA0B;AAI1B,qDAAuD;AAEvD,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAEnE,KAAK,UAAU,eAAe,CAAC,GAAsB,EAAE,MAAc;IAC1E,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,GAAsB,EAAE,MAAc;IAC/E,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC3E,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACjE,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,kBAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAsB,EAAE,MAAc;IACzE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAChC,IAAA,oCAAmB,EAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,EACzD,QAAQ,CACT,CAAC;IACF,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,mBAAmB,cAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC","sourcesContent":["import path from 'path';\n\nimport { Job } from '@expo/eas-build-job';\nimport { bunyan } from '@expo/logger';\nimport fs from 'fs-extra';\n\nimport { BuildContext } from '../context';\n\nimport { findPackagerRootDir } from './packageManager';\n\nconst NPMRC_TEMPLATE_PATH = path.join(__dirname, '../../templates/npmrc');\n\nexport async function setUpNpmrcAsync(ctx: BuildContext<Job>, logger: bunyan): Promise<void> {\n if (ctx.env.NPM_TOKEN) {\n await createNpmrcIfNotExistsAsync(ctx, logger);\n } else {\n await logIfNpmrcExistsAsync(ctx, logger);\n }\n}\n\nasync function createNpmrcIfNotExistsAsync(ctx: BuildContext<Job>, logger: bunyan): Promise<void> {\n logger.info('We detected that you set the NPM_TOKEN environment variable');\n const projectNpmrcPath = path.join(ctx.buildDirectory, '.npmrc');\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info('.npmrc already exists in your project directory, skipping generation');\n } else {\n const npmrcContents = await fs.readFile(NPMRC_TEMPLATE_PATH, 'utf8');\n logger.info('Creating .npmrc in your project directory with the following contents:');\n logger.info(npmrcContents);\n await fs.copy(NPMRC_TEMPLATE_PATH, projectNpmrcPath);\n }\n}\n\nasync function logIfNpmrcExistsAsync(ctx: BuildContext<Job>, logger: bunyan): Promise<void> {\n const projectNpmrcPath = path.join(\n findPackagerRootDir(ctx.getReactNativeProjectDirectory()),\n '.npmrc'\n );\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info(`.npmrc found at ${path.relative(ctx.buildDirectory, projectNpmrcPath)}`);\n }\n}\n"]}
1
+ {"version":3,"file":"npmrc.js","sourceRoot":"","sources":["../../src/utils/npmrc.ts"],"names":[],"mappings":";;;;;AAWA,0CAMC;AAjBD,gDAAwB;AAIxB,wDAA0B;AAG1B,8CAAmD;AAEnD,qDAAuD;AAEhD,KAAK,UAAU,eAAe,CAAC,GAAsB,EAAE,MAAc;IAC1E,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,GAAsB,EAAE,MAAc;IAC/E,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC3E,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACjE,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC;QAC3B,MAAM,kBAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,qBAAa,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAsB,EAAE,MAAc;IACzE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAChC,IAAA,oCAAmB,EAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,EACzD,QAAQ,CACT,CAAC;IACF,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,mBAAmB,cAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC","sourcesContent":["import path from 'path';\n\nimport { Job } from '@expo/eas-build-job';\nimport { bunyan } from '@expo/logger';\nimport fs from 'fs-extra';\n\nimport { BuildContext } from '../context';\nimport { NpmrcTemplate } from '../templates/npmrc';\n\nimport { findPackagerRootDir } from './packageManager';\n\nexport async function setUpNpmrcAsync(ctx: BuildContext<Job>, logger: bunyan): Promise<void> {\n if (ctx.env.NPM_TOKEN) {\n await createNpmrcIfNotExistsAsync(ctx, logger);\n } else {\n await logIfNpmrcExistsAsync(ctx, logger);\n }\n}\n\nasync function createNpmrcIfNotExistsAsync(ctx: BuildContext<Job>, logger: bunyan): Promise<void> {\n logger.info('We detected that you set the NPM_TOKEN environment variable');\n const projectNpmrcPath = path.join(ctx.buildDirectory, '.npmrc');\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info('.npmrc already exists in your project directory, skipping generation');\n } else {\n logger.info('Creating .npmrc in your project directory with the following contents:');\n logger.info(NpmrcTemplate);\n await fs.writeFile(projectNpmrcPath, NpmrcTemplate);\n }\n}\n\nasync function logIfNpmrcExistsAsync(ctx: BuildContext<Job>, logger: bunyan): Promise<void> {\n const projectNpmrcPath = path.join(\n findPackagerRootDir(ctx.getReactNativeProjectDirectory()),\n '.npmrc'\n );\n if (await fs.pathExists(projectNpmrcPath)) {\n logger.info(`.npmrc found at ${path.relative(ctx.buildDirectory, projectNpmrcPath)}`);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "@expo/build-tools",
3
- "version": "1.0.251",
3
+ "repository": {
4
+ "type": "git",
5
+ "url": "https://github.com/expo/eas-build.git",
6
+ "directory": "packages/build-tools"
7
+ },
8
+ "version": "1.0.260",
4
9
  "main": "dist/index.js",
5
10
  "types": "dist/index.d.ts",
6
11
  "files": [
@@ -31,16 +36,16 @@
31
36
  "dependencies": {
32
37
  "@expo/config": "10.0.6",
33
38
  "@expo/config-plugins": "9.0.12",
34
- "@expo/downloader": "1.0.221",
35
- "@expo/eas-build-job": "1.0.245",
39
+ "@expo/downloader": "1.0.260",
40
+ "@expo/eas-build-job": "1.0.260",
36
41
  "@expo/env": "^0.4.0",
37
- "@expo/logger": "1.0.221",
42
+ "@expo/logger": "1.0.260",
38
43
  "@expo/package-manager": "1.7.0",
39
44
  "@expo/plist": "^0.2.0",
40
45
  "@expo/results": "^1.0.0",
41
- "@expo/steps": "1.0.246",
42
- "@expo/template-file": "1.0.221",
43
- "@expo/turtle-spawn": "1.0.221",
46
+ "@expo/steps": "1.0.260",
47
+ "@expo/template-file": "1.0.260",
48
+ "@expo/turtle-spawn": "1.0.260",
44
49
  "@expo/xcpretty": "^4.3.1",
45
50
  "@google-cloud/storage": "^7.11.2",
46
51
  "@urql/core": "^6.0.1",
@@ -86,5 +91,5 @@
86
91
  "node": "20.14.0",
87
92
  "yarn": "1.22.21"
88
93
  },
89
- "gitHead": "7dbefe154544c7c0a5e1ccc88efbefa717e8d5e8"
94
+ "gitHead": "86661f158977836b1cfd9643a690fc816a4f44e4"
90
95
  }
package/templates/npmrc DELETED
@@ -1,2 +0,0 @@
1
- //registry.npmjs.org/:_authToken=${NPM_TOKEN}
2
- registry=https://registry.npmjs.org/