Open
Description
After updating @nativescript/nx from version 18 to version 20, I noticed that the executor interface has changed, and some command-line flags are no longer recognized as before. Specifically, options like --aab, --key-store-path, and --provision are now nested under platform-specific objects (android, ios, etc.) and require a different syntax when used in build commands.
However, the current documentation still reflects the old interface, which can lead to confusion and build failures for developers upgrading to version 20.
Current Documentation Examples (Outdated):
For Android:
npx nx build <app-name> android --c=prod \
--aab \
--key-store-path=<path-to-your-keystore> \
--key-store-password=<your-key-store-password> \
--key-store-alias=<your-alias-name> \
--key-store-alias-password=<your-alias-password> \
--copyTo=./dist/build.aab
For IOS:
npx nx build <app-name> ios --c=prod \
--provision <provisioning-profile-name> \
--copy-to ./dist/build.ipa
Issue:
With the updated executor schema in version 20, these flags are nested inside of android and IOS object:
export interface ExecutorSchema extends BaseSchema, BuildSchema, DebugSchema, PrepareSchema, RunSchema, TestSchema {
android: AndroidSchema;
ios: IosSchema;
visionos: visionOSSchema;
}
export interface AndroidSchema {
aab: boolean;
keyStoreAlias: string;
keyStoreAliasPassword: string;
keyStorePassword: string;
keyStorePath: string;
xmlUpdates: Record<string, any>;
}
export interface IosSchema {
plistUpdates: Record<string, any>;
provision: string;
}
Proposed Documentation Update:
For Android:
npx nx build <app-name> android --c=prod \
--android.aab=true \
--android.keyStorePath=<path-to-your-keystore> \
--android.keyStorePassword=<your-key-store-password> \
--android.keyStoreAlias=<your-alias-name> \
--android.keyStoreAliasPassword=<your-alias-password> \
--copyTo=./dist/build.aab
For iOS:
npx nx build <app-name> ios --c=prod \
--ios.provision=<provisioning-profile-name> \
--copyTo=./dist/build.ipa
Metadata
Metadata
Assignees
Labels
No labels