@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,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for edit-command helpers.
|
|
3
|
-
* Focused on the dual-read of meta.invarn + meta.cibuild.io for the platform hint.
|
|
4
|
-
*/
|
|
5
|
-
import { describe, test, expect } from '@jest/globals';
|
|
6
|
-
import { detectWorkflowPlatform } from './edit.js';
|
|
7
|
-
describe('detectWorkflowPlatform — meta dual-read', () => {
|
|
8
|
-
function pipelineWithMeta(meta) {
|
|
9
|
-
return {
|
|
10
|
-
format_version: '4',
|
|
11
|
-
meta,
|
|
12
|
-
workflows: {
|
|
13
|
-
primary: {
|
|
14
|
-
steps: [{ 'script@1.0.0': { inputs: {} } }],
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
test('reads platform from meta.invarn when only invarn is present', () => {
|
|
20
|
-
const pipeline = pipelineWithMeta({
|
|
21
|
-
invarn: { platform: 'ios' },
|
|
22
|
-
});
|
|
23
|
-
expect(detectWorkflowPlatform(pipeline, 'primary')).toBe('ios');
|
|
24
|
-
});
|
|
25
|
-
test('prefers meta.invarn.platform over meta.cibuild.io.platform when both are present', () => {
|
|
26
|
-
const pipeline = pipelineWithMeta({
|
|
27
|
-
invarn: { platform: 'ios' },
|
|
28
|
-
'cibuild.io': { platform: 'android' },
|
|
29
|
-
});
|
|
30
|
-
expect(detectWorkflowPlatform(pipeline, 'primary')).toBe('ios');
|
|
31
|
-
});
|
|
32
|
-
test('falls back to meta.cibuild.io.platform when meta.invarn is absent', () => {
|
|
33
|
-
const pipeline = pipelineWithMeta({
|
|
34
|
-
'cibuild.io': { platform: 'android' },
|
|
35
|
-
});
|
|
36
|
-
expect(detectWorkflowPlatform(pipeline, 'primary')).toBe('android');
|
|
37
|
-
});
|
|
38
|
-
test('maps kmm to ios from meta.invarn', () => {
|
|
39
|
-
const pipeline = pipelineWithMeta({
|
|
40
|
-
invarn: { platform: 'kmm' },
|
|
41
|
-
});
|
|
42
|
-
expect(detectWorkflowPlatform(pipeline, 'primary')).toBe('ios');
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=edit.test.js.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `ci fidelity-trim <in.png> <out.png> [<aligned.png> <reference.png>]`
|
|
3
|
-
*
|
|
4
|
-
* Internal command: the trim/align helper the generated UI-fidelity render
|
|
5
|
-
* scripts (iOS + Android) spawn after each screen renders. It crops a render
|
|
6
|
-
* to its content bounding box in place, optionally writes a reference-sized
|
|
7
|
-
* aligned copy, and prints a `TRIMDIMS` line — the exact argv/stdout/exit-code
|
|
8
|
-
* contract of the retired embedded Swift (CoreGraphics) helper, now pure JS so
|
|
9
|
-
* the same bytes run on macOS and Linux workers.
|
|
10
|
-
*/
|
|
11
|
-
/** Runs the helper and returns its exit status (0 on success). */
|
|
12
|
-
export declare function handleFidelityTrimCommand(args: string[]): number;
|
|
13
|
-
//# sourceMappingURL=fidelity-trim.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fidelity-trim.d.ts","sourceRoot":"","sources":["../../../src/commands/fidelity-trim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,kEAAkE;AAClE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAKhE"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `ci fidelity-trim <in.png> <out.png> [<aligned.png> <reference.png>]`
|
|
3
|
-
*
|
|
4
|
-
* Internal command: the trim/align helper the generated UI-fidelity render
|
|
5
|
-
* scripts (iOS + Android) spawn after each screen renders. It crops a render
|
|
6
|
-
* to its content bounding box in place, optionally writes a reference-sized
|
|
7
|
-
* aligned copy, and prints a `TRIMDIMS` line — the exact argv/stdout/exit-code
|
|
8
|
-
* contract of the retired embedded Swift (CoreGraphics) helper, now pure JS so
|
|
9
|
-
* the same bytes run on macOS and Linux workers.
|
|
10
|
-
*/
|
|
11
|
-
import { runTrimAlign } from '../yaml/steps/trim-align.js';
|
|
12
|
-
/** Runs the helper and returns its exit status (0 on success). */
|
|
13
|
-
export function handleFidelityTrimCommand(args) {
|
|
14
|
-
const result = runTrimAlign(args);
|
|
15
|
-
if (result.stdout)
|
|
16
|
-
process.stdout.write(result.stdout);
|
|
17
|
-
if (result.stderr)
|
|
18
|
-
process.stderr.write(result.stderr);
|
|
19
|
-
return result.status;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=fidelity-trim.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for the `ci fidelity-trim` command — the process seam over the pure
|
|
3
|
-
* trim/align core. The generated fidelity render scripts (iOS + Android) spawn
|
|
4
|
-
* this instead of the retired Swift helper, so the argv contract, TRIMDIMS
|
|
5
|
-
* stdout line, and exit codes are load-bearing.
|
|
6
|
-
*/
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=fidelity-trim.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fidelity-trim.test.d.ts","sourceRoot":"","sources":["../../../src/commands/fidelity-trim.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for the `ci fidelity-trim` command — the process seam over the pure
|
|
3
|
-
* trim/align core. The generated fidelity render scripts (iOS + Android) spawn
|
|
4
|
-
* this instead of the retired Swift helper, so the argv contract, TRIMDIMS
|
|
5
|
-
* stdout line, and exit codes are load-bearing.
|
|
6
|
-
*/
|
|
7
|
-
import { mkdtempSync, rmSync, writeFileSync, readFileSync } from 'node:fs';
|
|
8
|
-
import { tmpdir } from 'node:os';
|
|
9
|
-
import { join } from 'node:path';
|
|
10
|
-
import { PNG } from 'pngjs';
|
|
11
|
-
import { describe, test, expect, afterAll, jest } from '@jest/globals';
|
|
12
|
-
import { handleFidelityTrimCommand } from './fidelity-trim.js';
|
|
13
|
-
const dirs = [];
|
|
14
|
-
function scene() {
|
|
15
|
-
const dir = mkdtempSync(join(tmpdir(), 'fidelity-trim-cmd-'));
|
|
16
|
-
dirs.push(dir);
|
|
17
|
-
return dir;
|
|
18
|
-
}
|
|
19
|
-
afterAll(() => {
|
|
20
|
-
for (const dir of dirs) {
|
|
21
|
-
try {
|
|
22
|
-
rmSync(dir, { recursive: true, force: true });
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
// best effort
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
function craftOpaqueRect(w, h, x, y, rw, rh) {
|
|
30
|
-
const png = new PNG({ width: w, height: h });
|
|
31
|
-
for (let yy = y; yy < y + rh; yy++) {
|
|
32
|
-
for (let xx = x; xx < x + rw; xx++) {
|
|
33
|
-
const i = (yy * w + xx) * 4;
|
|
34
|
-
png.data[i] = 255;
|
|
35
|
-
png.data[i + 3] = 255;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return PNG.sync.write(png);
|
|
39
|
-
}
|
|
40
|
-
describe('handleFidelityTrimCommand', () => {
|
|
41
|
-
test('trims in place, prints TRIMDIMS to stdout, returns 0', () => {
|
|
42
|
-
const dir = scene();
|
|
43
|
-
const input = join(dir, 'in.png');
|
|
44
|
-
writeFileSync(input, craftOpaqueRect(100, 80, 10, 20, 30, 40));
|
|
45
|
-
const out = join(dir, 'out.png');
|
|
46
|
-
const stdout = jest.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
47
|
-
const stderr = jest.spyOn(process.stderr, 'write').mockImplementation(() => true);
|
|
48
|
-
try {
|
|
49
|
-
const status = handleFidelityTrimCommand([input, out]);
|
|
50
|
-
expect(status).toBe(0);
|
|
51
|
-
const printed = stdout.mock.calls.map((c) => String(c[0])).join('');
|
|
52
|
-
expect(printed).toBe('TRIMDIMS 30 40 0 0 100 80 10 20\n');
|
|
53
|
-
expect(stderr).not.toHaveBeenCalled();
|
|
54
|
-
}
|
|
55
|
-
finally {
|
|
56
|
-
stdout.mockRestore();
|
|
57
|
-
stderr.mockRestore();
|
|
58
|
-
}
|
|
59
|
-
const trimmed = PNG.sync.read(readFileSync(out));
|
|
60
|
-
expect([trimmed.width, trimmed.height]).toEqual([30, 40]);
|
|
61
|
-
});
|
|
62
|
-
test('propagates the helper exit code and stderr on failure', () => {
|
|
63
|
-
const dir = scene();
|
|
64
|
-
const stdout = jest.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
65
|
-
const stderr = jest.spyOn(process.stderr, 'write').mockImplementation(() => true);
|
|
66
|
-
try {
|
|
67
|
-
const status = handleFidelityTrimCommand([join(dir, 'missing.png'), join(dir, 'out.png')]);
|
|
68
|
-
expect(status).toBe(65);
|
|
69
|
-
const printed = stderr.mock.calls.map((c) => String(c[0])).join('');
|
|
70
|
-
expect(printed).toContain('could not read image at');
|
|
71
|
-
expect(stdout).not.toHaveBeenCalled();
|
|
72
|
-
}
|
|
73
|
-
finally {
|
|
74
|
-
stdout.mockRestore();
|
|
75
|
-
stderr.mockRestore();
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=fidelity-trim.test.js.map
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { SecretsManager } from "../yaml/secrets-manager.js";
|
|
2
|
-
export interface WorkflowGroup {
|
|
3
|
-
label: string;
|
|
4
|
-
workflows: string[];
|
|
5
|
-
}
|
|
6
|
-
export interface FileSecretConfig {
|
|
7
|
-
/** Display name used in prompts, e.g. "keystore" */
|
|
8
|
-
displayName: string;
|
|
9
|
-
/** The secret variable name, e.g. "KEYSTORE_BASE64" */
|
|
10
|
-
secretName: string;
|
|
11
|
-
/** Returns true if a filename matches (e.g. name === "google-services.json") */
|
|
12
|
-
fileMatch: (name: string) => boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Narrows the candidates by their path relative to the project root, once
|
|
15
|
-
* `fileMatch` has found them by name.
|
|
16
|
-
*
|
|
17
|
-
* A credential Android keeps one copy of per product flavor has the same
|
|
18
|
-
* basename in every source set — four `google-services.json` under
|
|
19
|
-
* `app/`, `app/src/dev/`, `app/src/prod/` and `app/src/ciDynamic/` — so a
|
|
20
|
-
* name is not enough to say which one a workflow needs. Without this the
|
|
21
|
-
* single-candidate auto-apply below never fires on a flavored repository,
|
|
22
|
-
* and the answer comes from a prompt or from whichever the walk reached
|
|
23
|
-
* first.
|
|
24
|
-
*/
|
|
25
|
-
pathMatch?: (relativePath: string) => boolean;
|
|
26
|
-
/** How to read the file into a string value. Defaults to "text". */
|
|
27
|
-
readAs?: "text" | "base64";
|
|
28
|
-
/** Workflow groups to scope the secret to */
|
|
29
|
-
workflowGroups: WorkflowGroup[];
|
|
30
|
-
/**
|
|
31
|
-
* When true, prompt for the relative project path where this file should
|
|
32
|
-
* be placed at runtime whenever content is provided manually (not picked
|
|
33
|
-
* from disk candidates). The answer is stored in the returned paths map.
|
|
34
|
-
*/
|
|
35
|
-
promptTargetPath?: boolean;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Maps each workflow name to the relative path of the file that was selected
|
|
39
|
-
* or auto-detected from disk. Empty when the value was pasted manually.
|
|
40
|
-
*/
|
|
41
|
-
export type FileSecretPaths = Record<string, string>;
|
|
42
|
-
export declare function findProjectFiles(dir: string, match: (name: string) => boolean): string[];
|
|
43
|
-
/**
|
|
44
|
-
* Finds, prompts for, and stores a file-based secret.
|
|
45
|
-
* Only prompts for workflow groups that don't already have the secret.
|
|
46
|
-
* Returns a map of workflow → relative file path for every workflow
|
|
47
|
-
* that was resolved from disk (not from a manual paste).
|
|
48
|
-
*/
|
|
49
|
-
export declare function collectFileSecret(config: FileSecretConfig, cwd: string, secretsManager: SecretsManager, nonInteractive?: boolean): Promise<FileSecretPaths>;
|
|
50
|
-
//# sourceMappingURL=file-secret-collector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-secret-collector.d.ts","sourceRoot":"","sources":["../../../src/commands/file-secret-collector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,6CAA6C;IAC7C,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAMrD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CAkBxF;AAiDD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,cAAc,EAC9B,cAAc,UAAQ,GACrB,OAAO,CAAC,eAAe,CAAC,CA6I1B"}
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
import { resolve, relative, sep } from "node:path";
|
|
2
|
-
import { readdirSync, readFileSync } from "node:fs";
|
|
3
|
-
import * as readline from "node:readline";
|
|
4
|
-
import prompts from "prompts";
|
|
5
|
-
const SKIP_DIRS = new Set([
|
|
6
|
-
".git", ".ci", "build", "dist", "node_modules", ".gradle", ".idea",
|
|
7
|
-
]);
|
|
8
|
-
export function findProjectFiles(dir, match) {
|
|
9
|
-
const results = [];
|
|
10
|
-
let entries;
|
|
11
|
-
try {
|
|
12
|
-
entries = readdirSync(dir, { withFileTypes: true });
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
return results;
|
|
16
|
-
}
|
|
17
|
-
for (const entry of entries) {
|
|
18
|
-
if (entry.isDirectory()) {
|
|
19
|
-
if (!SKIP_DIRS.has(entry.name)) {
|
|
20
|
-
results.push(...findProjectFiles(resolve(dir, entry.name), match));
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
else if (match(entry.name)) {
|
|
24
|
-
results.push(resolve(dir, entry.name));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return results;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Reads multiline content from stdin via readline.
|
|
31
|
-
* The user terminates input by typing .done on its own line.
|
|
32
|
-
*/
|
|
33
|
-
function readMultilineContent(label) {
|
|
34
|
-
return new Promise((resolvePromise) => {
|
|
35
|
-
console.log(`\n ${label}`);
|
|
36
|
-
console.log(" Paste content, then type .done on its own line and press Enter:\n");
|
|
37
|
-
if (process.stdin.isTTY) {
|
|
38
|
-
try {
|
|
39
|
-
process.stdin.setRawMode(false);
|
|
40
|
-
}
|
|
41
|
-
catch { /* ignore */ }
|
|
42
|
-
}
|
|
43
|
-
process.stdin.resume();
|
|
44
|
-
const rl = readline.createInterface({ input: process.stdin, terminal: false });
|
|
45
|
-
const lines = [];
|
|
46
|
-
rl.on("line", (line) => {
|
|
47
|
-
if (line.trim() === ".done") {
|
|
48
|
-
rl.close();
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
lines.push(line);
|
|
52
|
-
});
|
|
53
|
-
rl.once("close", () => {
|
|
54
|
-
process.stdin.pause();
|
|
55
|
-
resolvePromise(lines.length > 0 ? lines.join("\n") : undefined);
|
|
56
|
-
});
|
|
57
|
-
rl.on("SIGINT", () => { rl.close(); resolvePromise(undefined); });
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Prompts the user for the relative path in the project where the file
|
|
62
|
-
* should be written at runtime (e.g. "app/release.jks").
|
|
63
|
-
*/
|
|
64
|
-
async function promptTargetPathInProject(displayName) {
|
|
65
|
-
const { targetPath } = await prompts({
|
|
66
|
-
type: "text",
|
|
67
|
-
name: "targetPath",
|
|
68
|
-
message: `Where should the ${displayName} be placed in the project? (e.g. app/release.jks)`,
|
|
69
|
-
});
|
|
70
|
-
return targetPath?.trim() || undefined;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Finds, prompts for, and stores a file-based secret.
|
|
74
|
-
* Only prompts for workflow groups that don't already have the secret.
|
|
75
|
-
* Returns a map of workflow → relative file path for every workflow
|
|
76
|
-
* that was resolved from disk (not from a manual paste).
|
|
77
|
-
*/
|
|
78
|
-
export async function collectFileSecret(config, cwd, secretsManager, nonInteractive = false) {
|
|
79
|
-
const paths = {};
|
|
80
|
-
const readContent = (p) => config.readAs === "base64"
|
|
81
|
-
? readFileSync(p).toString("base64")
|
|
82
|
-
: readFileSync(p, "utf-8");
|
|
83
|
-
const relativeToCwd = (p) => relative(cwd, p).split(sep).join("/");
|
|
84
|
-
const candidates = findProjectFiles(cwd, config.fileMatch).filter((p) => config.pathMatch?.(relativeToCwd(p)) ?? true);
|
|
85
|
-
// A stored value answers "what are the bytes". It does not answer "where does
|
|
86
|
-
// each workflow write them", and `.cibuild-secrets.json` cannot: the store
|
|
87
|
-
// records values and never targets. So a caller that consumes the returned
|
|
88
|
-
// map has to be asked whichever state the value is in.
|
|
89
|
-
//
|
|
90
|
-
// `promptTargetPath` marks that caller — the keystore, the only one whose
|
|
91
|
-
// return value the generator assigns. Conflating the two questions lost the
|
|
92
|
-
// keystore split on every repository that had ever run `ci init`: a *global*
|
|
93
|
-
// entry satisfies `hasSecret` for every workflow, so nothing was pending, an
|
|
94
|
-
// empty map went back, and the generator's fallback handed all three
|
|
95
|
-
// workflows one path. A fresh clone asked and split correctly, which is why
|
|
96
|
-
// no fixture-built test saw it.
|
|
97
|
-
//
|
|
98
|
-
// Only when there is something on disk to choose between. With no candidate
|
|
99
|
-
// the question has no answer worth interrupting for, and the short-circuit is
|
|
100
|
-
// still the kinder branch.
|
|
101
|
-
const callerNeedsTargets = config.promptTargetPath === true && candidates.length > 0;
|
|
102
|
-
const pendingGroups = config.workflowGroups.filter((g) => callerNeedsTargets ||
|
|
103
|
-
!g.workflows.every((wf) => secretsManager.hasSecret(config.secretName, wf)));
|
|
104
|
-
if (pendingGroups.length === 0) {
|
|
105
|
-
console.log(` ✅ ${config.secretName} already in .cibuild-secrets.json — will be used at runtime.`);
|
|
106
|
-
return paths;
|
|
107
|
-
}
|
|
108
|
-
const pendingWorkflows = pendingGroups.flatMap((g) => g.workflows);
|
|
109
|
-
if (candidates.length === 1 && config.workflowGroups.length === 1) {
|
|
110
|
-
// Single file, single-group config — auto-apply without prompting
|
|
111
|
-
const content = readContent(candidates[0]);
|
|
112
|
-
const relPath = relative(cwd, candidates[0]);
|
|
113
|
-
for (const wf of pendingWorkflows) {
|
|
114
|
-
secretsManager.storeSecret(config.secretName, content, wf);
|
|
115
|
-
paths[wf] = relPath;
|
|
116
|
-
}
|
|
117
|
-
console.log(` ✅ Read ${relPath} and stored as ${config.secretName} (workflows: ${pendingWorkflows.join(", ")})`);
|
|
118
|
-
}
|
|
119
|
-
else if (candidates.length > 0 && nonInteractive) {
|
|
120
|
-
// Non-interactive: auto-pick first candidate for all pending groups
|
|
121
|
-
const content = readContent(candidates[0]);
|
|
122
|
-
const relPath = relative(cwd, candidates[0]);
|
|
123
|
-
for (const wf of pendingWorkflows) {
|
|
124
|
-
secretsManager.storeSecret(config.secretName, content, wf);
|
|
125
|
-
paths[wf] = relPath;
|
|
126
|
-
}
|
|
127
|
-
console.log(` ✅ Auto-selected ${relPath} for ${config.secretName} (workflows: ${pendingWorkflows.join(", ")})`);
|
|
128
|
-
}
|
|
129
|
-
else if (candidates.length > 0) {
|
|
130
|
-
// One or more files found — prompt per pending group
|
|
131
|
-
const ENTER_PATH = "__ENTER_PATH__";
|
|
132
|
-
for (const group of pendingGroups) {
|
|
133
|
-
const fileChoices = candidates.map((p) => ({
|
|
134
|
-
title: relative(cwd, p),
|
|
135
|
-
value: p,
|
|
136
|
-
}));
|
|
137
|
-
fileChoices.push({ title: "Enter file path", value: ENTER_PATH });
|
|
138
|
-
fileChoices.push({ title: "Skip (add manually later)", value: null });
|
|
139
|
-
const { chosen } = await prompts({
|
|
140
|
-
type: "select",
|
|
141
|
-
name: "chosen",
|
|
142
|
-
message: `Select ${config.displayName} for ${group.label}:`,
|
|
143
|
-
choices: fileChoices,
|
|
144
|
-
});
|
|
145
|
-
if (chosen === ENTER_PATH) {
|
|
146
|
-
const { filePath } = await prompts({
|
|
147
|
-
type: "text",
|
|
148
|
-
name: "filePath",
|
|
149
|
-
message: `Enter path to ${config.displayName} file:`,
|
|
150
|
-
});
|
|
151
|
-
if (filePath?.trim()) {
|
|
152
|
-
const expandedPath = filePath.trim().replace(/^~/, process.env.HOME ?? "~");
|
|
153
|
-
try {
|
|
154
|
-
const content = readContent(expandedPath);
|
|
155
|
-
const targetPath = config.promptTargetPath
|
|
156
|
-
? await promptTargetPathInProject(config.displayName)
|
|
157
|
-
: undefined;
|
|
158
|
-
for (const wf of group.workflows) {
|
|
159
|
-
secretsManager.storeSecret(config.secretName, content, wf);
|
|
160
|
-
if (targetPath)
|
|
161
|
-
paths[wf] = targetPath;
|
|
162
|
-
}
|
|
163
|
-
console.log(` ✅ Stored ${config.secretName} for workflows: ${group.workflows.join(", ")}`);
|
|
164
|
-
}
|
|
165
|
-
catch {
|
|
166
|
-
console.log(` Could not read ${expandedPath} — check the path and try again.`);
|
|
167
|
-
console.log(` Add later: ci secrets add ${config.secretName} .ci/pipelines/cibuild.yml -w ${group.workflows[0]}`);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
console.log(` Add later: ci secrets add ${config.secretName} .ci/pipelines/cibuild.yml -w ${group.workflows[0]}`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
else if (chosen) {
|
|
175
|
-
const content = readContent(chosen);
|
|
176
|
-
const relPath = relative(cwd, chosen);
|
|
177
|
-
for (const wf of group.workflows) {
|
|
178
|
-
secretsManager.storeSecret(config.secretName, content, wf);
|
|
179
|
-
paths[wf] = relPath;
|
|
180
|
-
}
|
|
181
|
-
console.log(` ✅ Stored ${config.secretName} for workflows: ${group.workflows.join(", ")}`);
|
|
182
|
-
}
|
|
183
|
-
else if (chosen === null) {
|
|
184
|
-
console.log(` Add later: ci secrets add ${config.secretName} .ci/pipelines/cibuild.yml -w ${group.workflows[0]}`);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
else if (nonInteractive) {
|
|
189
|
-
// Non-interactive: no files found — skip with hint
|
|
190
|
-
console.log(` ⚠ No ${config.displayName} files found — add later: ci secrets add ${config.secretName}`);
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
// Nothing found on disk — prompt per pending group
|
|
194
|
-
for (const group of pendingGroups) {
|
|
195
|
-
const label = pendingGroups.length > 1
|
|
196
|
-
? `Enter ${config.displayName} content for ${group.label} (or type .done immediately to add later):`
|
|
197
|
-
: `Enter ${config.displayName} content (or type .done immediately to add later):`;
|
|
198
|
-
const value = await readMultilineContent(label);
|
|
199
|
-
if (value) {
|
|
200
|
-
const targetPath = config.promptTargetPath
|
|
201
|
-
? await promptTargetPathInProject(config.displayName)
|
|
202
|
-
: undefined;
|
|
203
|
-
for (const wf of group.workflows) {
|
|
204
|
-
secretsManager.storeSecret(config.secretName, value, wf);
|
|
205
|
-
if (targetPath)
|
|
206
|
-
paths[wf] = targetPath;
|
|
207
|
-
}
|
|
208
|
-
console.log(` ✅ ${config.secretName} stored (workflows: ${group.workflows.join(", ")})`);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
console.log(` Add later: ci secrets add ${config.secretName} .ci/pipelines/cibuild.yml -w ${group.workflows[0]}`);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
return paths;
|
|
216
|
-
}
|
|
217
|
-
//# sourceMappingURL=file-secret-collector.js.map
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Product flavors a convention plugin creates are still the project's flavors.
|
|
3
|
-
*
|
|
4
|
-
* `detectBuildVariants` looked for a literal `productFlavors { … }` block in a
|
|
5
|
-
* Gradle file. Modern Android does not write one: the flavors are an enum in a
|
|
6
|
-
* convention plugin's Kotlin source and are created programmatically —
|
|
7
|
-
* `AppFlavor.values().forEach { create(flavor.name) }` — so the block the
|
|
8
|
-
* scan looks for does not exist anywhere in the repository.
|
|
9
|
-
*
|
|
10
|
-
* `android-variant-resolution.test.ts` already records the *runtime* half of
|
|
11
|
-
* this: nowinandroid declares its flavors the same way, Gradle refused
|
|
12
|
-
* `:app:lintDebug` as ambiguous, and the step now reads the candidates out of
|
|
13
|
-
* Gradle's own error. That recovers a task name during a build. It cannot
|
|
14
|
-
* recover anything decided *before* the build:
|
|
15
|
-
*
|
|
16
|
-
* - `googleServicesTargets` writes every workflow's `google-services.json`
|
|
17
|
-
* to the module root instead of its flavor's source set, which is the
|
|
18
|
-
* silent wrong-file failure `bld_8e60d90ab4e55f85d2f72459` spent 1292
|
|
19
|
-
* Gradle tasks discovering;
|
|
20
|
-
* - `variantFlavors` reports no flavor for any workflow, so `credentialSlots`
|
|
21
|
-
* sees no disagreement and declares one flat slot where the workflows need
|
|
22
|
-
* one value each;
|
|
23
|
-
* - the variant prompt offers `debug, release` and nothing else.
|
|
24
|
-
*
|
|
25
|
-
* Gradle is not available to the scan — it is a static read, and running a
|
|
26
|
-
* configuration phase to list flavors would cost minutes. The evidence that
|
|
27
|
-
* *is* on disk is the one AGP itself relies on: a flavor has a source set.
|
|
28
|
-
* `app/src/ciDynamic/`, `app/src/prod/` — the same directories
|
|
29
|
-
* `findGoogleServices` in `invarn setup` has always read the flavor from,
|
|
30
|
-
* which is why setup resolves this repository correctly while the generator
|
|
31
|
-
* does not.
|
|
32
|
-
*
|
|
33
|
-
* It is a **fallback**, not a merge: a project whose Gradle files declare
|
|
34
|
-
* flavors literally is decided by those files exactly as before, so this can
|
|
35
|
-
* only change the answer for a project that currently detects none.
|
|
36
|
-
*/
|
|
37
|
-
export {};
|
|
38
|
-
//# sourceMappingURL=flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flavors-a-convention-plugin-creates-are-still-found.test.d.ts","sourceRoot":"","sources":["../../../src/commands/flavors-a-convention-plugin-creates-are-still-found.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG"}
|