[onos-6359] Phase-1 - Added changes to onos.jar to support embedded dependencies

[onos-6359] Uploaded patchset 2 addressing review comments

Change-Id: I9fb3ab6c144c0e1240a44a0542e79a4641a34e54
This commit is contained in:
Viswanath KSP 2017-05-11 13:52:25 +05:30 committed by Thomas Vachuska
parent 042c3a5baf
commit 3568df76f9
3 changed files with 21 additions and 3 deletions

View File

@ -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);
}

View File

@ -248,7 +248,7 @@ public class OnosJarDescription implements Description<OnosJarDescription.Arg>,
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<OnosJarDescription.Arg>,
public Optional<String> exportPackages;
public Optional<ImmutableSortedMap<String, SourcePath>> includeResources;
public Optional<String> dynamicimportPackages;
public Optional<String> embeddedDependencies;
}
}

View File

@ -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<String> exportPackages,
Optional<String> includeResources,
Optional<String> dynamicimportPackages,
Optional<String> privatePackages) {
Optional<String> privatePackages,
Optional<String> 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<String> 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
);