]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.build/src/org/argeo/slc/build/A2Factory.java
Finalise TP distribution.
[gpl/argeo-slc.git] / org.argeo.slc.build / src / org / argeo / slc / build / A2Factory.java
index 8c7b11e2bc25052bd703d1b2b1afc02e50ed4754..dcf706299eeb842ca31727547cd0975e86248ca0 100644 (file)
@@ -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"));
        }
 }