X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.build%2Fsrc%2Forg%2Fargeo%2Fslc%2Fbuild%2FA2Factory.java;h=dcf706299eeb842ca31727547cd0975e86248ca0;hb=2aed4ec1227628a9630471bddc0d903e7cb48eaa;hp=8c7b11e2bc25052bd703d1b2b1afc02e50ed4754;hpb=d0192f02ee79558bd66a42504510829656066087;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.build/src/org/argeo/slc/build/A2Factory.java b/org.argeo.slc.build/src/org/argeo/slc/build/A2Factory.java index 8c7b11e2b..dcf706299 100644 --- a/org.argeo.slc.build/src/org/argeo/slc/build/A2Factory.java +++ b/org.argeo.slc.build/src/org/argeo/slc/build/A2Factory.java @@ -4,6 +4,7 @@ import static java.lang.System.Logger.Level.DEBUG; import static org.argeo.slc.ManifestConstants.BUNDLE_LICENSE; import static org.argeo.slc.ManifestConstants.BUNDLE_SYMBOLICNAME; import static org.argeo.slc.ManifestConstants.BUNDLE_VERSION; +import static org.argeo.slc.ManifestConstants.EXPORT_PACKAGE; import static org.argeo.slc.ManifestConstants.SLC_ORIGIN_M2; import java.io.FileNotFoundException; @@ -226,9 +227,10 @@ public class A2Factory { } } -// if (!fileProps.contains(EXPORT_PACKAGE.toString())) { -// fileProps.put(EXPORT_PACKAGE.toString(), "*"); -// } + if (!fileProps.containsKey(EXPORT_PACKAGE.toString())) { + fileProps.put(EXPORT_PACKAGE.toString(), + "*;version=\"" + fileProps.getProperty(BUNDLE_VERSION.toString()) + "\""); + } // if (!fileProps.contains(IMPORT_PACKAGE.toString())) { // fileProps.put(IMPORT_PACKAGE.toString(), "*"); // } @@ -248,11 +250,23 @@ public class A2Factory { case "Created-By": continue keys; } + if("Require-Capability".equals(key.toString()) && value.toString().equals("osgi.ee;filter:=\"(&(osgi.ee=JavaSE)(version=1.1))\"")) + continue keys;// hack for very old classes additionalEntries.put(key.toString(), value.toString()); - // logger.log(DEBUG, () -> key + "=" + value); + logger.log(DEBUG, () -> key + "=" + value); } } + +// try (Builder bndBuilder = new Builder()) { +// Jar jar = new Jar(downloaded.toFile()); +// bndBuilder.addClasspath(jar); +// Path targetBundleDir = targetCategoryBase.resolve(artifact.getName() + "." + artifact.getBranch()); +// +// Jar target = new Jar(targetBundleDir.toFile()); +// bndBuilder.setJar(target); +// return targetBundleDir; +// } } Path targetBundleDir = processBundleJar(downloaded, targetCategoryBase, additionalEntries); logger.log(Level.DEBUG, () -> "Processed " + downloaded); @@ -416,7 +430,7 @@ public class A2Factory { // copy MANIFEST Path manifestPath = targetBundleDir.resolve("META-INF/MANIFEST.MF"); Files.createDirectories(manifestPath.getParent()); - for (String key : entries.keySet()) { + for (String key : entries.keySet()) { String value = entries.get(key); Object previousValue = manifest.getMainAttributes().putValue(key, value); if (previousValue != null && !previousValue.equals(value)) { @@ -600,6 +614,10 @@ public class A2Factory { Path descriptorsBase = Paths.get("../tp").toAbsolutePath().normalize(); +// factory.processSingleM2ArtifactDistributionUnit(descriptorsBase.resolve("org.argeo.tp.apache").resolve("org.apache.xml.resolver.bnd")); +// factory.processM2BasedDistributionUnit(descriptorsBase.resolve("org.argeo.tp/slf4j")); +// System.exit(0); + // Eclipse factory.processEclipseArchive( descriptorsBase.resolve("org.argeo.tp.eclipse.equinox").resolve("eclipse-equinox")); @@ -607,11 +625,10 @@ public class A2Factory { factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rcp").resolve("eclipse-rcp")); // Maven - factory.processCategory(descriptorsBase.resolve("org.argeo.tp.javax")); + factory.processCategory(descriptorsBase.resolve("org.argeo.tp.sdk")); factory.processCategory(descriptorsBase.resolve("org.argeo.tp")); factory.processCategory(descriptorsBase.resolve("org.argeo.tp.apache")); factory.processCategory(descriptorsBase.resolve("org.argeo.tp.jetty")); - factory.processCategory(descriptorsBase.resolve("org.argeo.tp.sdk")); factory.processCategory(descriptorsBase.resolve("org.argeo.tp.jcr")); } }