Skip to content

Commit 1ae7c85

Browse files
authored
Merge pull request #2138 from NativeScript/pete/plugin-check-deps-v8
Check if plugin consumes v8 symbols
2 parents 8b1ea1f + c00dd98 commit 1ae7c85

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

lib/definitions/project.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +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>;
89+
beforePrepareAllPlugins(dependencies?: IDictionary<IDependencyData>): IFuture<void>;
9090
getAppResourcesDestinationDirectoryPath(): IFuture<string>;
9191
deploy(deviceIdentifier: string): IFuture<void>;
9292
processConfigurationFilesFromAppResources(): IFuture<void>;

lib/services/android-project-service.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,18 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
393393
return Future.fromResult();
394394
}
395395

396-
public beforePrepareAllPlugins(): IFuture<void> {
396+
public beforePrepareAllPlugins(dependencies?: IDictionary<IDependencyData>): IFuture<void> {
397397
if (!this.$config.debugLivesync) {
398+
if (dependencies) {
399+
let platformDir = path.join(this.$projectData.platformsDir, "android");
400+
let buildDir = path.join(platformDir, "build-tools");
401+
let checkV8dependants = path.join(buildDir, "check-v8-dependants.js");
402+
if (this.$fs.exists(checkV8dependants).wait()) {
403+
let stringifiedDependencies = JSON.stringify(dependencies);
404+
this.spawn('node', [checkV8dependants, stringifiedDependencies, this.$projectData.platformsDir], { stdio: "inherit" }).wait();
405+
}
406+
}
407+
398408
let buildOptions = this.getBuildOptions();
399409

400410
buildOptions.unshift("clean");

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,8 @@ export class NpmPluginPrepare {
142142
return;
143143
}
144144

145-
this.$platformsData.getPlatformData(platform).platformProjectService.beforePrepareAllPlugins().wait();
145+
this.$platformsData.getPlatformData(platform).platformProjectService.beforePrepareAllPlugins(dependencies).wait();
146+
146147
_.each(dependencies, dependency => {
147148
let isPlugin = !!dependency.nativescript;
148149
if (isPlugin) {

0 commit comments

Comments
 (0)