@invarn/cibuild 2.9.4 → 2.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-35SI42CD.mjs +1 -0
- package/dist/chunk-IC45KVLJ.mjs +1 -0
- package/dist/chunk-XDY4V23V.mjs +1 -0
- package/dist/cli.cjs +14 -14
- package/dist/commands.mjs +1 -0
- package/dist/lib.mjs +3934 -0
- package/package.json +6 -10
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js +0 -399
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts +0 -38
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts.map +0 -1
- package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.js +0 -222
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts +0 -41
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts.map +0 -1
- package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.js +0 -324
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts +0 -2
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts.map +0 -1
- package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.js +0 -382
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts +0 -29
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts.map +0 -1
- package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.js +0 -160
- package/dist/src/commands/android-gms-guard.test.d.ts +0 -9
- package/dist/src/commands/android-gms-guard.test.d.ts.map +0 -1
- package/dist/src/commands/android-gms-guard.test.js +0 -78
- package/dist/src/commands/android-java-version.test.d.ts +0 -12
- package/dist/src/commands/android-java-version.test.d.ts.map +0 -1
- package/dist/src/commands/android-java-version.test.js +0 -209
- package/dist/src/commands/android-scanner-java.test.d.ts +0 -2
- package/dist/src/commands/android-scanner-java.test.d.ts.map +0 -1
- package/dist/src/commands/android-scanner-java.test.js +0 -130
- package/dist/src/commands/android-scanner.d.ts +0 -250
- package/dist/src/commands/android-scanner.d.ts.map +0 -1
- package/dist/src/commands/android-scanner.js +0 -1639
- package/dist/src/commands/build.d.ts +0 -215
- package/dist/src/commands/build.d.ts.map +0 -1
- package/dist/src/commands/build.js +0 -1433
- package/dist/src/commands/build.test.d.ts +0 -13
- package/dist/src/commands/build.test.d.ts.map +0 -1
- package/dist/src/commands/build.test.js +0 -121
- package/dist/src/commands/detect-platform.d.ts +0 -13
- package/dist/src/commands/detect-platform.d.ts.map +0 -1
- package/dist/src/commands/detect-platform.js +0 -51
- package/dist/src/commands/detect-project.d.ts +0 -7
- package/dist/src/commands/detect-project.d.ts.map +0 -1
- package/dist/src/commands/detect-project.js +0 -12
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts +0 -26
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map +0 -1
- package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.js +0 -196
- package/dist/src/commands/edit.d.ts +0 -12
- package/dist/src/commands/edit.d.ts.map +0 -1
- package/dist/src/commands/edit.js +0 -652
- package/dist/src/commands/edit.test.d.ts +0 -6
- package/dist/src/commands/edit.test.d.ts.map +0 -1
- package/dist/src/commands/edit.test.js +0 -45
- package/dist/src/commands/fidelity-trim.d.ts +0 -13
- package/dist/src/commands/fidelity-trim.d.ts.map +0 -1
- package/dist/src/commands/fidelity-trim.js +0 -21
- package/dist/src/commands/fidelity-trim.test.d.ts +0 -8
- package/dist/src/commands/fidelity-trim.test.d.ts.map +0 -1
- package/dist/src/commands/fidelity-trim.test.js +0 -79
- package/dist/src/commands/file-secret-collector.d.ts +0 -50
- package/dist/src/commands/file-secret-collector.d.ts.map +0 -1
- package/dist/src/commands/file-secret-collector.js +0 -217
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts +0 -38
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map +0 -1
- package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.js +0 -300
- package/dist/src/commands/github-workflow.d.ts +0 -5
- package/dist/src/commands/github-workflow.d.ts.map +0 -1
- package/dist/src/commands/github-workflow.js +0 -45
- package/dist/src/commands/index.d.ts +0 -33
- package/dist/src/commands/index.d.ts.map +0 -1
- package/dist/src/commands/index.js +0 -33
- package/dist/src/commands/init.d.ts +0 -20
- package/dist/src/commands/init.d.ts.map +0 -1
- package/dist/src/commands/init.js +0 -264
- package/dist/src/commands/ios-scanner.d.ts +0 -104
- package/dist/src/commands/ios-scanner.d.ts.map +0 -1
- package/dist/src/commands/ios-scanner.js +0 -492
- package/dist/src/commands/ios-scheme-ranking.test.d.ts +0 -2
- package/dist/src/commands/ios-scheme-ranking.test.d.ts.map +0 -1
- package/dist/src/commands/ios-scheme-ranking.test.js +0 -264
- package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts +0 -30
- package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts.map +0 -1
- package/dist/src/commands/local-properties-reaches-every-workflow.test.js +0 -146
- package/dist/src/commands/reset.d.ts +0 -7
- package/dist/src/commands/reset.d.ts.map +0 -1
- package/dist/src/commands/reset.js +0 -81
- package/dist/src/commands/run.d.ts +0 -22
- package/dist/src/commands/run.d.ts.map +0 -1
- package/dist/src/commands/run.js +0 -141
- package/dist/src/commands/secrets-sync-workflow.d.ts +0 -15
- package/dist/src/commands/secrets-sync-workflow.d.ts.map +0 -1
- package/dist/src/commands/secrets-sync-workflow.js +0 -255
- package/dist/src/commands/secrets-upload.d.ts +0 -21
- package/dist/src/commands/secrets-upload.d.ts.map +0 -1
- package/dist/src/commands/secrets-upload.js +0 -177
- package/dist/src/commands/secrets-upload.test.d.ts +0 -5
- package/dist/src/commands/secrets-upload.test.d.ts.map +0 -1
- package/dist/src/commands/secrets-upload.test.js +0 -60
- package/dist/src/commands/validate.d.ts +0 -10
- package/dist/src/commands/validate.d.ts.map +0 -1
- package/dist/src/commands/validate.js +0 -46
- package/dist/src/config.d.ts +0 -3
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -47
- package/dist/src/envman/cli.d.ts +0 -21
- package/dist/src/envman/cli.d.ts.map +0 -1
- package/dist/src/envman/cli.js +0 -240
- package/dist/src/envman/envman.d.ts +0 -83
- package/dist/src/envman/envman.d.ts.map +0 -1
- package/dist/src/envman/envman.js +0 -361
- package/dist/src/envman/envman.test.d.ts +0 -5
- package/dist/src/envman/envman.test.d.ts.map +0 -1
- package/dist/src/envman/envman.test.js +0 -236
- package/dist/src/envman/envstore-round-trip.test.d.ts +0 -27
- package/dist/src/envman/envstore-round-trip.test.d.ts.map +0 -1
- package/dist/src/envman/envstore-round-trip.test.js +0 -130
- package/dist/src/envman/index.d.ts +0 -23
- package/dist/src/envman/index.d.ts.map +0 -1
- package/dist/src/envman/index.js +0 -23
- package/dist/src/envman/shim.d.ts +0 -16
- package/dist/src/envman/shim.d.ts.map +0 -1
- package/dist/src/envman/shim.js +0 -66
- package/dist/src/envman/types.d.ts +0 -55
- package/dist/src/envman/types.d.ts.map +0 -1
- package/dist/src/envman/types.js +0 -12
- package/dist/src/lib.d.ts +0 -33
- package/dist/src/lib.d.ts.map +0 -1
- package/dist/src/lib.js +0 -37
- package/dist/src/pipeline.d.ts +0 -3
- package/dist/src/pipeline.d.ts.map +0 -1
- package/dist/src/pipeline.js +0 -57
- package/dist/src/runner-node-step.test.d.ts +0 -12
- package/dist/src/runner-node-step.test.d.ts.map +0 -1
- package/dist/src/runner-node-step.test.js +0 -61
- package/dist/src/runner.d.ts +0 -31
- package/dist/src/runner.d.ts.map +0 -1
- package/dist/src/runner.js +0 -240
- package/dist/src/shared/detect-project.d.ts +0 -57
- package/dist/src/shared/detect-project.d.ts.map +0 -1
- package/dist/src/shared/detect-project.js +0 -219
- package/dist/src/shared/detect-project.test.d.ts +0 -2
- package/dist/src/shared/detect-project.test.d.ts.map +0 -1
- package/dist/src/shared/detect-project.test.js +0 -161
- package/dist/src/shared/git.d.ts +0 -25
- package/dist/src/shared/git.d.ts.map +0 -1
- package/dist/src/shared/git.js +0 -53
- package/dist/src/shared/git.test.d.ts +0 -9
- package/dist/src/shared/git.test.d.ts.map +0 -1
- package/dist/src/shared/git.test.js +0 -66
- package/dist/src/shared/gitignore.d.ts +0 -6
- package/dist/src/shared/gitignore.d.ts.map +0 -1
- package/dist/src/shared/gitignore.js +0 -26
- package/dist/src/shared/gradle-settings.d.ts +0 -49
- package/dist/src/shared/gradle-settings.d.ts.map +0 -1
- package/dist/src/shared/gradle-settings.js +0 -138
- package/dist/src/shared/gradle-settings.test.d.ts +0 -2
- package/dist/src/shared/gradle-settings.test.d.ts.map +0 -1
- package/dist/src/shared/gradle-settings.test.js +0 -65
- package/dist/src/shared/prompts.d.ts +0 -30
- package/dist/src/shared/prompts.d.ts.map +0 -1
- package/dist/src/shared/prompts.js +0 -121
- package/dist/src/shared/xcode-container.test.d.ts +0 -2
- package/dist/src/shared/xcode-container.test.d.ts.map +0 -1
- package/dist/src/shared/xcode-container.test.js +0 -123
- package/dist/src/step-marker.d.ts +0 -12
- package/dist/src/step-marker.d.ts.map +0 -1
- package/dist/src/step-marker.js +0 -29
- package/dist/src/step-marker.test.d.ts +0 -11
- package/dist/src/step-marker.test.d.ts.map +0 -1
- package/dist/src/step-marker.test.js +0 -45
- package/dist/src/types.d.ts +0 -58
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts +0 -28
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts.map +0 -1
- package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.js +0 -223
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts +0 -20
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts.map +0 -1
- package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.js +0 -201
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts +0 -37
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts.map +0 -1
- package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.js +0 -255
- package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts +0 -32
- package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts.map +0 -1
- package/dist/src/yaml/a-missing-credential-is-loud.test.js +0 -301
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts +0 -18
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts.map +0 -1
- package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.js +0 -66
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts +0 -34
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts.map +0 -1
- package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.js +0 -218
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts +0 -27
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts.map +0 -1
- package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.js +0 -126
- package/dist/src/yaml/bitrise-compat.d.ts +0 -65
- package/dist/src/yaml/bitrise-compat.d.ts.map +0 -1
- package/dist/src/yaml/bitrise-compat.js +0 -206
- package/dist/src/yaml/bitrise-compat.test.d.ts +0 -5
- package/dist/src/yaml/bitrise-compat.test.d.ts.map +0 -1
- package/dist/src/yaml/bitrise-compat.test.js +0 -347
- package/dist/src/yaml/cache-key-missing-file.test.d.ts +0 -12
- package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +0 -1
- package/dist/src/yaml/cache-key-missing-file.test.js +0 -116
- package/dist/src/yaml/converter.d.ts +0 -103
- package/dist/src/yaml/converter.d.ts.map +0 -1
- package/dist/src/yaml/converter.js +0 -420
- package/dist/src/yaml/converter.test.d.ts +0 -5
- package/dist/src/yaml/converter.test.d.ts.map +0 -1
- package/dist/src/yaml/converter.test.js +0 -548
- package/dist/src/yaml/e2e.test.d.ts +0 -6
- package/dist/src/yaml/e2e.test.d.ts.map +0 -1
- package/dist/src/yaml/e2e.test.js +0 -446
- package/dist/src/yaml/env-resolver.d.ts +0 -218
- package/dist/src/yaml/env-resolver.d.ts.map +0 -1
- package/dist/src/yaml/env-resolver.js +0 -591
- package/dist/src/yaml/env-resolver.test.d.ts +0 -5
- package/dist/src/yaml/env-resolver.test.d.ts.map +0 -1
- package/dist/src/yaml/env-resolver.test.js +0 -502
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts +0 -16
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts.map +0 -1
- package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.js +0 -126
- package/dist/src/yaml/fidelity-input-digest.d.ts +0 -37
- package/dist/src/yaml/fidelity-input-digest.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-input-digest.js +0 -208
- package/dist/src/yaml/fidelity-input-digest.test.d.ts +0 -2
- package/dist/src/yaml/fidelity-input-digest.test.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-input-digest.test.js +0 -167
- package/dist/src/yaml/fidelity-manifest.d.ts +0 -126
- package/dist/src/yaml/fidelity-manifest.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-manifest.js +0 -134
- package/dist/src/yaml/fidelity-manifest.test.d.ts +0 -12
- package/dist/src/yaml/fidelity-manifest.test.d.ts.map +0 -1
- package/dist/src/yaml/fidelity-manifest.test.js +0 -251
- package/dist/src/yaml/interactive-prompts.d.ts +0 -71
- package/dist/src/yaml/interactive-prompts.d.ts.map +0 -1
- package/dist/src/yaml/interactive-prompts.js +0 -260
- package/dist/src/yaml/meta-helpers.d.ts +0 -28
- package/dist/src/yaml/meta-helpers.d.ts.map +0 -1
- package/dist/src/yaml/meta-helpers.js +0 -46
- package/dist/src/yaml/missing-env-handler.d.ts +0 -45
- package/dist/src/yaml/missing-env-handler.d.ts.map +0 -1
- package/dist/src/yaml/missing-env-handler.js +0 -64
- package/dist/src/yaml/parser.d.ts +0 -33
- package/dist/src/yaml/parser.d.ts.map +0 -1
- package/dist/src/yaml/parser.js +0 -148
- package/dist/src/yaml/parser.test.d.ts +0 -5
- package/dist/src/yaml/parser.test.d.ts.map +0 -1
- package/dist/src/yaml/parser.test.js +0 -83
- package/dist/src/yaml/pipeline-with-secrets.d.ts +0 -25
- package/dist/src/yaml/pipeline-with-secrets.d.ts.map +0 -1
- package/dist/src/yaml/pipeline-with-secrets.js +0 -76
- package/dist/src/yaml/platform-detector.d.ts +0 -83
- package/dist/src/yaml/platform-detector.d.ts.map +0 -1
- package/dist/src/yaml/platform-detector.js +0 -189
- package/dist/src/yaml/platform-detector.test.d.ts +0 -5
- package/dist/src/yaml/platform-detector.test.d.ts.map +0 -1
- package/dist/src/yaml/platform-detector.test.js +0 -525
- package/dist/src/yaml/preflight-validation.d.ts +0 -29
- package/dist/src/yaml/preflight-validation.d.ts.map +0 -1
- package/dist/src/yaml/preflight-validation.js +0 -21
- package/dist/src/yaml/secrets-manager.d.ts +0 -87
- package/dist/src/yaml/secrets-manager.d.ts.map +0 -1
- package/dist/src/yaml/secrets-manager.js +0 -230
- package/dist/src/yaml/shell-assignments.d.ts +0 -40
- package/dist/src/yaml/shell-assignments.d.ts.map +0 -1
- package/dist/src/yaml/shell-assignments.js +0 -77
- package/dist/src/yaml/step-validator-check-failure.test.d.ts +0 -24
- package/dist/src/yaml/step-validator-check-failure.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator-check-failure.test.js +0 -130
- package/dist/src/yaml/step-validator-self-assigned.test.d.ts +0 -23
- package/dist/src/yaml/step-validator-self-assigned.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator-self-assigned.test.js +0 -191
- package/dist/src/yaml/step-validator.d.ts +0 -67
- package/dist/src/yaml/step-validator.d.ts.map +0 -1
- package/dist/src/yaml/step-validator.js +0 -466
- package/dist/src/yaml/step-validator.test.d.ts +0 -18
- package/dist/src/yaml/step-validator.test.d.ts.map +0 -1
- package/dist/src/yaml/step-validator.test.js +0 -140
- package/dist/src/yaml/steps/android-sign.d.ts +0 -35
- package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-sign.js +0 -147
- package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
- package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
- package/dist/src/yaml/steps/android-version.d.ts +0 -26
- package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-version.js +0 -128
- package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
- package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/android-version.test.js +0 -196
- package/dist/src/yaml/steps/android.d.ts +0 -156
- package/dist/src/yaml/steps/android.d.ts.map +0 -1
- package/dist/src/yaml/steps/android.js +0 -1084
- package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
- package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
- package/dist/src/yaml/steps/app-store-deploy.js +0 -167
- package/dist/src/yaml/steps/base.d.ts +0 -263
- package/dist/src/yaml/steps/base.d.ts.map +0 -1
- package/dist/src/yaml/steps/base.js +0 -380
- package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
- package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
- package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
- package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
- package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
- package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
- package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
- package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-slack.js +0 -280
- package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
- package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
- package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
- package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
- package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
- package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
- package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
- package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
- package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
- package/dist/src/yaml/steps/cache.d.ts +0 -59
- package/dist/src/yaml/steps/cache.d.ts.map +0 -1
- package/dist/src/yaml/steps/cache.js +0 -1027
- package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
- package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
- package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
- package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
- package/dist/src/yaml/steps/fastlane.d.ts +0 -27
- package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
- package/dist/src/yaml/steps/fastlane.js +0 -79
- package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
- package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
- package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
- package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
- package/dist/src/yaml/steps/file.d.ts +0 -52
- package/dist/src/yaml/steps/file.d.ts.map +0 -1
- package/dist/src/yaml/steps/file.js +0 -108
- package/dist/src/yaml/steps/flutter.d.ts +0 -63
- package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
- package/dist/src/yaml/steps/flutter.js +0 -215
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
- package/dist/src/yaml/steps/git-clone.d.ts +0 -32
- package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-clone.js +0 -171
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
- package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
- package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
- package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
- package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
- package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
- package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
- package/dist/src/yaml/steps/google-play-deploy.js +0 -193
- package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
- package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
- package/dist/src/yaml/steps/gradle-memory.d.ts +0 -61
- package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-memory.js +0 -311
- package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
- package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-memory.test.js +0 -297
- package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
- package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
- package/dist/src/yaml/steps/index.d.ts +0 -10
- package/dist/src/yaml/steps/index.d.ts.map +0 -1
- package/dist/src/yaml/steps/index.js +0 -1461
- package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
- package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-deps.js +0 -279
- package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
- package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-deps.test.js +0 -90
- package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
- package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-signing.js +0 -144
- package/dist/src/yaml/steps/ios-version.d.ts +0 -47
- package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
- package/dist/src/yaml/steps/ios-version.js +0 -151
- package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
- package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
- package/dist/src/yaml/steps/linting.d.ts +0 -47
- package/dist/src/yaml/steps/linting.d.ts.map +0 -1
- package/dist/src/yaml/steps/linting.js +0 -148
- package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
- package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase2.test.js +0 -197
- package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
- package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase3.test.js +0 -144
- package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
- package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase4.test.js +0 -166
- package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
- package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/phase5.test.js +0 -263
- package/dist/src/yaml/steps/registry.d.ts +0 -88
- package/dist/src/yaml/steps/registry.d.ts.map +0 -1
- package/dist/src/yaml/steps/registry.js +0 -125
- package/dist/src/yaml/steps/registry.test.d.ts +0 -5
- package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/registry.test.js +0 -235
- package/dist/src/yaml/steps/release.d.ts +0 -50
- package/dist/src/yaml/steps/release.d.ts.map +0 -1
- package/dist/src/yaml/steps/release.js +0 -154
- package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
- package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
- package/dist/src/yaml/steps/render-post-processor.js +0 -270
- package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
- package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
- package/dist/src/yaml/steps/script.d.ts +0 -23
- package/dist/src/yaml/steps/script.d.ts.map +0 -1
- package/dist/src/yaml/steps/script.js +0 -63
- package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
- package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/spec-validation.test.js +0 -130
- package/dist/src/yaml/steps/steps.test.d.ts +0 -6
- package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/steps.test.js +0 -881
- package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
- package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
- package/dist/src/yaml/steps/structural-facts.js +0 -3276
- package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
- package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
- package/dist/src/yaml/steps/test-config.d.ts +0 -5
- package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
- package/dist/src/yaml/steps/test-config.js +0 -25
- package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
- package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
- package/dist/src/yaml/steps/trim-align.d.ts +0 -87
- package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align.js +0 -367
- package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
- package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/trim-align.test.js +0 -261
- package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
- package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
- package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
- package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
- package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
- package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
- package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
- package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
- package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
- package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
- package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
- package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
- package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
- package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-app-product.js +0 -247
- package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
- package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
- package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
- package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -253
- package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
- package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-destination.js +0 -202
- package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
- package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
- package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
- package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-new.test.js +0 -211
- package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
- package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
- package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
- package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
- package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
- package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
- package/dist/src/yaml/steps/xcode.d.ts +0 -230
- package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
- package/dist/src/yaml/steps/xcode.js +0 -1340
- package/dist/src/yaml/types.d.ts +0 -76
- package/dist/src/yaml/types.d.ts.map +0 -1
- package/dist/src/yaml/types.js +0 -5
- package/dist/src/yaml/validation-types.d.ts +0 -102
- package/dist/src/yaml/validation-types.d.ts.map +0 -1
- package/dist/src/yaml/validation-types.js +0 -8
- package/dist/src/yaml/yaml-updater.d.ts +0 -24
- package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
- package/dist/src/yaml/yaml-updater.js +0 -128
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A plugin applied inside `if (file("…").exists()) { … }` is conditional on a
|
|
3
|
-
* file the build may not have. Counting it as a hard credential requirement
|
|
4
|
-
* sends the user looking for a file the build never asks for — and, when the
|
|
5
|
-
* same rule is used to predict outcomes, reports projects as blocked that
|
|
6
|
-
* build green with no credential at all.
|
|
7
|
-
*/
|
|
8
|
-
import { describe, test, expect } from '@jest/globals';
|
|
9
|
-
import { stripExistenceGuardedBlocks } from './android-scanner.js';
|
|
10
|
-
describe('stripExistenceGuardedBlocks', () => {
|
|
11
|
-
test('removes a Kotlin DSL existence guard and its body', () => {
|
|
12
|
-
const content = `
|
|
13
|
-
plugins {
|
|
14
|
-
id("com.android.application")
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
if (file("google-services.json").exists()) {
|
|
18
|
-
apply(plugin = libs.plugins.gms.googleServices.get().pluginId)
|
|
19
|
-
}
|
|
20
|
-
`;
|
|
21
|
-
const stripped = stripExistenceGuardedBlocks(content);
|
|
22
|
-
expect(stripped).toContain('com.android.application');
|
|
23
|
-
expect(stripped).not.toContain('googleServices');
|
|
24
|
-
});
|
|
25
|
-
test('removes a Groovy existence guard', () => {
|
|
26
|
-
const content = `
|
|
27
|
-
if (file('google-services.json').exists()) {
|
|
28
|
-
apply plugin: 'com.google.gms.google-services'
|
|
29
|
-
}
|
|
30
|
-
`;
|
|
31
|
-
expect(stripExistenceGuardedBlocks(content)).not.toContain('google-services');
|
|
32
|
-
});
|
|
33
|
-
test('removes a guard qualified by a project receiver', () => {
|
|
34
|
-
const content = `
|
|
35
|
-
if (rootProject.file("app/google-services.json").exists()) {
|
|
36
|
-
apply(plugin = "com.google.gms.google-services")
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
39
|
-
expect(stripExistenceGuardedBlocks(content)).not.toContain('google-services');
|
|
40
|
-
});
|
|
41
|
-
test('keeps nested braces inside the guard body together', () => {
|
|
42
|
-
const content = `
|
|
43
|
-
if (file("google-services.json").exists()) {
|
|
44
|
-
android { buildTypes { release { } } }
|
|
45
|
-
apply(plugin = "com.google.gms.google-services")
|
|
46
|
-
}
|
|
47
|
-
val keep = "after"
|
|
48
|
-
`;
|
|
49
|
-
const stripped = stripExistenceGuardedBlocks(content);
|
|
50
|
-
expect(stripped).not.toContain('google-services');
|
|
51
|
-
expect(stripped).toContain('val keep = "after"');
|
|
52
|
-
});
|
|
53
|
-
test('is not fooled by a brace inside a string literal', () => {
|
|
54
|
-
const content = `
|
|
55
|
-
if (file("google-services.json").exists()) {
|
|
56
|
-
val template = "\${'{'}not a block"
|
|
57
|
-
apply(plugin = "com.google.gms.google-services")
|
|
58
|
-
}
|
|
59
|
-
val keep = "after"
|
|
60
|
-
`;
|
|
61
|
-
const stripped = stripExistenceGuardedBlocks(content);
|
|
62
|
-
expect(stripped).not.toContain('google-services');
|
|
63
|
-
expect(stripped).toContain('val keep = "after"');
|
|
64
|
-
});
|
|
65
|
-
test('leaves an unguarded declaration exactly where it was', () => {
|
|
66
|
-
const content = `
|
|
67
|
-
plugins {
|
|
68
|
-
id("com.google.gms.google-services")
|
|
69
|
-
}
|
|
70
|
-
`;
|
|
71
|
-
expect(stripExistenceGuardedBlocks(content)).toBe(content);
|
|
72
|
-
});
|
|
73
|
-
test('leaves content alone when the guard never closes', () => {
|
|
74
|
-
const content = 'if (file("google-services.json").exists()) {\n apply(plugin = "x")\n';
|
|
75
|
-
expect(stripExistenceGuardedBlocks(content)).toBe(content);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=android-gms-guard.test.js.map
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Which JDK a generated Android pipeline asks for.
|
|
3
|
-
*
|
|
4
|
-
* Two constraints decide it and the old `Math.max(detected ?? 17, 17)` knew
|
|
5
|
-
* neither: build machines install a fixed set of JDKs, and Gradle refuses to
|
|
6
|
-
* start on a JDK newer than it knows about. Naming a JDK that is not
|
|
7
|
-
* installed fails at "Set the Java version", before a line compiles; raising
|
|
8
|
-
* a project onto a JDK its Gradle cannot run makes an old wrapper
|
|
9
|
-
* unbuildable by construction.
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=android-java-version.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"android-java-version.test.d.ts","sourceRoot":"","sources":["../../../src/commands/android-java-version.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Which JDK a generated Android pipeline asks for.
|
|
3
|
-
*
|
|
4
|
-
* Two constraints decide it and the old `Math.max(detected ?? 17, 17)` knew
|
|
5
|
-
* neither: build machines install a fixed set of JDKs, and Gradle refuses to
|
|
6
|
-
* start on a JDK newer than it knows about. Naming a JDK that is not
|
|
7
|
-
* installed fails at "Set the Java version", before a line compiles; raising
|
|
8
|
-
* a project onto a JDK its Gradle cannot run makes an old wrapper
|
|
9
|
-
* unbuildable by construction.
|
|
10
|
-
*/
|
|
11
|
-
import { describe, test, expect } from '@jest/globals';
|
|
12
|
-
import { AVAILABLE_JAVA_VERSIONS, gradleJavaCeiling, gradleJavaFloor, javaVersionProblem, parseGradleWrapperVersion, runnableJavaVersion, } from './android-scanner.js';
|
|
13
|
-
describe('parseGradleWrapperVersion', () => {
|
|
14
|
-
test('reads the version out of a distributionUrl', () => {
|
|
15
|
-
expect(parseGradleWrapperVersion('distributionUrl=https\\://services.gradle.org/distributions/gradle-8.9-bin.zip')).toBe('8.9');
|
|
16
|
-
});
|
|
17
|
-
test('reads an -all distribution and a three-part version', () => {
|
|
18
|
-
expect(parseGradleWrapperVersion('distributionUrl=https\\://services.gradle.org/distributions/gradle-5.2.1-all.zip')).toBe('5.2.1');
|
|
19
|
-
});
|
|
20
|
-
test('reads a release-candidate version', () => {
|
|
21
|
-
expect(parseGradleWrapperVersion('distributionUrl=https\\://services.gradle.org/distributions/gradle-9.0-rc-1-bin.zip')).toBe('9.0-rc-1');
|
|
22
|
-
});
|
|
23
|
-
test('returns undefined for a properties file that pins nothing', () => {
|
|
24
|
-
expect(parseGradleWrapperVersion('distributionBase=GRADLE_USER_HOME')).toBeUndefined();
|
|
25
|
-
expect(parseGradleWrapperVersion('')).toBeUndefined();
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe('gradleJavaCeiling / gradleJavaFloor', () => {
|
|
29
|
-
test('tracks what each Gradle line can run on', () => {
|
|
30
|
-
expect(gradleJavaCeiling('4.10.2')).toBe(8);
|
|
31
|
-
expect(gradleJavaCeiling('5.2.1')).toBe(11);
|
|
32
|
-
expect(gradleJavaCeiling('6.9')).toBe(11);
|
|
33
|
-
expect(gradleJavaCeiling('7.6.1')).toBe(17);
|
|
34
|
-
expect(gradleJavaCeiling('8.9')).toBe(21);
|
|
35
|
-
expect(gradleJavaCeiling('9.4.0')).toBe(25);
|
|
36
|
-
});
|
|
37
|
-
// The boundaries are minor releases, and preferring the newest JDK makes
|
|
38
|
-
// them load-bearing: JDK 21 arrived in Gradle 8.5, JDK 17 in 7.3, JDK 11 in
|
|
39
|
-
// 5.0.
|
|
40
|
-
test('knows the minor release each JDK arrived in', () => {
|
|
41
|
-
expect(gradleJavaCeiling('8.4')).toBe(17);
|
|
42
|
-
expect(gradleJavaCeiling('8.5')).toBe(21);
|
|
43
|
-
expect(gradleJavaCeiling('7.2')).toBe(11);
|
|
44
|
-
expect(gradleJavaCeiling('7.3')).toBe(17);
|
|
45
|
-
});
|
|
46
|
-
test('knows Gradle 9 dropped everything below 17', () => {
|
|
47
|
-
expect(gradleJavaFloor('8.9')).toBe(8);
|
|
48
|
-
expect(gradleJavaFloor('9.0')).toBe(17);
|
|
49
|
-
});
|
|
50
|
-
test('says nothing about a version it cannot read', () => {
|
|
51
|
-
expect(gradleJavaCeiling(undefined)).toBeUndefined();
|
|
52
|
-
expect(gradleJavaCeiling('nightly')).toBeUndefined();
|
|
53
|
-
expect(gradleJavaFloor(undefined)).toBeUndefined();
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('runnableJavaVersion', () => {
|
|
57
|
-
// DECIDED 2026-09-06 (Alex): the newest JDK the wrapper allows, reversing
|
|
58
|
-
// PRD decision #15. A declaration is a floor — 11 is installed, and a
|
|
59
|
-
// project declaring sourceCompatibility 11 gets 21, which it compiles
|
|
60
|
-
// perfectly well on and which AGP 8.x needs anyway.
|
|
61
|
-
test('takes the newest available JDK that covers the declaration', () => {
|
|
62
|
-
expect(runnableJavaVersion(11)).toBe(25);
|
|
63
|
-
expect(runnableJavaVersion(17)).toBe(25);
|
|
64
|
-
expect(runnableJavaVersion(25)).toBe(25);
|
|
65
|
-
});
|
|
66
|
-
// Nothing declared and no wrapper to read is nothing to go on. It used to
|
|
67
|
-
// answer 25 anyway, which is a guess wearing a number; the generator's own
|
|
68
|
-
// default stands instead, and that is not news worth a warning.
|
|
69
|
-
test('abstains when there is nothing to go on', () => {
|
|
70
|
-
expect(runnableJavaVersion(undefined)).toBeUndefined();
|
|
71
|
-
});
|
|
72
|
-
test('still answers from the wrapper alone, with nothing declared', () => {
|
|
73
|
-
expect(runnableJavaVersion(undefined, '8.9')).toBe(21);
|
|
74
|
-
});
|
|
75
|
-
// 8 joined the images on 2026-09-07 and must stay unreachable except where
|
|
76
|
-
// a wrapper ceiling forces it: a project declaring `sourceCompatibility 1.8`
|
|
77
|
-
// is declaring a floor, and AGP will not run on 8 at all.
|
|
78
|
-
test('never picks 8 for a project that merely declares it', () => {
|
|
79
|
-
// 8.13's own ceiling is 21 — JDK 25 needs Gradle 9.1.
|
|
80
|
-
expect(runnableJavaVersion(8, '8.13')).toBe(21);
|
|
81
|
-
expect(runnableJavaVersion(8)).toBe(25);
|
|
82
|
-
});
|
|
83
|
-
// AutoJs6: Gradle 4.10.2 tops out at Java 8, and now there is a Java 8.
|
|
84
|
-
test('picks 8 when the wrapper leaves nothing else', () => {
|
|
85
|
-
expect(runnableJavaVersion(undefined, '4.10.2')).toBe(8);
|
|
86
|
-
expect(runnableJavaVersion(8, '4.10.2')).toBe(8);
|
|
87
|
-
});
|
|
88
|
-
test('steps down to 11 only when the wrapper rules everything else out', () => {
|
|
89
|
-
expect(runnableJavaVersion(undefined, '5.2.1')).toBe(11);
|
|
90
|
-
expect(runnableJavaVersion(11, '5.2.1')).toBe(11);
|
|
91
|
-
expect(runnableJavaVersion(undefined, '6.9')).toBe(11);
|
|
92
|
-
});
|
|
93
|
-
// No answer is ever a JDK the build machines lack.
|
|
94
|
-
test('never names a JDK no build machine has', () => {
|
|
95
|
-
for (const answer of [runnableJavaVersion(23), runnableJavaVersion(25, '8.9')]) {
|
|
96
|
-
if (answer !== undefined)
|
|
97
|
-
expect(AVAILABLE_JAVA_VERSIONS).toContain(answer);
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
/**
|
|
101
|
-
* And no answer is ever above the wrapper's own ceiling.
|
|
102
|
-
*
|
|
103
|
-
* This is the defect. Nothing satisfied both the declaration and the
|
|
104
|
-
* ceiling, so the chooser fell back to the newest installed JDK — which is
|
|
105
|
-
* *above* the ceiling by construction, because the ceiling is why nothing
|
|
106
|
-
* fitted. The build then died selecting the JDK, exactly as a too-new JDK
|
|
107
|
-
* always does, and `javaVersionProblem` had no branch for the shape so
|
|
108
|
-
* nothing anywhere said a choice had been made.
|
|
109
|
-
*
|
|
110
|
-
* The ceiling is hard: Gradle starts before it reads a single
|
|
111
|
-
* `sourceCompatibility`. The declaration is a floor. So where they conflict
|
|
112
|
-
* the ceiling wins, and the caller says so.
|
|
113
|
-
*/
|
|
114
|
-
test('never answers above the wrapper ceiling', () => {
|
|
115
|
-
// Gradle 7.x tops out at 17. Declaring 21 cannot raise that.
|
|
116
|
-
expect(runnableJavaVersion(21, '7.6.1')).toBe(17);
|
|
117
|
-
expect(runnableJavaVersion(17, '7.6.1')).toBe(17);
|
|
118
|
-
});
|
|
119
|
-
// Gradle 6.5 runs on Java 11 at most, and a workflow pins java-version 12.
|
|
120
|
-
// The old chooser answered 25 and said nothing.
|
|
121
|
-
test('caps a modern declaration under an old wrapper', () => {
|
|
122
|
-
expect(runnableJavaVersion(12, '6.5')).toBe(11);
|
|
123
|
-
});
|
|
124
|
-
// Every shape the corpus has, held to both properties at once: the answer
|
|
125
|
-
// is installed, and it is not above the ceiling.
|
|
126
|
-
test.each([
|
|
127
|
-
[8, '4.10.2'],
|
|
128
|
-
[11, '5.2.1'],
|
|
129
|
-
[12, '6.5'],
|
|
130
|
-
[17, '7.6.1'],
|
|
131
|
-
[21, '7.6.1'],
|
|
132
|
-
[8, '9.0'],
|
|
133
|
-
[30, '8.9'],
|
|
134
|
-
[25, '9.1'],
|
|
135
|
-
[undefined, '6.9'],
|
|
136
|
-
])('declared %s on Gradle %s answers within both bounds', (declared, gradle) => {
|
|
137
|
-
const answer = runnableJavaVersion(declared, gradle);
|
|
138
|
-
if (answer === undefined)
|
|
139
|
-
return; // abstention is always allowed
|
|
140
|
-
expect(AVAILABLE_JAVA_VERSIONS).toContain(answer);
|
|
141
|
-
const ceiling = gradleJavaCeiling(gradle);
|
|
142
|
-
if (ceiling !== undefined)
|
|
143
|
-
expect(answer).toBeLessThanOrEqual(ceiling);
|
|
144
|
-
});
|
|
145
|
-
test('honours the Gradle 9 floor of 17', () => {
|
|
146
|
-
// The floor rules 11 out; the newest above it is what gets written.
|
|
147
|
-
expect(runnableJavaVersion(8, '9.0')).toBe(21);
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
describe('javaVersionProblem', () => {
|
|
151
|
-
// There is no longer a Gradle version no installed JDK can run: the ceiling
|
|
152
|
-
// bottoms out at Java 8 and since 2026-09-07 the images carry one. The
|
|
153
|
-
// branch that says so is kept for an installed set that drops 8 again.
|
|
154
|
-
test('no longer calls an old wrapper a problem', () => {
|
|
155
|
-
expect(javaVersionProblem(undefined, '4.10.2')).toBeUndefined();
|
|
156
|
-
expect(javaVersionProblem(undefined, '3.5')).toBeUndefined();
|
|
157
|
-
});
|
|
158
|
-
test('names a declaration above every installed JDK', () => {
|
|
159
|
-
const problem = javaVersionProblem(30, '8.9');
|
|
160
|
-
expect(problem).toContain('Java 30');
|
|
161
|
-
expect(problem).toContain('8, 11, 17, 21 and 25');
|
|
162
|
-
});
|
|
163
|
-
test('is silent when every constraint was honoured', () => {
|
|
164
|
-
expect(javaVersionProblem(17, '8.9')).toBeUndefined();
|
|
165
|
-
expect(javaVersionProblem(undefined, '8.9')).toBeUndefined();
|
|
166
|
-
expect(javaVersionProblem(undefined, undefined)).toBeUndefined();
|
|
167
|
-
// 5.2.1 used to be a problem. The images carry 11 now, so it is not.
|
|
168
|
-
expect(javaVersionProblem(undefined, '5.2.1')).toBeUndefined();
|
|
169
|
-
// Nor is 4.10.2, since the images carry 8.
|
|
170
|
-
expect(javaVersionProblem(undefined, '4.10.2')).toBeUndefined();
|
|
171
|
-
});
|
|
172
|
-
/**
|
|
173
|
-
* The shape that used to fall through every branch, and the reason this
|
|
174
|
-
* function is resolved from the same place as the answer.
|
|
175
|
-
*
|
|
176
|
-
* A wrapper on Gradle 6.5 under a workflow pinning java-version 12: the
|
|
177
|
-
* ceiling is not below every installed JDK and the declaration is not above
|
|
178
|
-
* every installed JDK, so neither old branch fired. The chooser answered 25
|
|
179
|
-
* — above the ceiling — and nothing said the project had asked for something
|
|
180
|
-
* else and been overruled.
|
|
181
|
-
*/
|
|
182
|
-
test('speaks when an old wrapper overrules a newer declaration', () => {
|
|
183
|
-
const problem = javaVersionProblem(12, '6.5');
|
|
184
|
-
expect(problem).toContain('Java 12');
|
|
185
|
-
expect(problem).toContain('Gradle 6.5');
|
|
186
|
-
expect(problem).toContain('Java 11 at most');
|
|
187
|
-
expect(problem).toContain('Building on 11');
|
|
188
|
-
});
|
|
189
|
-
// An answer that is not what was asked for always speaks, whichever
|
|
190
|
-
// constraint did the overruling.
|
|
191
|
-
test.each([
|
|
192
|
-
[12, '6.5'],
|
|
193
|
-
[21, '7.6.1'],
|
|
194
|
-
[30, '8.9'],
|
|
195
|
-
])('declared %s on Gradle %s never passes silently', (declared, gradle) => {
|
|
196
|
-
expect(javaVersionProblem(declared, gradle)).toBeDefined();
|
|
197
|
-
});
|
|
198
|
-
// Naming a version with no provenance sends a reader through every Gradle
|
|
199
|
-
// file looking for a number that is in none of them. The scan knows which
|
|
200
|
-
// file asked, so the sentence can say.
|
|
201
|
-
test('names the file that asked, when it is known', () => {
|
|
202
|
-
const problem = javaVersionProblem(12, '6.5', '.github/workflows/Build.yml');
|
|
203
|
-
expect(problem).toContain('Java 12 (.github/workflows/Build.yml)');
|
|
204
|
-
});
|
|
205
|
-
test('reads correctly without a source', () => {
|
|
206
|
-
expect(javaVersionProblem(12, '6.5')).not.toContain('(');
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
//# sourceMappingURL=android-java-version.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"android-scanner-java.test.d.ts","sourceRoot":"","sources":["../../../src/commands/android-scanner-java.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Which JDK a project needs, from every place it says so.
|
|
3
|
-
*
|
|
4
|
-
* Two rows of the thirty-app study died at root-project configuration on a
|
|
5
|
-
* JDK the images already carry, and neither was a repository problem:
|
|
6
|
-
*
|
|
7
|
-
* - `SimonSchubert/LinuxCommandLibrary` declares eight modules in a single
|
|
8
|
-
* `include(...)` call. The scanner's own include regex captured only the
|
|
9
|
-
* first argument, so seven modules were never opened — including the one
|
|
10
|
-
* with `jvmToolchain(21)` in it. It answered 17, and a Gradle plugin
|
|
11
|
-
* requiring a 21 runtime failed the build.
|
|
12
|
-
* - `mihonapp/mihon` declares no Java level in any Gradle file. It pins 21
|
|
13
|
-
* in `.github/.java-version`, which its own workflows consume through
|
|
14
|
-
* `setup-java`'s `java-version-file:`. Nothing of ours read either.
|
|
15
|
-
*/
|
|
16
|
-
import { mkdtempSync, rmSync, mkdirSync, writeFileSync } from "node:fs";
|
|
17
|
-
import { join } from "node:path";
|
|
18
|
-
import { tmpdir } from "node:os";
|
|
19
|
-
import { scanAndroidProject } from "./android-scanner.js";
|
|
20
|
-
let root;
|
|
21
|
-
beforeEach(() => {
|
|
22
|
-
root = mkdtempSync(join(tmpdir(), "cibuild-java-"));
|
|
23
|
-
});
|
|
24
|
-
afterEach(() => {
|
|
25
|
-
rmSync(root, { recursive: true, force: true });
|
|
26
|
-
});
|
|
27
|
-
function write(relative, content) {
|
|
28
|
-
const path = join(root, relative);
|
|
29
|
-
mkdirSync(join(path, ".."), { recursive: true });
|
|
30
|
-
writeFileSync(path, content);
|
|
31
|
-
}
|
|
32
|
-
async function detectedJava() {
|
|
33
|
-
const result = await scanAndroidProject(root);
|
|
34
|
-
return result.detectedJavaVersion;
|
|
35
|
-
}
|
|
36
|
-
describe("the Java version a project asks for", () => {
|
|
37
|
-
describe("every module the build includes", () => {
|
|
38
|
-
// The exact settings line from LinuxCommandLibrary, and the two build
|
|
39
|
-
// files that decide the answer: 17 in the first module, 21 in the last.
|
|
40
|
-
test("reads all eight modules of one include call", async () => {
|
|
41
|
-
write("settings.gradle.kts", 'include(":android", ":common", ":websiteBuilder", ":cli", ":composeApp", ":desktopApp", ":viewmodels", ":screenshotTests")\n');
|
|
42
|
-
write("build.gradle.kts", "// root\n");
|
|
43
|
-
write("android/build.gradle.kts", "kotlin {\n compilerOptions {\n jvmTarget.set(JvmTarget.JVM_17)\n }\n}\n");
|
|
44
|
-
write("screenshotTests/build.gradle.kts", "kotlin {\n jvmToolchain(21)\n}\n");
|
|
45
|
-
expect(await detectedJava()).toBe(21);
|
|
46
|
-
});
|
|
47
|
-
test("reads the Groovy multi-argument form too", async () => {
|
|
48
|
-
write("settings.gradle", "include ':app', ':feature:home'\n");
|
|
49
|
-
write("app/build.gradle", "android { compileOptions { sourceCompatibility JavaVersion.VERSION_17 } }\n");
|
|
50
|
-
write("feature/home/build.gradle", "kotlin { jvmToolchain(21) }\n");
|
|
51
|
-
expect(await detectedJava()).toBe(21);
|
|
52
|
-
});
|
|
53
|
-
// A7 lite: a convention plugin's own build file is where a monorepo's
|
|
54
|
-
// Java level often lives, and `includeBuild` is how it gets there.
|
|
55
|
-
test("follows includeBuild into a build-logic root", async () => {
|
|
56
|
-
write("settings.gradle.kts", 'includeBuild("build-logic")\ninclude(":app")\n');
|
|
57
|
-
write("app/build.gradle.kts", "// nothing\n");
|
|
58
|
-
write("build-logic/build.gradle.kts", "kotlin { jvmToolchain(21) }\n");
|
|
59
|
-
expect(await detectedJava()).toBe(21);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
describe("the forms a Kotlin build writes jvmTarget in", () => {
|
|
63
|
-
test.each([
|
|
64
|
-
["jvmTarget.set(JvmTarget.JVM_17)", 17],
|
|
65
|
-
["jvmTarget = JvmTarget.JVM_21", 21],
|
|
66
|
-
['jvmTarget.set(JvmTarget.fromTarget("17"))', 17],
|
|
67
|
-
['jvmTarget = "21"', 21],
|
|
68
|
-
["jvmTarget.set(JvmTarget.JVM_1_8)", 8],
|
|
69
|
-
])("reads %s", async (form, expected) => {
|
|
70
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
71
|
-
write("app/build.gradle.kts", `kotlin { compilerOptions { ${form} } }\n`);
|
|
72
|
-
expect(await detectedJava()).toBe(expected);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe("the files that pin a JDK outside Gradle", () => {
|
|
76
|
-
// mihon. The floor is 21 and no Gradle file says anything at all.
|
|
77
|
-
test("reads .github/.java-version", async () => {
|
|
78
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
79
|
-
write("app/build.gradle.kts", "// nothing\n");
|
|
80
|
-
write(".github/.java-version", "21\n");
|
|
81
|
-
expect(await detectedJava()).toBe(21);
|
|
82
|
-
});
|
|
83
|
-
// thunderbird pins at the root.
|
|
84
|
-
test("reads a root .java-version", async () => {
|
|
85
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
86
|
-
write(".java-version", "21\n");
|
|
87
|
-
expect(await detectedJava()).toBe(21);
|
|
88
|
-
});
|
|
89
|
-
test("reads a java entry in .tool-versions", async () => {
|
|
90
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
91
|
-
write(".tool-versions", "nodejs 20.11.0\njava temurin-21.0.3+9\n");
|
|
92
|
-
expect(await detectedJava()).toBe(21);
|
|
93
|
-
});
|
|
94
|
-
test("reads .sdkmanrc", async () => {
|
|
95
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
96
|
-
write(".sdkmanrc", "# comment\njava=17.0.9-tem\ngradle=8.13\n");
|
|
97
|
-
expect(await detectedJava()).toBe(17);
|
|
98
|
-
});
|
|
99
|
-
test("reads java-version from a workflow", async () => {
|
|
100
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
101
|
-
write(".github/workflows/build.yml", "jobs:\n build:\n steps:\n - uses: actions/setup-java@v4\n with:\n java-version: 21\n");
|
|
102
|
-
expect(await detectedJava()).toBe(21);
|
|
103
|
-
});
|
|
104
|
-
// A matrix declares several; the highest is the one that has to work.
|
|
105
|
-
test("takes the highest of a workflow matrix", async () => {
|
|
106
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
107
|
-
write(".github/workflows/ci.yml", "strategy:\n matrix:\n java-version: [17, 21]\n");
|
|
108
|
-
expect(await detectedJava()).toBe(21);
|
|
109
|
-
});
|
|
110
|
-
// A pin is a floor, not a ceiling, and a Gradle declaration above it wins.
|
|
111
|
-
test("is a floor, not an override", async () => {
|
|
112
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
113
|
-
write("app/build.gradle.kts", "kotlin { jvmToolchain(21) }\n");
|
|
114
|
-
write(".java-version", "17\n");
|
|
115
|
-
expect(await detectedJava()).toBe(21);
|
|
116
|
-
});
|
|
117
|
-
test("says nothing when nothing pins anything", async () => {
|
|
118
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
119
|
-
write("app/build.gradle.kts", "// nothing\n");
|
|
120
|
-
expect(await detectedJava()).toBeUndefined();
|
|
121
|
-
});
|
|
122
|
-
// A version this scanner cannot make sense of must not become a number.
|
|
123
|
-
test("ignores an unreadable pin", async () => {
|
|
124
|
-
write("settings.gradle.kts", 'include(":app")\n');
|
|
125
|
-
write(".java-version", "graalvm-community\n");
|
|
126
|
-
expect(await detectedJava()).toBeUndefined();
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
//# sourceMappingURL=android-scanner-java.test.js.map
|