play build: signing passwords only through the child environment, never argv

This commit is contained in:
CRTkafa 2026-10-23 08:51:07 +08:00
parent 7960063e0e
commit e4ebbb825d
5 changed files with 13 additions and 12 deletions

View file

@ -70,11 +70,10 @@ export function gradleArgs(t: GradleTarget, o: { versionCode?: number; versionNa
/** The upload key as Gradle project properties (-Pandroid.injected.signing.*). A project whose build file signs only
* from a local keystore.properties (absent in CI) gives an unsigned AAB otherwise (Play: 403 "All uploaded bundles
* must be signed"). The passwords are on this argv: print it only through maskArgs. */
* must be signed"). Only the file and alias go on argv; the passwords travel through signingEnv (ORG_GRADLE_PROJECT_*), never argv. */
export function signingArgs(s: AndroidSigning | null): string[] {
if (!s) return [];
return [`-Pandroid.injected.signing.store.file=${s.storeFile}`, `-Pandroid.injected.signing.store.password=${s.storePassword}`,
`-Pandroid.injected.signing.key.alias=${s.keyAlias}`, `-Pandroid.injected.signing.key.password=${s.keyPassword}`];
return [`-Pandroid.injected.signing.store.file=${s.storeFile}`, `-Pandroid.injected.signing.key.alias=${s.keyAlias}`];
}
/** An argv for logs and plans: the signing passwords are replaced by ***. Pure. */