From 3568df76f9ffe4f84841c20eb5865b8c2577f8d2 Mon Sep 17 00:00:00 2001 From: Viswanath KSP Date: Thu, 11 May 2017 13:52:25 +0530 Subject: [PATCH] [onos-6359] Phase-1 - Added changes to onos.jar to support embedded dependencies [onos-6359] Uploaded patchset 2 addressing review comments Change-Id: I9fb3ab6c144c0e1240a44a0542e79a4641a34e54 --- .../java/org/onosproject/onosjar/OSGiWrapper.java | 15 ++++++++++++++- .../onosproject/onosjar/OnosJarDescription.java | 3 ++- .../onosproject/onosjar/OnosJarStepFactory.java | 6 +++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OSGiWrapper.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OSGiWrapper.java index a1f3a5f430..6127acd845 100644 --- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OSGiWrapper.java +++ b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OSGiWrapper.java @@ -31,6 +31,7 @@ import com.facebook.buck.step.ExecutionContext; import com.facebook.buck.step.Step; import com.facebook.buck.step.StepExecutionResult; import com.google.common.base.MoreObjects; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableSortedSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -76,6 +77,7 @@ public class OSGiWrapper implements Step { private String importPackages; private String privatePackages; private String dynamicimportPackages; + private String embeddedDependencies; private String exportPackages; private String includeResources; @@ -102,6 +104,7 @@ public class OSGiWrapper implements Step { String includeResources, String webContext, String dynamicimportPackages, + String embeddedDependencies, String bundleDescription, String privatePackages) { this.inputJar = inputJar; @@ -125,6 +128,7 @@ public class OSGiWrapper implements Step { this.importPackages = importPackages; this.privatePackages = privatePackages; this.dynamicimportPackages = dynamicimportPackages; + this.embeddedDependencies = embeddedDependencies; this.exportPackages = exportPackages; this.includeResources = includeResources; @@ -166,6 +170,15 @@ public class OSGiWrapper implements Step { analyzer.setProperty(Analyzer.INCLUDE_RESOURCE, includeResources); } + if(embeddedDependencies != null) { + analyzer.setProperty(Analyzer.BUNDLE_CLASSPATH, + embeddedDependencies); + String finalIncludes = Strings.isNullOrEmpty(includeResources) ? + embeddedDependencies : (includeResources+","+embeddedDependencies); + analyzer.setProperty(Analyzer.INCLUDE_RESOURCE, + finalIncludes); + } + if (isWab()) { analyzer.setProperty(Analyzer.WAB, "src/main/webapp/"); analyzer.setProperty("Web-ContextPath", webContext); @@ -203,7 +216,7 @@ public class OSGiWrapper implements Step { //addLocalPackages(new File(classesDir.toString()), analyzer); //add resources. - if (includeResources != null) { + if (includeResources != null || embeddedDependencies != null) { doIncludeResources(analyzer); } diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java index 620182b9c9..f69539bd03 100644 --- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java +++ b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java @@ -248,7 +248,7 @@ public class OnosJarDescription implements Description, args.groupId, args.bundleName, args.bundleVersion, args.bundleLicense, args.bundleDescription, args.importPackages, args.exportPackages, includedResourcesString, - args.dynamicimportPackages, args.privatePackages), + args.dynamicimportPackages, args.privatePackages, args.embeddedDependencies), args.resourcesRoot, args.manifestFile, args.mavenCoords, @@ -329,5 +329,6 @@ public class OnosJarDescription implements Description, public Optional exportPackages; public Optional> includeResources; public Optional dynamicimportPackages; + public Optional embeddedDependencies; } } \ No newline at end of file diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarStepFactory.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarStepFactory.java index fff225e3e6..b8daa45ab2 100644 --- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarStepFactory.java +++ b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarStepFactory.java @@ -61,6 +61,7 @@ public class OnosJarStepFactory extends JavacToJarStepFactory { private final String exportPackages; private final String includeResources; private final String dynamicimportPackages; + private final String embeddedDependencies; public OnosJarStepFactory(JavacOptions javacOptions, JavacOptionsAmender amender, @@ -79,7 +80,8 @@ public class OnosJarStepFactory extends JavacToJarStepFactory { Optional exportPackages, Optional includeResources, Optional dynamicimportPackages, - Optional privatePackages) { + Optional privatePackages, + Optional embeddedDependencies) { super(javacOptions, amender); this.bundleDescription = processParameter(bundleDescription); this.importPackages = processParameter(importPackages); @@ -97,6 +99,7 @@ public class OnosJarStepFactory extends JavacToJarStepFactory { this.apiPackage = processParameter(apiPackage); this.apiDescription = processParameter(apiDescription); this.resources = resources; + this.embeddedDependencies = processParameter(embeddedDependencies); } private String processParameter(Optional p) { @@ -197,6 +200,7 @@ public class OnosJarStepFactory extends JavacToJarStepFactory { includeResources, // include resources webContext, // web context dynamicimportPackages, // dynamic import packages + embeddedDependencies, // embedded dependencies bundleDescription, // bundle description privatePackages // private packages );