From: Mathieu Baudier Date: Sat, 5 Feb 2022 08:15:36 +0000 (+0100) Subject: A2 factory with OSGi metadata generation. X-Git-Tag: argeo-slc-2.3.1~22 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=971f6f46830c4427d799cfc17592c380cf4df403;p=gpl%2Fargeo-slc.git A2 factory with OSGi metadata generation. --- diff --git a/org.argeo.slc.build/build.properties b/org.argeo.slc.build/build.properties index 5d082eaf6..f7efa14e3 100644 --- a/org.argeo.slc.build/build.properties +++ b/org.argeo.slc.build/build.properties @@ -2,4 +2,6 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ . -additional.bundles = org.argeo.init +additional.bundles = org.argeo.init,\ + org.slf4j.api,\ + org.argeo.cms.tp 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 7af1d1c83..84ce87862 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 @@ -1,6 +1,9 @@ package org.argeo.slc.build; +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.SLC_ORIGIN_M2; import java.io.FileNotFoundException; @@ -26,6 +29,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.TreeMap; import java.util.jar.Attributes; import java.util.jar.JarEntry; import java.util.jar.JarInputStream; @@ -37,6 +41,9 @@ import org.argeo.slc.NameVersion; import org.argeo.slc.build.m2.DefaultArtifact; import org.argeo.slc.build.m2.MavenConventionsUtils; +import aQute.bnd.osgi.Analyzer; +import aQute.bnd.osgi.Jar; + public class A2Factory { private final static Logger logger = System.getLogger(A2Factory.class.getName()); @@ -60,6 +67,48 @@ public class A2Factory { mirrors.put("http://www.eclipse.org/downloads", eclipseMirrors); } + public void processCategory(Path targetCategoryBase) { + try { + DirectoryStream bnds = Files.newDirectoryStream(targetCategoryBase, + (p) -> p.getFileName().toString().endsWith(".bnd") + && !p.getFileName().toString().equals(COMMON_BND)); + for (Path p : bnds) { + processSingleM2ArtifactDistributionUnit(p); + } + + DirectoryStream dus = Files.newDirectoryStream(targetCategoryBase, (p) -> Files.isDirectory(p)); + for (Path duDir : dus) { + processM2BasedDistributionUnit(duDir); + } + } catch (IOException e) { + throw new RuntimeException("Cannot process category " + targetCategoryBase, e); + } + } + + public void processSingleM2ArtifactDistributionUnit(Path bndFile) { + try { + String category = bndFile.getParent().getFileName().toString(); + Path targetCategoryBase = factoryBase.resolve(category); + Properties fileProps = new Properties(); + try (InputStream in = Files.newInputStream(bndFile)) { + fileProps.load(in); + } + + String m2Coordinates = fileProps.getProperty(SLC_ORIGIN_M2.toString()); + if (m2Coordinates == null) + throw new IllegalArgumentException("No M2 coordinates available for " + bndFile); + DefaultArtifact artifact = new DefaultArtifact(m2Coordinates); + URL url = MavenConventionsUtils.mavenCentralUrl(artifact); + Path downloaded = download(url, originBase, artifact.toM2Coordinates() + ".jar"); + + Path targetBundleDir = processBndJar(downloaded, targetCategoryBase, fileProps); + + downloadAndProcessM2Sources(artifact, targetBundleDir); + } catch (Exception e) { + throw new RuntimeException("Cannot process " + bndFile, e); + } + } + public void processM2BasedDistributionUnit(Path duDir) { try { String category = duDir.getParent().getFileName().toString(); @@ -99,7 +148,7 @@ public class A2Factory { String value = fileProps.getProperty(key.toString()); writer.write(key + ": " + value + '\n'); } - logger.log(Level.DEBUG, () -> "Migrated " + p); + logger.log(DEBUG, () -> "Migrated " + p); } } @@ -108,30 +157,29 @@ public class A2Factory { Path downloaded = download(url, originBase, artifact.toM2Coordinates() + ".jar"); // prepare manifest entries - Map entries = new HashMap<>(); - for (Object key : commonProps.keySet()) { - entries.put(key.toString(), commonProps.getProperty(key.toString())); - } + Properties mergeProps = new Properties(); + mergeProps.putAll(commonProps); + + // Map entries = new HashMap<>(); +// for (Object key : commonProps.keySet()) { +// entries.put(key.toString(), commonProps.getProperty(key.toString())); +// } fileEntries: for (Object key : fileProps.keySet()) { if (ManifestConstants.SLC_ORIGIN_M2.toString().equals(key)) continue fileEntries; String value = fileProps.getProperty(key.toString()); - String previousValue = entries.put(key.toString(), value); + Object previousValue = mergeProps.put(key.toString(), value); if (previousValue != null) { logger.log(Level.WARNING, downloaded + ": " + key + " was " + previousValue + ", overridden with " + value); } } - entries.put(ManifestConstants.SLC_ORIGIN_M2.toString(), artifact.toM2Coordinates()); - Path targetBundleDir = processBundleJar(downloaded, targetCategoryBase, entries); - logger.log(Level.DEBUG, () -> "Processed " + downloaded); + mergeProps.put(ManifestConstants.SLC_ORIGIN_M2.toString(), artifact.toM2Coordinates()); + Path targetBundleDir = processBndJar(downloaded, targetCategoryBase, mergeProps); +// logger.log(Level.DEBUG, () -> "Processed " + downloaded); // sources - DefaultArtifact sourcesArtifact = new DefaultArtifact(artifact.toM2Coordinates(), "sources"); - URL sourcesUrl = MavenConventionsUtils.mavenCentralUrl(sourcesArtifact); - Path sourcesDownloaded = download(sourcesUrl, originBase, artifact.toM2Coordinates() + ".sources.jar"); - processM2SourceJar(sourcesDownloaded, targetBundleDir); - logger.log(Level.DEBUG, () -> "Processed " + sourcesDownloaded); + downloadAndProcessM2Sources(artifact, targetBundleDir); } } catch (IOException e) { throw new RuntimeException("Cannot process " + duDir, e); @@ -139,6 +187,61 @@ public class A2Factory { } + protected void downloadAndProcessM2Sources(DefaultArtifact artifact, Path targetBundleDir) throws IOException { + DefaultArtifact sourcesArtifact = new DefaultArtifact(artifact.toM2Coordinates(), "sources"); + URL sourcesUrl = MavenConventionsUtils.mavenCentralUrl(sourcesArtifact); + Path sourcesDownloaded = download(sourcesUrl, originBase, artifact.toM2Coordinates() + ".sources.jar"); + processM2SourceJar(sourcesDownloaded, targetBundleDir); + logger.log(Level.DEBUG, () -> "Processed " + sourcesDownloaded); + + } + + protected Path processBndJar(Path downloaded, Path targetCategoryBase, Properties fileProps) { + + try { + Map additionalEntries = new TreeMap<>(); + boolean doNotModify = Boolean.parseBoolean(fileProps + .getOrDefault(ManifestConstants.SLC_ORIGIN_MANIFEST_NOT_MODIFIED.toString(), "false").toString()); + + if (doNotModify) { + fileEntries: for (Object key : fileProps.keySet()) { + if (ManifestConstants.SLC_ORIGIN_M2.toString().equals(key)) + continue fileEntries; + String value = fileProps.getProperty(key.toString()); + additionalEntries.put(key.toString(), value); + } + } else { + + try (Analyzer bndAnalyzer = new Analyzer()) { + bndAnalyzer.setProperties(fileProps); + Jar jar = new Jar(downloaded.toFile()); + bndAnalyzer.setJar(jar); + Manifest manifest = bndAnalyzer.calcManifest(); + + keys: for (Object key : manifest.getMainAttributes().keySet()) { + Object value = manifest.getMainAttributes().get(key); + + switch (key.toString()) { + case "Tool": + case "Bnd-LastModified": + case "Created-By": + continue keys; + } + additionalEntries.put(key.toString(), value.toString()); + // logger.log(DEBUG, () -> key + "=" + value); + + } + } + } + Path targetBundleDir = processBundleJar(downloaded, targetCategoryBase, additionalEntries); + logger.log(Level.DEBUG, () -> "Processed " + downloaded); + return targetBundleDir; + } catch (Exception e) { + throw new RuntimeException("Cannot BND process " + downloaded, e); + } + + } + protected void processM2SourceJar(Path file, Path targetBundleDir) throws IOException { try (JarInputStream jarIn = new JarInputStream(Files.newInputStream(file), false)) { Path targetSourceDir = targetBundleDir.resolve("OSGI-OPT/src"); @@ -227,13 +330,24 @@ public class A2Factory { } - protected Path processBundleJar(Path file, Path targetBase, Map additionalManifestEntries) - throws IOException { + protected Path processBundleJar(Path file, Path targetBase, Map entries) throws IOException { NameVersion nameVersion; Path targetBundleDir; try (JarInputStream jarIn = new JarInputStream(Files.newInputStream(file), false)) { Manifest manifest = jarIn.getManifest(); - nameVersion = nameVersionFromManifest(manifest); + + String symbolicNameFromEntries = entries.get(BUNDLE_SYMBOLICNAME.toString()); + String versionFromEntries = entries.get(BUNDLE_VERSION.toString()); + + if (symbolicNameFromEntries != null && versionFromEntries != null) { + nameVersion = new DefaultNameVersion(symbolicNameFromEntries, versionFromEntries); + } else { + nameVersion = nameVersionFromManifest(manifest); + if (versionFromEntries != null && !nameVersion.getVersion().equals(versionFromEntries)) { + logger.log(Level.WARNING, "Original version is " + nameVersion.getVersion() + + " while new version is " + versionFromEntries); + } + } targetBundleDir = targetBase.resolve(nameVersion.getName() + "." + nameVersion.getBranch()); // TODO make it less dangerous? @@ -255,8 +369,8 @@ public class A2Factory { // copy MANIFEST Path manifestPath = targetBundleDir.resolve("META-INF/MANIFEST.MF"); Files.createDirectories(manifestPath.getParent()); - for (String key : additionalManifestEntries.keySet()) { - String value = additionalManifestEntries.get(key); + for (String key : entries.keySet()) { + String value = entries.get(key); Object previousValue = manifest.getMainAttributes().putValue(key, value); if (previousValue != null && !previousValue.equals(value)) { logger.log(Level.WARNING, @@ -339,6 +453,8 @@ public class A2Factory { Attributes attrs = manifest.getMainAttributes(); // symbolic name String symbolicName = attrs.getValue(ManifestConstants.BUNDLE_SYMBOLICNAME.toString()); + if (symbolicName == null) + return null; // make sure there is no directive symbolicName = symbolicName.split(";")[0]; @@ -411,11 +527,14 @@ public class A2Factory { Path descriptorsBase = Paths.get("../tp").toAbsolutePath().normalize(); -// factory.processEclipseArchive( -// descriptorsBase.resolve("org.argeo.tp.eclipse.equinox").resolve("eclipse-equinox")); -// factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rap").resolve("eclipse-rap")); -// factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rcp").resolve("eclipse-rcp")); + factory.processEclipseArchive( + descriptorsBase.resolve("org.argeo.tp.eclipse.equinox").resolve("eclipse-equinox")); + factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rap").resolve("eclipse-rap")); + factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rcp").resolve("eclipse-rcp")); - factory.processM2BasedDistributionUnit(descriptorsBase.resolve("org.argeo.tp").resolve("jetty")); + 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")); } } diff --git a/sdk/tp-rap.target b/sdk/tp-rap.target new file mode 100644 index 000000000..3ae7887e4 --- /dev/null +++ b/sdk/tp-rap.target @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/tp/org.argeo.tp.apache/org.apache.commons.cli.bnd b/tp/org.argeo.tp.apache/org.apache.commons.cli.bnd new file mode 100644 index 000000000..736dbcd68 --- /dev/null +++ b/tp/org.argeo.tp.apache/org.apache.commons.cli.bnd @@ -0,0 +1,4 @@ +Bundle-License: Apache-2.0 +Bundle-SymbolicName: org.apache.commons.cli +Bundle-Version: 1.4.0 +SLC-Origin-M2: commons-cli:commons-cli:1.4 diff --git a/tp/org.argeo.tp.apache/org.apache.commons.codec.bnd b/tp/org.argeo.tp.apache/org.apache.commons.codec.bnd new file mode 100644 index 000000000..c664ee510 --- /dev/null +++ b/tp/org.argeo.tp.apache/org.apache.commons.codec.bnd @@ -0,0 +1,4 @@ +Bundle-License: Apache-2.0 +Bundle-SymbolicName: org.apache.commons.codec +Bundle-Version: 1.13.0 +SLC-Origin-M2: commons-codec:commons-codec:1.13 diff --git a/tp/org.argeo.tp.apache/org.apache.commons.fileupload.bnd b/tp/org.argeo.tp.apache/org.apache.commons.fileupload.bnd new file mode 100644 index 000000000..8dbc50996 --- /dev/null +++ b/tp/org.argeo.tp.apache/org.apache.commons.fileupload.bnd @@ -0,0 +1,6 @@ +Bundle-License: Apache-2.0 +Bundle-SymbolicName: org.apache.commons.fileupload +Bundle-Version: 1.4.0 +Import-Package: javax.portlet;resolution:=optional, + * +SLC-Origin-M2: commons-fileupload:commons-fileupload:1.4 diff --git a/tp/org.argeo.tp.apache/org.apache.commons.httpclient.bnd b/tp/org.argeo.tp.apache/org.apache.commons.httpclient.bnd new file mode 100644 index 000000000..5ad7749eb --- /dev/null +++ b/tp/org.argeo.tp.apache/org.apache.commons.httpclient.bnd @@ -0,0 +1,5 @@ +Bundle-License: Apache-2.0 +Bundle-SymbolicName: org.apache.commons.httpclient +Bundle-Version: 3.1.0 +SLC-Origin-M2: commons-httpclient:commons-httpclient:3.1 +Export-Package: * \ No newline at end of file diff --git a/tp/org.argeo.tp.apache/org.apache.commons.io.bnd b/tp/org.argeo.tp.apache/org.apache.commons.io.bnd new file mode 100644 index 000000000..93e6efa4c --- /dev/null +++ b/tp/org.argeo.tp.apache/org.apache.commons.io.bnd @@ -0,0 +1,5 @@ +Bundle-License: Apache-2.0 +Bundle-SymbolicName: org.apache.commons.io +Bundle-Version: 2.6.0 +Export-Package: org.apache.commons.io.*;version="2.6" +SLC-Origin-M2: commons-io:commons-io:2.6 diff --git a/tp/org.argeo.tp.jetty/jetty/common.bnd b/tp/org.argeo.tp.jetty/jetty/common.bnd new file mode 100644 index 000000000..14a0f68d0 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/common.bnd @@ -0,0 +1,2 @@ +Bundle-License: Apache-2.0 +SLC-Origin-M2: :9.4.24.v20191120 diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.client.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.client.bnd new file mode 100644 index 000000000..8bce1ab01 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.client.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-client +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.client diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.continuation.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.continuation.bnd new file mode 100644 index 000000000..5cf169dc6 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.continuation.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-continuation +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.continuation diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.http.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.http.bnd new file mode 100644 index 000000000..4a4e18c60 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.http.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-http +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.http diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.io.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.io.bnd new file mode 100644 index 000000000..4037c7000 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.io.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-io +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.io diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.jmx.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.jmx.bnd new file mode 100644 index 000000000..dbdf6e105 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.jmx.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-jmx +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.jmx diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.security.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.security.bnd new file mode 100644 index 000000000..f28b88615 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.security.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-security +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.security diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.server.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.server.bnd new file mode 100644 index 000000000..d66a70d58 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.server.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-server +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.server diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.servlet.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.servlet.bnd new file mode 100644 index 000000000..68469c1eb --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.servlet.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-servlet +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.servlet diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.servlets.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.servlets.bnd new file mode 100644 index 000000000..27a8f2ec7 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.servlets.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-servlets +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.servlets diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.util.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.util.bnd new file mode 100644 index 000000000..600cc7091 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.util.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-util +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.util diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.api.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.api.bnd new file mode 100644 index 000000000..3de1e465b --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.api.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-api +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.websocket.api diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.client.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.client.bnd new file mode 100644 index 000000000..674c77549 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.client.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-client +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.websocket.client diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.common.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.common.bnd new file mode 100644 index 000000000..7e7a113b0 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.common.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-common +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.websocket.common diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.javax.websocket.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.javax.websocket.bnd new file mode 100644 index 000000000..100778420 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.javax.websocket.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty.websocket:javax-websocket-client-impl +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.websocket.javax.websocket diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.javax.websocket.server.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.javax.websocket.server.bnd new file mode 100644 index 000000000..72860e330 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.javax.websocket.server.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty.websocket:javax-websocket-server-impl +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.websocket.javax.websocket.server diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.server.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.server.bnd new file mode 100644 index 000000000..b9cad3c9d --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.server.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-server +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.websocket.server diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.servlet.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.servlet.bnd new file mode 100644 index 000000000..3db77e27d --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.websocket.servlet.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-servlet +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.websocket.servlet diff --git a/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.xml.bnd b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.xml.bnd new file mode 100644 index 000000000..0ccef1af1 --- /dev/null +++ b/tp/org.argeo.tp.jetty/jetty/org.eclipse.jetty.xml.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.eclipse.jetty:jetty-xml +SLC-Origin-ManifestNotModified: true +Bundle-SymbolicName: org.eclipse.jetty.xml diff --git a/tp/org.argeo.tp.sdk/biz.aQute.bndlib.bnd b/tp/org.argeo.tp.sdk/biz.aQute.bndlib.bnd new file mode 100644 index 000000000..698dbf6ed --- /dev/null +++ b/tp/org.argeo.tp.sdk/biz.aQute.bndlib.bnd @@ -0,0 +1,3 @@ +Bundle-License: Apache-2.0 +SLC-Origin-M2: biz.aQute.bnd:biz.aQute.bndlib:4.2.0 +SLC-Origin-ManifestNotModified: true diff --git a/tp/org.argeo.tp.sdk/org.redline-rpm.bnd b/tp/org.argeo.tp.sdk/org.redline-rpm.bnd new file mode 100644 index 000000000..590d8779f --- /dev/null +++ b/tp/org.argeo.tp.sdk/org.redline-rpm.bnd @@ -0,0 +1,8 @@ +Bundle-License: MIT +Bundle-SymbolicName: org.redline-rpm +Bundle-Version: 1.2.8 +Import-Package: sun.security.*;resolution:=optional, + org.apache.tools.ant.*;resolution:=optional, + org.apache.tools.zip;resolution:=optional, + * +SLC-Origin-M2: org.redline-rpm:redline:1.2.8 diff --git a/tp/org.argeo.tp/bouncycastle/bcpg.bnd b/tp/org.argeo.tp/bouncycastle/bcpg.bnd new file mode 100644 index 000000000..545d83fa4 --- /dev/null +++ b/tp/org.argeo.tp/bouncycastle/bcpg.bnd @@ -0,0 +1,3 @@ +Bundle-SymbolicName: bcpg +SLC-Origin-ManifestNotModified: true +SLC-Origin-M2: org.bouncycastle:bcpg-jdk15on diff --git a/tp/org.argeo.tp/bouncycastle/bcpkix.bnd b/tp/org.argeo.tp/bouncycastle/bcpkix.bnd new file mode 100644 index 000000000..0e922b0eb --- /dev/null +++ b/tp/org.argeo.tp/bouncycastle/bcpkix.bnd @@ -0,0 +1,3 @@ +Bundle-SymbolicName: bcpkix +SLC-Origin-ManifestNotModified: true +SLC-Origin-M2: org.bouncycastle:bcpkix-jdk15on diff --git a/tp/org.argeo.tp/bouncycastle/bcprov.bnd b/tp/org.argeo.tp/bouncycastle/bcprov.bnd new file mode 100644 index 000000000..e81167acf --- /dev/null +++ b/tp/org.argeo.tp/bouncycastle/bcprov.bnd @@ -0,0 +1,3 @@ +Bundle-SymbolicName: bcprov +SLC-Origin-ManifestNotModified: true +SLC-Origin-M2: org.bouncycastle:bcprov-jdk15on diff --git a/tp/org.argeo.tp/bouncycastle/common.bnd b/tp/org.argeo.tp/bouncycastle/common.bnd new file mode 100644 index 000000000..3216e7759 --- /dev/null +++ b/tp/org.argeo.tp/bouncycastle/common.bnd @@ -0,0 +1,2 @@ +Bundle-License: MIT +SLC-Origin-M2: :1.64 diff --git a/tp/org.argeo.tp/jetty/common.bnd b/tp/org.argeo.tp/jetty/common.bnd deleted file mode 100644 index 14a0f68d0..000000000 --- a/tp/org.argeo.tp/jetty/common.bnd +++ /dev/null @@ -1,2 +0,0 @@ -Bundle-License: Apache-2.0 -SLC-Origin-M2: :9.4.24.v20191120 diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.client.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.client.bnd deleted file mode 100644 index 8bce1ab01..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.client.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-client -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.client diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.continuation.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.continuation.bnd deleted file mode 100644 index 5cf169dc6..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.continuation.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-continuation -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.continuation diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.http.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.http.bnd deleted file mode 100644 index 4a4e18c60..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.http.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-http -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.http diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.io.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.io.bnd deleted file mode 100644 index 4037c7000..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.io.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-io -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.io diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.jmx.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.jmx.bnd deleted file mode 100644 index dbdf6e105..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.jmx.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-jmx -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.jmx diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.security.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.security.bnd deleted file mode 100644 index f28b88615..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.security.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-security -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.security diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.server.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.server.bnd deleted file mode 100644 index d66a70d58..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.server.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-server -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.server diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.servlet.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.servlet.bnd deleted file mode 100644 index 68469c1eb..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.servlet.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-servlet -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.servlet diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.servlets.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.servlets.bnd deleted file mode 100644 index 27a8f2ec7..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.servlets.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-servlets -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.servlets diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.util.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.util.bnd deleted file mode 100644 index 600cc7091..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.util.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-util -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.util diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.api.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.api.bnd deleted file mode 100644 index 3de1e465b..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.api.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-api -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.websocket.api diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.client.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.client.bnd deleted file mode 100644 index 674c77549..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.client.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-client -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.websocket.client diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.common.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.common.bnd deleted file mode 100644 index 7e7a113b0..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.common.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-common -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.websocket.common diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.javax.websocket.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.javax.websocket.bnd deleted file mode 100644 index 100778420..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.javax.websocket.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty.websocket:javax-websocket-client-impl -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.websocket.javax.websocket diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.javax.websocket.server.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.javax.websocket.server.bnd deleted file mode 100644 index 72860e330..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.javax.websocket.server.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty.websocket:javax-websocket-server-impl -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.websocket.javax.websocket.server diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.server.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.server.bnd deleted file mode 100644 index b9cad3c9d..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.server.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-server -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.websocket.server diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.servlet.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.servlet.bnd deleted file mode 100644 index 3db77e27d..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.websocket.servlet.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty.websocket:websocket-servlet -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.websocket.servlet diff --git a/tp/org.argeo.tp/jetty/org.eclipse.jetty.xml.bnd b/tp/org.argeo.tp/jetty/org.eclipse.jetty.xml.bnd deleted file mode 100644 index 0ccef1af1..000000000 --- a/tp/org.argeo.tp/jetty/org.eclipse.jetty.xml.bnd +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.eclipse.jetty:jetty-xml -SLC-Origin-ManifestNotModified: true -Bundle-SymbolicName: org.eclipse.jetty.xml diff --git a/tp/org.argeo.tp/org.postgresql.jdbc42.bnd b/tp/org.argeo.tp/org.postgresql.jdbc42.bnd new file mode 100644 index 000000000..08683b9cc --- /dev/null +++ b/tp/org.argeo.tp/org.postgresql.jdbc42.bnd @@ -0,0 +1,4 @@ +Bundle-License: BSD-2-Clause +Bundle-SymbolicName: org.postgresql.jdbc42 +SLC-Origin-M2: org.postgresql:postgresql:42.2.8 +SLC-Origin-ManifestNotModified: true diff --git a/tp/org.argeo.tp/org.slf4j.api.bnd b/tp/org.argeo.tp/org.slf4j.api.bnd new file mode 100644 index 000000000..3dd38ad26 --- /dev/null +++ b/tp/org.argeo.tp/org.slf4j.api.bnd @@ -0,0 +1,3 @@ +Bundle-License: Apache-2.0 +Bundle-SymbolicName: org.slf4j.api +SLC-Origin-M2: org.slf4j:slf4j-api:1.7.28