Skip to content

Commit 2e240ab

Browse files
authored
Merge pull request #1889 from NativeScript/plamen5kov/fix_clean_command
added beforePrepareAllPlugins
2 parents 4cd7599 + 7b39078 commit 2e240ab

File tree

8 files changed

+26
-0
lines changed

8 files changed

+26
-0
lines changed

lib/definitions/plugins.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ interface IPluginsService {
66
getAllInstalledPlugins(): IFuture<IPluginData[]>;
77
ensureAllDependenciesAreInstalled(): IFuture<void>;
88
afterPrepareAllPlugins(): IFuture<void>;
9+
beforePrepareAllPlugins(): IFuture<void>;
910
getDependenciesFromPackageJson(): IFuture<IPackageJsonDepedenciesResult>
1011
}
1112

lib/definitions/project.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ interface IPlatformProjectService {
8686
preparePluginNativeCode(pluginData: IPluginData, options?: any): IFuture<void>;
8787
removePluginNativeCode(pluginData: IPluginData): IFuture<void>;
8888
afterPrepareAllPlugins(): IFuture<void>;
89+
beforePrepareAllPlugins(): IFuture<void>;
8990
getAppResourcesDestinationDirectoryPath(): IFuture<string>;
9091
deploy(deviceIdentifier: string): IFuture<void>;
9192
processConfigurationFilesFromAppResources(): IFuture<void>;

lib/services/android-project-service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,10 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
401401
}
402402

403403
public afterPrepareAllPlugins(): IFuture<void> {
404+
return Future.fromResult();
405+
}
406+
407+
public beforePrepareAllPlugins(): IFuture<void> {
404408
let buildOptions = this.getBuildOptions();
405409
buildOptions.unshift("clean");
406410

lib/services/ios-project-service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,10 @@ We will now place an empty obsolete compatability white screen LauncScreen.xib f
774774
}).future<void>()();
775775
}
776776

777+
public beforePrepareAllPlugins(): IFuture<void> {
778+
return Future.fromResult();
779+
}
780+
777781
private getAllLibsForPluginWithFileExtension(pluginData: IPluginData, fileExtension: string): IFuture<string[]> {
778782
let filterCallback = (fileName: string, pluginPlatformsFolderPath: string) => path.extname(fileName) === fileExtension;
779783
return this.getAllNativeLibrariesForPlugin(pluginData, IOSProjectService.IOS_PLATFORM_NAME, filterCallback);

lib/services/plugins-service.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,14 @@ export class PluginsService implements IPluginsService {
164164
return this.executeForAllInstalledPlatforms(action);
165165
}
166166

167+
public beforePrepareAllPlugins(): IFuture<void> {
168+
let action = (pluginDestinationPath: string, platform: string, platformData: IPlatformData) => {
169+
return platformData.platformProjectService.beforePrepareAllPlugins();
170+
};
171+
172+
return this.executeForAllInstalledPlatforms(action);
173+
}
174+
167175
public getDependenciesFromPackageJson(): IFuture<IPackageJsonDepedenciesResult> {
168176
return (() => {
169177
let packageJson = this.$fs.readJson(this.getPackageJsonFilePath()).wait();

lib/tools/broccoli/node-modules-dest-copy.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export class DestCopy implements IBroccoliPlugin {
3131
}
3232

3333
public rebuildChangedDirectories(changedDirectories: string[], platform: string): void {
34+
3435
_.each(changedDirectories, changedDirectoryAbsolutePath => {
3536
if (!this.devDependencies[path.basename(changedDirectoryAbsolutePath)]) {
3637
let pathToPackageJson = path.join(changedDirectoryAbsolutePath, constants.PACKAGE_JSON_FILE_NAME);
@@ -68,6 +69,9 @@ export class DestCopy implements IBroccoliPlugin {
6869
});
6970
}
7071
});
72+
if (!_.isEmpty(this.dependencies)) {
73+
this.$pluginsService.beforePrepareAllPlugins().wait();
74+
}
7175

7276
_.each(this.dependencies, dependency => {
7377
this.copyDependencyDir(dependency);

test/npm-support.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ function setupProject(): IFuture<any> {
144144
prepareProject: () => Future.fromResult(),
145145
prepareAppResources: () => Future.fromResult(),
146146
afterPrepareAllPlugins: () => Future.fromResult(),
147+
beforePrepareAllPlugins: () => Future.fromResult(),
147148
getAppResourcesDestinationDirectoryPath: () => Future.fromResult(""),
148149
processConfigurationFilesFromAppResources: () => Future.fromResult(),
149150
ensureConfigurationFileInAppResources: () => Future.fromResult(),

test/stubs.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,9 @@ export class PlatformProjectServiceStub implements IPlatformProjectService {
342342
afterPrepareAllPlugins(): IFuture<void> {
343343
return Future.fromResult();
344344
}
345+
beforePrepareAllPlugins(): IFuture<void> {
346+
return Future.fromResult();
347+
}
345348
deploy(deviceIdentifier: string): IFuture<void> {
346349
return Future.fromResult();
347350
}

0 commit comments

Comments
 (0)