Skip to content

Commit 26cb929

Browse files
authored
Merge pull request #1861 from NativeScript/plamen5kov/pass_cli_parameters
refactored code and passed buildOptions to prepare command
2 parents 087a37e + f22f176 commit 26cb929

File tree

1 file changed

+34
-26
lines changed

1 file changed

+34
-26
lines changed

lib/services/android-project-service.ts

+34-26
Original file line numberDiff line numberDiff line change
@@ -275,30 +275,8 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
275275
});
276276
}
277277

278-
this.$androidToolsInfo.validateInfo({ showWarningsAsErrors: true, validateTargetSdk: true }).wait();
279-
let androidToolsInfo = this.$androidToolsInfo.getToolsInfo().wait();
280-
let compileSdk = androidToolsInfo.compileSdkVersion;
281-
let targetSdk = this.getTargetFromAndroidManifest().wait() || compileSdk;
282-
let buildToolsVersion = androidToolsInfo.buildToolsVersion;
283-
let appCompatVersion = androidToolsInfo.supportRepositoryVersion;
284-
let buildOptions = ["buildapk",
285-
`-PcompileSdk=android-${compileSdk}`,
286-
`-PtargetSdk=${targetSdk}`,
287-
`-PbuildToolsVersion=${buildToolsVersion}`,
288-
`-PsupportVersion=${appCompatVersion}`,
289-
];
290-
291-
if (this.$options.release) {
292-
buildOptions.push("-Prelease");
293-
buildOptions.push(`-PksPath=${path.resolve(this.$options.keyStorePath)}`);
294-
buildOptions.push(`-Palias=${this.$options.keyStoreAlias}`);
295-
buildOptions.push(`-Ppassword=${this.$options.keyStoreAliasPassword}`);
296-
buildOptions.push(`-PksPassword=${this.$options.keyStorePassword}`);
297-
}
298-
299-
if (!this.canUseStaticBindingGenerator()) {
300-
buildOptions.push("-PdontRunSbg");
301-
}
278+
let buildOptions = this.getBuildOptions();
279+
buildOptions.unshift("buildapk");
302280

303281
let gradleBin = this.useGradleWrapper(projectRoot) ? path.join(projectRoot, "gradlew") : "gradle";
304282
if (this.$hostInfo.isWindows) {
@@ -312,6 +290,35 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
312290
}).future<void>()();
313291
}
314292

293+
public getBuildOptions(): Array<string> {
294+
this.$androidToolsInfo.validateInfo({ showWarningsAsErrors: true, validateTargetSdk: true }).wait();
295+
let androidToolsInfo = this.$androidToolsInfo.getToolsInfo().wait();
296+
let compileSdk = androidToolsInfo.compileSdkVersion;
297+
let targetSdk = this.getTargetFromAndroidManifest().wait() || compileSdk;
298+
let buildToolsVersion = androidToolsInfo.buildToolsVersion;
299+
let appCompatVersion = androidToolsInfo.supportRepositoryVersion;
300+
let buildOptions = [
301+
`-PcompileSdk=android-${compileSdk}`,
302+
`-PtargetSdk=${targetSdk}`,
303+
`-PbuildToolsVersion=${buildToolsVersion}`,
304+
`-PsupportVersion=${appCompatVersion}`,
305+
];
306+
307+
if (this.$options.release) {
308+
buildOptions.push("-Prelease");
309+
buildOptions.push(`-PksPath=${path.resolve(this.$options.keyStorePath)}`);
310+
buildOptions.push(`-Palias=${this.$options.keyStoreAlias}`);
311+
buildOptions.push(`-Ppassword=${this.$options.keyStoreAliasPassword}`);
312+
buildOptions.push(`-PksPassword=${this.$options.keyStorePassword}`);
313+
}
314+
315+
if (!this.canUseStaticBindingGenerator()) {
316+
buildOptions.push("-PdontRunSbg");
317+
}
318+
319+
return buildOptions;
320+
}
321+
315322
public buildForDeploy(projectRoot: string, buildConfig?: IBuildConfig): IFuture<void> {
316323
return this.buildProject(projectRoot, buildConfig);
317324
}
@@ -423,14 +430,15 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
423430
}
424431

425432
public afterPrepareAllPlugins(): IFuture<void> {
433+
let buildOptions = this.getBuildOptions();
434+
buildOptions.unshift("clean");
426435

427436
let projectRoot = this.platformData.projectRoot;
428-
429437
let gradleBin = this.useGradleWrapper(projectRoot) ? path.join(projectRoot, "gradlew") : "gradle";
430438
if (this.$hostInfo.isWindows) {
431439
gradleBin += ".bat";
432440
}
433-
this.spawn(gradleBin, ["clean"], { stdio: "inherit", cwd: this.platformData.projectRoot }).wait();
441+
this.spawn(gradleBin, buildOptions, { stdio: "inherit", cwd: this.platformData.projectRoot }).wait();
434442

435443
return Future.fromResult();
436444
}

0 commit comments

Comments
 (0)