Windows builds and moved credentials: play build runs gradlew.bat through cmd /c and takes C:/ keystore paths as absolute (pitfall 98); check names credential paths missing on this machine and a keystore the stored password / alias do not open (keytool) (pitfall 99); play / apple build write <out>/latest.json for CI; CI install from a git clone documented
This commit is contained in:
parent
4fcee60ba6
commit
73d308164d
9 changed files with 95 additions and 9 deletions
|
|
@ -1189,3 +1189,23 @@ that fails without the fix (see CONTRIBUTING.md).
|
|||
googleapis androidpublisher client, `api.appstoreconnect.apple.com`, `altool` / `iTMSTransporter` in CI files and
|
||||
scripts (not storebound's own checkout, never node_modules); `scan` rule `direct-store-api`, `check` and
|
||||
`release status` warnings with file:line and the storebound command (`tests/fastlane-traces.test.ts`).
|
||||
|
||||
## 98. `play build` on Windows: "Executable not found in $PATH: gradlew.bat"; "C:/..." keystore "does not exist"
|
||||
- **Symptom:** `storebound play build` stopped before Gradle on Windows although `android/gradlew.bat` exists; with
|
||||
`ANDROID_KEYSTORE` set to an absolute `C:/...` path it said the keystore file does not exist.
|
||||
- **Cause:** a bare `gradlew.bat` is searched on PATH only, never in the working folder; absolute paths were recognised
|
||||
only when they started with `/`, so `C:/...` was joined onto the project folder.
|
||||
- **Do:** update storebound. Until then run Gradle by hand and use a project-relative keystore path.
|
||||
- **Guard:** `gradleArgs` in `cli/lib/gradle.ts` runs `cmd /c gradlew.bat` on Windows; `androidSigning` uses
|
||||
`isAbsolute` (`tests/build-sign.test.ts`).
|
||||
|
||||
## 99. Credentials still pointed at the old computer, and the keystore password did not open the keystore
|
||||
- **Symptom:** after a machine move `ANDROID_KEYSTORE`, `PLAY_SERVICE_ACCOUNT` and `ASC_P8` held the old machine's
|
||||
absolute paths, and `ANDROID_KEYSTORE_PASSWORD` / `ANDROID_KEY_ALIAS` did not open the upload keystore (keytool exit 1);
|
||||
`check` passed and the build failed late.
|
||||
- **Do:** point each path at the file on this machine; take the password and alias that open the keystore (an
|
||||
`android/keystore.properties` often holds them). Verify with `keytool -list -keystore <file> -alias <alias>`.
|
||||
- **Guard:** `credentialFileIssues` in `cli/lib/credentials.ts`: `check` names every credential path that does not
|
||||
exist and runs `keytool -list` with the stored password and alias (when keytool is on PATH or in JAVA_HOME), naming
|
||||
the bad field (`tests/build-sign.test.ts`). `play build` / `apple build` also write `<out>/latest.json` so CI
|
||||
needs no glob for the AAB / IPA.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue