From 1d84ad373b3cf1b9fd34e53e15bd266a8181cbaf Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 2 Nov 2022 08:50:11 +0100 Subject: [PATCH] Update all third-parties to their latest compatible version --- .../apache-sshd/common.bnd | 2 +- .../org.argeo.tp.apache/apache-sshd/merge.bnd | 2 +- .../org.apache.sshd.common.bnd.retired | 11 - .../org.apache.sshd.core.bnd.retired | 6 - .../org.argeo.tp.apache/batik/common.bnd | 2 +- repackage/org.argeo.tp.apache/batik/merge.bnd | 2 +- .../batik/org.apache.batik.constants.bnd | 1 - .../batik/org.apache.batik.css.bnd | 1 - .../batik/org.apache.batik.i18n.bnd | 1 - .../batik/org.apache.batik.util.bnd | 1 - .../org.apache.commons.compress.bnd | 2 +- .../org.apache.commons.httpclient.bnd | 3 - .../org.apache.tika.core.bnd | 4 - .../org.apache.tika.parsers.bnd | 5 - .../org.apache.tomcat.jni.bnd | 2 +- .../org.apache.xalan.bnd.retired | 3 - .../org.apache.xalan.serializer.bnd.retired | 3 - .../org.apache.xmlgraphics.bnd.retired | 3 - repackage/org.argeo.tp.apache/xalan/merge.bnd | 1 + .../org.argeo.tp.formats/com.dd.plist.bnd | 2 + .../com.drew.metadata.bnd | 2 +- .../com.healthmarketscience.jackcess.bnd | 2 + .../org.argeo.tp.formats/com.lowagie.bnd | 2 +- repackage/org.argeo.tp.formats/com.pff.bnd | 2 + .../de.rototor.pdfbox.graphics2d.bnd | 2 +- .../org.apache.commons.imaging.bnd | 4 +- .../org.apache.commons.math3.bnd | 2 +- .../org.apache.commons.text.bnd | 2 +- .../org.apache.pdfbox.jempbox.bnd | 2 +- .../org.apache.xml.security.bnd | 2 +- .../org.argeo.tp.formats/pdfbox/common.bnd | 2 +- repackage/org.argeo.tp.formats/tika/merge.bnd | 16 + repackage/org.argeo.tp.gis/Repackage.java | 1174 ----------------- repackage/org.argeo.tp.gis/geotools/merge.bnd | 2 +- .../org.json.simple.bnd.retired | 2 - .../org.argeo.tp.gis/org.locationtech.jts.bnd | 2 +- repackage/org.argeo.tp.gis/units/merge.bnd | 2 +- .../com.google.guava.bnd.retired | 5 - ...com.google.guava.failureaccess.bnd.retired | 4 - .../org.argeo.tp.jcr/jackrabbit/common.bnd | 2 +- .../org.apache.jackrabbit.api.bnd.retired | 3 - repackage/org.argeo.tp.jcr/oak/common.bnd | 2 +- .../jetty-websocket/merge.bnd | 2 +- repackage/org.argeo.tp.jetty/jetty/common.bnd | 2 +- repackage/org.argeo.tp.poi/log4j/common.bnd | 2 + .../log4j/org.apache.logging.log4j.api.bnd | 3 + .../org.argeo.tp.poi/org.apache.xmlbeans.bnd | 2 +- repackage/org.argeo.tp.poi/poi/common.bnd | 2 +- .../org.argeo.tp.sdk/junit-jupiter/merge.bnd | 2 +- .../org.argeo.tp.sdk/junit-platform/merge.bnd | 2 +- .../org.eclipse.jdt.core.compiler.batch.bnd | 2 +- .../org.argeo.tp.sdk/org.eclipse.jgit.bnd | 2 +- .../org.argeo.tp.sdk/org.graalvm.bnd.retired | 4 - .../org.argeo.tp.sdk/org.junit.vintage.bnd | 2 +- .../org.argeo.tp/bouncycastle/common.bnd | 2 +- repackage/org.argeo.tp/jackson/common.bnd | 2 +- .../{jakarta.mail.bnd => javax.mail.bnd} | 0 ...arta.servlet.api.bnd => javax.servlet.bnd} | 0 .../org.argeo.tp/org.postgresql.jdbc42.bnd | 2 +- .../org.argeo.tp/slf4j/org.slf4j.api.bnd | 1 - .../slf4j/org.slf4j.commons.logging.bnd | 1 - .../slf4j/org.slf4j.log4j.bnd.deactivated | 3 - sdk/argeo-build | 2 +- 63 files changed, 62 insertions(+), 1273 deletions(-) delete mode 100644 repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.common.bnd.retired delete mode 100644 repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.core.bnd.retired delete mode 100644 repackage/org.argeo.tp.apache/org.apache.commons.httpclient.bnd delete mode 100644 repackage/org.argeo.tp.apache/org.apache.tika.core.bnd delete mode 100644 repackage/org.argeo.tp.apache/org.apache.tika.parsers.bnd delete mode 100644 repackage/org.argeo.tp.apache/org.apache.xalan.bnd.retired delete mode 100644 repackage/org.argeo.tp.apache/org.apache.xalan.serializer.bnd.retired delete mode 100644 repackage/org.argeo.tp.apache/org.apache.xmlgraphics.bnd.retired create mode 100644 repackage/org.argeo.tp.formats/com.dd.plist.bnd create mode 100644 repackage/org.argeo.tp.formats/com.healthmarketscience.jackcess.bnd create mode 100644 repackage/org.argeo.tp.formats/com.pff.bnd create mode 100644 repackage/org.argeo.tp.formats/tika/merge.bnd delete mode 100644 repackage/org.argeo.tp.gis/Repackage.java delete mode 100644 repackage/org.argeo.tp.gis/org.json.simple.bnd.retired delete mode 100644 repackage/org.argeo.tp.jcr/com.google.guava.bnd.retired delete mode 100644 repackage/org.argeo.tp.jcr/com.google.guava.failureaccess.bnd.retired delete mode 100644 repackage/org.argeo.tp.jcr/jackrabbit/org.apache.jackrabbit.api.bnd.retired create mode 100644 repackage/org.argeo.tp.poi/log4j/common.bnd create mode 100644 repackage/org.argeo.tp.poi/log4j/org.apache.logging.log4j.api.bnd delete mode 100644 repackage/org.argeo.tp.sdk/org.graalvm.bnd.retired rename repackage/org.argeo.tp/{jakarta.mail.bnd => javax.mail.bnd} (100%) rename repackage/org.argeo.tp/{jakarta.servlet.api.bnd => javax.servlet.bnd} (100%) delete mode 100644 repackage/org.argeo.tp/slf4j/org.slf4j.log4j.bnd.deactivated diff --git a/repackage/org.argeo.tp.apache/apache-sshd/common.bnd b/repackage/org.argeo.tp.apache/apache-sshd/common.bnd index f3f8597..d73cbb3 100644 --- a/repackage/org.argeo.tp.apache/apache-sshd/common.bnd +++ b/repackage/org.argeo.tp.apache/apache-sshd/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :2.8.0 \ No newline at end of file +SLC-Origin-M2: :2.9.1 \ No newline at end of file diff --git a/repackage/org.argeo.tp.apache/apache-sshd/merge.bnd b/repackage/org.argeo.tp.apache/apache-sshd/merge.bnd index ce57733..0af7209 100644 --- a/repackage/org.argeo.tp.apache/apache-sshd/merge.bnd +++ b/repackage/org.argeo.tp.apache/apache-sshd/merge.bnd @@ -1,6 +1,6 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.sshd -SLC-Origin-M2: :2.8.0 +SLC-Origin-M2: :2.9.1 Export-Package: org.apache.* Import-Package: \ org.apache.tomcat.jni.*;resolution:=optional,\ diff --git a/repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.common.bnd.retired b/repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.common.bnd.retired deleted file mode 100644 index 02377e2..0000000 --- a/repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.common.bnd.retired +++ /dev/null @@ -1,11 +0,0 @@ -Bundle-SymbolicName: org.apache.sshd.common -Fragment-Host: org.apache.sshd.core -Import-Package: \ -org.bouncycastle.jce.provider.*;resolution:=optional,\ -net.i2p.crypto.eddsa.*;resolution:=optional,\ -org.slf4j,\ -org.slf4j.event,\ -org.slf4j.helpers,\ -* - -SLC-Origin-M2: org.apache.sshd:sshd-common diff --git a/repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.core.bnd.retired b/repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.core.bnd.retired deleted file mode 100644 index c3e183a..0000000 --- a/repackage/org.argeo.tp.apache/apache-sshd/org.apache.sshd.core.bnd.retired +++ /dev/null @@ -1,6 +0,0 @@ -Bundle-SymbolicName: org.apache.sshd.core -SLC-Origin-M2: org.apache.sshd:sshd-core -Import-Package: \ -org.apache.tomcat.jni.*;resolution:=optional,\ -org.bouncycastle.crypto.prng,\ -* \ No newline at end of file diff --git a/repackage/org.argeo.tp.apache/batik/common.bnd b/repackage/org.argeo.tp.apache/batik/common.bnd index bc76a97..cc68031 100644 --- a/repackage/org.argeo.tp.apache/batik/common.bnd +++ b/repackage/org.argeo.tp.apache/batik/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :1.14 \ No newline at end of file +SLC-Origin-M2: :1.16 \ No newline at end of file diff --git a/repackage/org.argeo.tp.apache/batik/merge.bnd b/repackage/org.argeo.tp.apache/batik/merge.bnd index 6c303ef..3c1a85d 100644 --- a/repackage/org.argeo.tp.apache/batik/merge.bnd +++ b/repackage/org.argeo.tp.apache/batik/merge.bnd @@ -1,6 +1,6 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.batik -SLC-Origin-M2: :1.14 +SLC-Origin-M2: :1.16 Export-Package: org.apache.* Import-Package: \ org.apache.batik.script.*;resolution:="optional",\ diff --git a/repackage/org.argeo.tp.apache/batik/org.apache.batik.constants.bnd b/repackage/org.argeo.tp.apache/batik/org.apache.batik.constants.bnd index fea69fa..b8a4c6d 100644 --- a/repackage/org.argeo.tp.apache/batik/org.apache.batik.constants.bnd +++ b/repackage/org.argeo.tp.apache/batik/org.apache.batik.constants.bnd @@ -1,2 +1 @@ -Bundle-SymbolicName: org.apache.batik.constants SLC-Origin-M2: org.apache.xmlgraphics:batik-constants diff --git a/repackage/org.argeo.tp.apache/batik/org.apache.batik.css.bnd b/repackage/org.argeo.tp.apache/batik/org.apache.batik.css.bnd index 8ec1225..001e90e 100644 --- a/repackage/org.argeo.tp.apache/batik/org.apache.batik.css.bnd +++ b/repackage/org.argeo.tp.apache/batik/org.apache.batik.css.bnd @@ -1,2 +1 @@ -Bundle-SymbolicName: org.apache.batik.css SLC-Origin-M2: org.apache.xmlgraphics:batik-css diff --git a/repackage/org.argeo.tp.apache/batik/org.apache.batik.i18n.bnd b/repackage/org.argeo.tp.apache/batik/org.apache.batik.i18n.bnd index 321ae88..5992e5b 100644 --- a/repackage/org.argeo.tp.apache/batik/org.apache.batik.i18n.bnd +++ b/repackage/org.argeo.tp.apache/batik/org.apache.batik.i18n.bnd @@ -1,2 +1 @@ -Bundle-SymbolicName: org.apache.batik.i18n SLC-Origin-M2: org.apache.xmlgraphics:batik-i18n diff --git a/repackage/org.argeo.tp.apache/batik/org.apache.batik.util.bnd b/repackage/org.argeo.tp.apache/batik/org.apache.batik.util.bnd index 0b672dc..80371cb 100644 --- a/repackage/org.argeo.tp.apache/batik/org.apache.batik.util.bnd +++ b/repackage/org.argeo.tp.apache/batik/org.apache.batik.util.bnd @@ -1,2 +1 @@ -Bundle-SymbolicName: org.apache.batik.util SLC-Origin-M2: org.apache.xmlgraphics:batik-util diff --git a/repackage/org.argeo.tp.apache/org.apache.commons.compress.bnd b/repackage/org.argeo.tp.apache/org.apache.commons.compress.bnd index e126b0a..5a045bd 100644 --- a/repackage/org.argeo.tp.apache/org.apache.commons.compress.bnd +++ b/repackage/org.argeo.tp.apache/org.apache.commons.compress.bnd @@ -1,6 +1,6 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.commons.compress -SLC-Origin-M2: org.apache.commons:commons-compress:1.21 +SLC-Origin-M2: org.apache.commons:commons-compress:1.22 Import-Package: \ org.brotli.*;resolution:=optional, org.tukaani.*;resolution:=optional, diff --git a/repackage/org.argeo.tp.apache/org.apache.commons.httpclient.bnd b/repackage/org.argeo.tp.apache/org.apache.commons.httpclient.bnd deleted file mode 100644 index a064d48..0000000 --- a/repackage/org.argeo.tp.apache/org.apache.commons.httpclient.bnd +++ /dev/null @@ -1,3 +0,0 @@ -Bundle-License: Apache-2.0 -Bundle-SymbolicName: org.apache.commons.httpclient -SLC-Origin-M2: commons-httpclient:commons-httpclient:3.1 diff --git a/repackage/org.argeo.tp.apache/org.apache.tika.core.bnd b/repackage/org.argeo.tp.apache/org.apache.tika.core.bnd deleted file mode 100644 index cfe157a..0000000 --- a/repackage/org.argeo.tp.apache/org.apache.tika.core.bnd +++ /dev/null @@ -1,4 +0,0 @@ -Bundle-License: Apache-2.0 -Bundle-SymbolicName: org.apache.tika.core -SLC-Origin-M2: org.apache.tika:tika-core:1.28.2 -SLC-Origin-ManifestNotModified: true diff --git a/repackage/org.argeo.tp.apache/org.apache.tika.parsers.bnd b/repackage/org.argeo.tp.apache/org.apache.tika.parsers.bnd deleted file mode 100644 index 90489d3..0000000 --- a/repackage/org.argeo.tp.apache/org.apache.tika.parsers.bnd +++ /dev/null @@ -1,5 +0,0 @@ -Bundle-Activator: org.apache.tika.parser.internal.Activator -Bundle-License: Apache-2.0 -Bundle-SymbolicName: org.apache.tika.parsers -Import-Package: *;resolution:=optional -SLC-Origin-M2: org.apache.tika:tika-parsers:1.28.2 \ No newline at end of file diff --git a/repackage/org.argeo.tp.apache/org.apache.tomcat.jni.bnd b/repackage/org.argeo.tp.apache/org.apache.tomcat.jni.bnd index 99cb821..dafe848 100644 --- a/repackage/org.argeo.tp.apache/org.apache.tomcat.jni.bnd +++ b/repackage/org.argeo.tp.apache/org.apache.tomcat.jni.bnd @@ -1,3 +1,3 @@ Bundle-License: Apache-2.0 # Use Tomcat v9 to stay compatible with JNI library v1.2 provided by Debian 11 -SLC-Origin-M2: org.apache.tomcat:tomcat-jni:9.0.43 \ No newline at end of file +SLC-Origin-M2: org.apache.tomcat:tomcat-jni:9.0.68 \ No newline at end of file diff --git a/repackage/org.argeo.tp.apache/org.apache.xalan.bnd.retired b/repackage/org.argeo.tp.apache/org.apache.xalan.bnd.retired deleted file mode 100644 index 1d2106b..0000000 --- a/repackage/org.argeo.tp.apache/org.apache.xalan.bnd.retired +++ /dev/null @@ -1,3 +0,0 @@ -Bundle-License: Apache-2.0 -Bundle-SymbolicName: org.apache.xalan -SLC-Origin-M2: xalan:xalan:2.7.2 \ No newline at end of file diff --git a/repackage/org.argeo.tp.apache/org.apache.xalan.serializer.bnd.retired b/repackage/org.argeo.tp.apache/org.apache.xalan.serializer.bnd.retired deleted file mode 100644 index e0fb19c..0000000 --- a/repackage/org.argeo.tp.apache/org.apache.xalan.serializer.bnd.retired +++ /dev/null @@ -1,3 +0,0 @@ -Bundle-License: Apache-2.0 -Bundle-SymbolicName: org.apache.xalan.serializer -SLC-Origin-M2: xalan:serializer:2.7.2 \ No newline at end of file diff --git a/repackage/org.argeo.tp.apache/org.apache.xmlgraphics.bnd.retired b/repackage/org.argeo.tp.apache/org.apache.xmlgraphics.bnd.retired deleted file mode 100644 index 254a0af..0000000 --- a/repackage/org.argeo.tp.apache/org.apache.xmlgraphics.bnd.retired +++ /dev/null @@ -1,3 +0,0 @@ -Bundle-License: Apache-2.0 -Bundle-SymbolicName: org.apache.xmlgraphics -SLC-Origin-M2: org.apache.xmlgraphics:xmlgraphics-commons:2.7 diff --git a/repackage/org.argeo.tp.apache/xalan/merge.bnd b/repackage/org.argeo.tp.apache/xalan/merge.bnd index 4c36a94..ca0c4d6 100644 --- a/repackage/org.argeo.tp.apache/xalan/merge.bnd +++ b/repackage/org.argeo.tp.apache/xalan/merge.bnd @@ -1,4 +1,5 @@ Bundle-SymbolicName: org.apache.xalan +Bundle-License: Apache-2.0 SLC-Origin-M2: :2.7.2 Export-Package: org.apache.* SLC-Origin-M2-Merge: \ diff --git a/repackage/org.argeo.tp.formats/com.dd.plist.bnd b/repackage/org.argeo.tp.formats/com.dd.plist.bnd new file mode 100644 index 0000000..b1713f0 --- /dev/null +++ b/repackage/org.argeo.tp.formats/com.dd.plist.bnd @@ -0,0 +1,2 @@ +Bundle-License: MIT +SLC-Origin-M2: com.googlecode.plist:dd-plist:1.26 \ No newline at end of file diff --git a/repackage/org.argeo.tp.formats/com.drew.metadata.bnd b/repackage/org.argeo.tp.formats/com.drew.metadata.bnd index f32421a..ddb5ffd 100644 --- a/repackage/org.argeo.tp.formats/com.drew.metadata.bnd +++ b/repackage/org.argeo.tp.formats/com.drew.metadata.bnd @@ -1,3 +1,3 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: com.drew.metadata -SLC-Origin-M2: com.drewnoakes:metadata-extractor:2.16.0 +SLC-Origin-M2: com.drewnoakes:metadata-extractor:2.18.0 diff --git a/repackage/org.argeo.tp.formats/com.healthmarketscience.jackcess.bnd b/repackage/org.argeo.tp.formats/com.healthmarketscience.jackcess.bnd new file mode 100644 index 0000000..028a094 --- /dev/null +++ b/repackage/org.argeo.tp.formats/com.healthmarketscience.jackcess.bnd @@ -0,0 +1,2 @@ +Bundle-License: Apache-2.0 +SLC-Origin-M2: com.healthmarketscience.jackcess:jackcess:4.0.4 \ No newline at end of file diff --git a/repackage/org.argeo.tp.formats/com.lowagie.bnd b/repackage/org.argeo.tp.formats/com.lowagie.bnd index b8bd293..9ccb6ad 100644 --- a/repackage/org.argeo.tp.formats/com.lowagie.bnd +++ b/repackage/org.argeo.tp.formats/com.lowagie.bnd @@ -1,3 +1,3 @@ Bundle-License: LGPL-2.1 Bundle-SymbolicName: com.lowagie -SLC-Origin-M2: com.github.librepdf:openpdf:1.3.27 +SLC-Origin-M2: com.github.librepdf:openpdf:1.3.30 diff --git a/repackage/org.argeo.tp.formats/com.pff.bnd b/repackage/org.argeo.tp.formats/com.pff.bnd new file mode 100644 index 0000000..4d2a3be --- /dev/null +++ b/repackage/org.argeo.tp.formats/com.pff.bnd @@ -0,0 +1,2 @@ +Bundle-License: Apache-2.0 +SLC-Origin-M2: com.pff:java-libpst:0.9.3 \ No newline at end of file diff --git a/repackage/org.argeo.tp.formats/de.rototor.pdfbox.graphics2d.bnd b/repackage/org.argeo.tp.formats/de.rototor.pdfbox.graphics2d.bnd index b6f5736..08f2139 100644 --- a/repackage/org.argeo.tp.formats/de.rototor.pdfbox.graphics2d.bnd +++ b/repackage/org.argeo.tp.formats/de.rototor.pdfbox.graphics2d.bnd @@ -1,3 +1,3 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: de.rototor.pdfbox.graphics2d -SLC-Origin-M2: de.rototor.pdfbox:graphics2d:0.35 +SLC-Origin-M2: de.rototor.pdfbox:graphics2d:0.41 diff --git a/repackage/org.argeo.tp.formats/org.apache.commons.imaging.bnd b/repackage/org.argeo.tp.formats/org.apache.commons.imaging.bnd index 16e0882..f0d2123 100644 --- a/repackage/org.argeo.tp.formats/org.apache.commons.imaging.bnd +++ b/repackage/org.argeo.tp.formats/org.apache.commons.imaging.bnd @@ -1,4 +1,4 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.commons.imaging -Bundle-Version: 0.99.2 -SLC-Origin-M2: org.apache.commons:commons-imaging:1.0-alpha2 +Bundle-Version: 0.99.3 +SLC-Origin-M2: org.apache.commons:commons-imaging:1.0-alpha3 diff --git a/repackage/org.argeo.tp.formats/org.apache.commons.math3.bnd b/repackage/org.argeo.tp.formats/org.apache.commons.math3.bnd index cc8d131..9ce7741 100644 --- a/repackage/org.argeo.tp.formats/org.apache.commons.math3.bnd +++ b/repackage/org.argeo.tp.formats/org.apache.commons.math3.bnd @@ -1,3 +1,3 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.commons.math3 -SLC-Origin-M2: org.apache.commons:commons-math3:3.5 +SLC-Origin-M2: org.apache.commons:commons-math3:3.6.1 diff --git a/repackage/org.argeo.tp.formats/org.apache.commons.text.bnd b/repackage/org.argeo.tp.formats/org.apache.commons.text.bnd index b85c146..b14d9b5 100644 --- a/repackage/org.argeo.tp.formats/org.apache.commons.text.bnd +++ b/repackage/org.argeo.tp.formats/org.apache.commons.text.bnd @@ -1,3 +1,3 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.commons.text -SLC-Origin-M2: org.apache.commons:commons-text:1.9 +SLC-Origin-M2: org.apache.commons:commons-text:1.10.0 diff --git a/repackage/org.argeo.tp.formats/org.apache.pdfbox.jempbox.bnd b/repackage/org.argeo.tp.formats/org.apache.pdfbox.jempbox.bnd index 0689779..4edfaa5 100644 --- a/repackage/org.argeo.tp.formats/org.apache.pdfbox.jempbox.bnd +++ b/repackage/org.argeo.tp.formats/org.apache.pdfbox.jempbox.bnd @@ -1,3 +1,3 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.pdfbox.jempbox -SLC-Origin-M2: org.apache.pdfbox:jempbox:1.8.16 +SLC-Origin-M2: org.apache.pdfbox:jempbox:1.8.17 diff --git a/repackage/org.argeo.tp.formats/org.apache.xml.security.bnd b/repackage/org.argeo.tp.formats/org.apache.xml.security.bnd index 8600cbb..caf6de4 100644 --- a/repackage/org.argeo.tp.formats/org.apache.xml.security.bnd +++ b/repackage/org.argeo.tp.formats/org.apache.xml.security.bnd @@ -1,3 +1,3 @@ Bundle-License: Apache-2.0 Bundle-SymbolicName: org.apache.xml.security -SLC-Origin-M2: org.apache.santuario:xmlsec:2.1.2 +SLC-Origin-M2: org.apache.santuario:xmlsec:2.3.2 diff --git a/repackage/org.argeo.tp.formats/pdfbox/common.bnd b/repackage/org.argeo.tp.formats/pdfbox/common.bnd index 165d7c4..9dcfa6c 100644 --- a/repackage/org.argeo.tp.formats/pdfbox/common.bnd +++ b/repackage/org.argeo.tp.formats/pdfbox/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :2.0.25 \ No newline at end of file +SLC-Origin-M2: :2.0.27 \ No newline at end of file diff --git a/repackage/org.argeo.tp.formats/tika/merge.bnd b/repackage/org.argeo.tp.formats/tika/merge.bnd new file mode 100644 index 0000000..6350726 --- /dev/null +++ b/repackage/org.argeo.tp.formats/tika/merge.bnd @@ -0,0 +1,16 @@ +Bundle-SymbolicName: org.apache.tika +Bundle-License: Apache-2.0 +SLC-Origin-M2: :2.5.0 +Export-Package: org.apache.* +Import-Package: *;resolution:=optional +SLC-Origin-M2-Merge: \ +org.apache.tika:tika-core,\ +org.apache.tika:tika-parser-zip-commons,\ +org.apache.tika:tika-parser-xmp-commons,\ +org.apache.tika:tika-parser-digest-commons,\ +org.apache.tika:tika-parser-pdf-module,\ +org.apache.tika:tika-parser-image-module,\ +org.apache.tika:tika-parser-text-module,\ +org.apache.tika:tika-parser-xml-module,\ +org.apache.tika:tika-parser-microsoft-module,\ +org.apache.tika:tika-parser-miscoffice-module,\ \ No newline at end of file diff --git a/repackage/org.argeo.tp.gis/Repackage.java b/repackage/org.argeo.tp.gis/Repackage.java deleted file mode 100644 index d902efb..0000000 --- a/repackage/org.argeo.tp.gis/Repackage.java +++ /dev/null @@ -1,1174 +0,0 @@ -package org.argeo.build; - -import static java.lang.System.Logger.Level.DEBUG; -import static org.argeo.build.Repackage.ManifestConstants.BUNDLE_SYMBOLICNAME; -import static org.argeo.build.Repackage.ManifestConstants.BUNDLE_VERSION; -import static org.argeo.build.Repackage.ManifestConstants.EXPORT_PACKAGE; -import static org.argeo.build.Repackage.ManifestConstants.SLC_ORIGIN_M2; -import static org.argeo.build.Repackage.ManifestConstants.SLC_ORIGIN_M2_REPO; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.lang.System.Logger; -import java.lang.System.Logger.Level; -import java.net.MalformedURLException; -import java.net.URL; -import java.nio.file.DirectoryStream; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.FileVisitResult; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.PathMatcher; -import java.nio.file.Paths; -import java.nio.file.SimpleFileVisitor; -import java.nio.file.StandardOpenOption; -import java.nio.file.attribute.BasicFileAttributes; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Properties; -import java.util.TreeMap; -import java.util.jar.Attributes; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; -import java.util.jar.JarOutputStream; -import java.util.jar.Manifest; -import java.util.zip.Deflater; - -import aQute.bnd.osgi.Analyzer; -import aQute.bnd.osgi.Jar; - -/** The central class for A2 packaging. */ -public class Repackage { - private final static Logger logger = System.getLogger(Repackage.class.getName()); - - /** Main entry point. */ - public static void main(String[] args) { - if (args.length < 2) { - System.err.println("Usage: ..."); - System.exit(1); - } - Path a2Base = Paths.get(args[0]).toAbsolutePath().normalize(); - Path descriptorsBase = Paths.get(".").toAbsolutePath().normalize(); - Repackage factory = new Repackage(a2Base, descriptorsBase, true); - - for (int i = 1; i < args.length; i++) { - Path p = Paths.get(args[i]); - factory.processCategory(p); - } - } - - private final static String COMMON_BND = "common.bnd"; - private final static String MERGE_BND = "merge.bnd"; - - private Path originBase; - private Path a2Base; - private Path a2LibBase; - private Path descriptorsBase; - - private Properties uris = new Properties(); - - private boolean includeSources = true; - - /** key is URI prefix, value list of base URLs */ - private Map> mirrors = new HashMap>(); - - public Repackage(Path a2Base, Path descriptorsBase, boolean includeSources) { - Objects.requireNonNull(a2Base); - Objects.requireNonNull(descriptorsBase); - this.originBase = Paths.get(System.getProperty("user.home"), ".cache", "argeo/build/origin"); - // TODO define and use a build base - this.a2Base = a2Base; - this.a2LibBase = a2Base.resolve("lib"); - this.descriptorsBase = descriptorsBase; - if (!Files.exists(this.descriptorsBase)) - throw new IllegalArgumentException(this.descriptorsBase + " does not exist"); - this.includeSources = includeSources; - - Path urisPath = this.descriptorsBase.resolve("uris.properties"); - if (Files.exists(urisPath)) { - try (InputStream in = Files.newInputStream(urisPath)) { - uris.load(in); - } catch (IOException e) { - throw new IllegalStateException("Cannot load " + urisPath, e); - } - } - - // TODO make it configurable - List eclipseMirrors = new ArrayList<>(); - eclipseMirrors.add("https://archive.eclipse.org/"); - eclipseMirrors.add("http://ftp-stud.hs-esslingen.de/Mirrors/eclipse/"); - eclipseMirrors.add("http://ftp.fau.de/eclipse/"); - - mirrors.put("http://www.eclipse.org/downloads", eclipseMirrors); - } - - /* - * MAVEN ORIGIN - */ - - /** Process a whole category/group id. */ - public void processCategory(Path categoryRelativePath) { - try { - Path targetCategoryBase = descriptorsBase.resolve(categoryRelativePath); - DirectoryStream bnds = Files.newDirectoryStream(targetCategoryBase, - (p) -> p.getFileName().toString().endsWith(".bnd") && !p.getFileName().toString().equals(COMMON_BND) - && !p.getFileName().toString().equals(MERGE_BND)); - for (Path p : bnds) { - processSingleM2ArtifactDistributionUnit(p); - } - - DirectoryStream dus = Files.newDirectoryStream(targetCategoryBase, (p) -> Files.isDirectory(p)); - for (Path duDir : dus) { - if (duDir.getFileName().toString().startsWith("eclipse-")) { - processEclipseArchive(duDir); - } else { - processM2BasedDistributionUnit(duDir); - } - } - } catch (IOException e) { - throw new RuntimeException("Cannot process category " + categoryRelativePath, e); - } - } - - /** Process a standalone Maven artifact. */ - public void processSingleM2ArtifactDistributionUnit(Path bndFile) { - try { -// String category = bndFile.getParent().getFileName().toString(); - Path categoryRelativePath = descriptorsBase.relativize(bndFile.getParent()); - Path targetCategoryBase = a2Base.resolve(categoryRelativePath); - - Properties fileProps = new Properties(); - try (InputStream in = Files.newInputStream(bndFile)) { - fileProps.load(in); - } - String repoStr = fileProps.containsKey(SLC_ORIGIN_M2_REPO.toString()) - ? fileProps.getProperty(SLC_ORIGIN_M2_REPO.toString()) - : null; - - if (!fileProps.containsKey(BUNDLE_SYMBOLICNAME.toString())) { - // use file name as symbolic name - String symbolicName = bndFile.getFileName().toString(); - symbolicName = symbolicName.substring(0, symbolicName.length() - ".bnd".length()); - fileProps.put(BUNDLE_SYMBOLICNAME.toString(), symbolicName); - } - - String m2Coordinates = fileProps.getProperty(SLC_ORIGIN_M2.toString()); - if (m2Coordinates == null) - throw new IllegalArgumentException("No M2 coordinates available for " + bndFile); - M2Artifact artifact = new M2Artifact(m2Coordinates); - URL url = M2ConventionsUtils.mavenRepoUrl(repoStr, artifact); - Path downloaded = download(url, originBase, artifact); - - Path targetBundleDir = processBndJar(downloaded, targetCategoryBase, fileProps, artifact); - - downloadAndProcessM2Sources(repoStr, artifact, targetBundleDir); - - createJar(targetBundleDir); - } catch (Exception e) { - throw new RuntimeException("Cannot process " + bndFile, e); - } - } - - /** Process multiple Maven artifacts. */ - public void processM2BasedDistributionUnit(Path duDir) { - try { - // String category = duDir.getParent().getFileName().toString(); - Path categoryRelativePath = descriptorsBase.relativize(duDir.getParent()); - Path targetCategoryBase = a2Base.resolve(categoryRelativePath); - - // merge - Path mergeBnd = duDir.resolve(MERGE_BND); - if (Files.exists(mergeBnd)) { - mergeM2Artifacts(mergeBnd); -// return; - } - - Path commonBnd = duDir.resolve(COMMON_BND); - if (!Files.exists(commonBnd)) { - return; - } - Properties commonProps = new Properties(); - try (InputStream in = Files.newInputStream(commonBnd)) { - commonProps.load(in); - } - - String m2Version = commonProps.getProperty(SLC_ORIGIN_M2.toString()); - if (m2Version == null) { - logger.log(Level.WARNING, "Ignoring " + duDir + " as it is not an M2-based distribution unit"); - return;// ignore, this is probably an Eclipse archive - } - if (!m2Version.startsWith(":")) { - throw new IllegalStateException("Only the M2 version can be specified: " + m2Version); - } - m2Version = m2Version.substring(1); - - DirectoryStream ds = Files.newDirectoryStream(duDir, - (p) -> p.getFileName().toString().endsWith(".bnd") && !p.getFileName().toString().equals(COMMON_BND) - && !p.getFileName().toString().equals(MERGE_BND)); - for (Path p : ds) { - Properties fileProps = new Properties(); - try (InputStream in = Files.newInputStream(p)) { - fileProps.load(in); - } - String m2Coordinates = fileProps.getProperty(SLC_ORIGIN_M2.toString()); - M2Artifact artifact = new M2Artifact(m2Coordinates); - - artifact.setVersion(m2Version); - - // prepare manifest entries - Properties mergeProps = new Properties(); - mergeProps.putAll(commonProps); - - fileEntries: for (Object key : fileProps.keySet()) { - if (ManifestConstants.SLC_ORIGIN_M2.toString().equals(key)) - continue fileEntries; - String value = fileProps.getProperty(key.toString()); - Object previousValue = mergeProps.put(key.toString(), value); - if (previousValue != null) { - logger.log(Level.WARNING, - commonBnd + ": " + key + " was " + previousValue + ", overridden with " + value); - } - } - mergeProps.put(ManifestConstants.SLC_ORIGIN_M2.toString(), artifact.toM2Coordinates()); - if (!mergeProps.containsKey(BUNDLE_SYMBOLICNAME.toString())) { - // use file name as symbolic name - String symbolicName = p.getFileName().toString(); - symbolicName = symbolicName.substring(0, symbolicName.length() - ".bnd".length()); - mergeProps.put(BUNDLE_SYMBOLICNAME.toString(), symbolicName); - } - - String repoStr = mergeProps.containsKey(SLC_ORIGIN_M2_REPO.toString()) - ? mergeProps.getProperty(SLC_ORIGIN_M2_REPO.toString()) - : null; - - // download - URL url = M2ConventionsUtils.mavenRepoUrl(repoStr, artifact); - Path downloaded = download(url, originBase, artifact); - - Path targetBundleDir = processBndJar(downloaded, targetCategoryBase, mergeProps, artifact); -// logger.log(Level.DEBUG, () -> "Processed " + downloaded); - - // sources - downloadAndProcessM2Sources(repoStr, artifact, targetBundleDir); - - createJar(targetBundleDir); - } - } catch (IOException e) { - throw new RuntimeException("Cannot process " + duDir, e); - } - - } - - /** Merge multiple Maven artifacts. */ - protected void mergeM2Artifacts(Path mergeBnd) throws IOException { - Path duDir = mergeBnd.getParent(); - String category = duDir.getParent().getFileName().toString(); - Path targetCategoryBase = a2Base.resolve(category); - - Properties mergeProps = new Properties(); - try (InputStream in = Files.newInputStream(mergeBnd)) { - mergeProps.load(in); - } - - // Version - String m2Version = mergeProps.getProperty(SLC_ORIGIN_M2.toString()); - if (m2Version == null) { - logger.log(Level.WARNING, "Ignoring " + duDir + " as it is not an M2-based distribution unit"); - return;// ignore, this is probably an Eclipse archive - } - if (!m2Version.startsWith(":")) { - throw new IllegalStateException("Only the M2 version can be specified: " + m2Version); - } - m2Version = m2Version.substring(1); - mergeProps.put(ManifestConstants.BUNDLE_VERSION.toString(), m2Version); - - String artifactsStr = mergeProps.getProperty(ManifestConstants.SLC_ORIGIN_M2_MERGE.toString()); - String repoStr = mergeProps.containsKey(SLC_ORIGIN_M2_REPO.toString()) - ? mergeProps.getProperty(SLC_ORIGIN_M2_REPO.toString()) - : null; - - String bundleSymbolicName = mergeProps.getProperty(ManifestConstants.BUNDLE_SYMBOLICNAME.toString()); - if (bundleSymbolicName == null) - throw new IllegalArgumentException("Bundle-SymbolicName must be set in " + mergeBnd); - CategoryNameVersion nameVersion = new M2Artifact(category + ":" + bundleSymbolicName + ":" + m2Version); - Path targetBundleDir = targetCategoryBase.resolve(bundleSymbolicName + "." + nameVersion.getBranch()); - - String[] artifacts = artifactsStr.split(","); - artifacts: for (String str : artifacts) { - String m2Coordinates = str.trim(); - if ("".equals(m2Coordinates)) - continue artifacts; - M2Artifact artifact = new M2Artifact(m2Coordinates.trim()); - if (artifact.getVersion() == null) - artifact.setVersion(m2Version); - URL url = M2ConventionsUtils.mavenRepoUrl(repoStr, artifact); - Path downloaded = download(url, originBase, artifact); - JarEntry entry; - try (JarInputStream jarIn = new JarInputStream(Files.newInputStream(downloaded), false)) { - entries: while ((entry = jarIn.getNextJarEntry()) != null) { - if (entry.isDirectory()) - continue entries; - else if (entry.getName().endsWith(".RSA") || entry.getName().endsWith(".SF")) - continue entries; - else if (entry.getName().startsWith("META-INF/versions/")) - continue entries; - else if (entry.getName().startsWith("META-INF/maven/")) - continue entries; - else if (entry.getName().equals("module-info.class")) - continue entries; - else if (entry.getName().equals("META-INF/NOTICE")) - continue entries; - else if (entry.getName().equals("META-INF/NOTICE.txt")) - continue entries; - else if (entry.getName().equals("META-INF/LICENSE")) - continue entries; - else if (entry.getName().equals("META-INF/LICENSE.md")) - continue entries; - else if (entry.getName().equals("META-INF/LICENSE-notice.md")) - continue entries; - else if (entry.getName().equals("META-INF/DEPENDENCIES")) - continue entries; - if (entry.getName().startsWith(".cache/")) // Apache SSHD - continue entries; - Path target = targetBundleDir.resolve(entry.getName()); - Files.createDirectories(target.getParent()); - if (!Files.exists(target)) { - Files.copy(jarIn, target); - } else { - if (entry.getName().startsWith("META-INF/services/")) { - try (OutputStream out = Files.newOutputStream(target, StandardOpenOption.APPEND)) { - out.write("\n".getBytes()); - jarIn.transferTo(out); - if (logger.isLoggable(DEBUG)) - logger.log(DEBUG, artifact.getArtifactId() + " - Appended " + entry.getName()); - } - } else if (entry.getName().startsWith("org/apache/batik/")) { - logger.log(Level.WARNING, "Skip " + entry.getName()); - continue entries; - } else { - throw new IllegalStateException("File " + target + " from " + artifact + " already exists"); - } - } - logger.log(Level.TRACE, () -> "Copied " + target); - } - - } - downloadAndProcessM2Sources(repoStr, artifact, targetBundleDir); - } - - // additional service files - Path servicesDir = duDir.resolve("services"); - if (Files.exists(servicesDir)) { - for (Path p : Files.newDirectoryStream(servicesDir)) { - Path target = targetBundleDir.resolve("META-INF/services/").resolve(p.getFileName()); - try (InputStream in = Files.newInputStream(p); - OutputStream out = Files.newOutputStream(target, StandardOpenOption.APPEND);) { - out.write("\n".getBytes()); - in.transferTo(out); - if (logger.isLoggable(DEBUG)) - logger.log(DEBUG, "Appended " + p); - } - } - } - - Map entries = new TreeMap<>(); - try (Analyzer bndAnalyzer = new Analyzer()) { - bndAnalyzer.setProperties(mergeProps); - Jar jar = new Jar(targetBundleDir.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; - } - 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 - entries.put(key.toString(), value.toString()); - // logger.log(DEBUG, () -> key + "=" + value); - - } - } catch (Exception e) { - throw new RuntimeException("Cannot process " + mergeBnd, e); - } - - Manifest manifest = new Manifest(); - Path manifestPath = targetBundleDir.resolve("META-INF/MANIFEST.MF"); - Files.createDirectories(manifestPath.getParent()); - for (String key : entries.keySet()) { - String value = entries.get(key); - manifest.getMainAttributes().putValue(key, value); - } - - try (OutputStream out = Files.newOutputStream(manifestPath)) { - manifest.write(out); - } - createJar(targetBundleDir); - } - - /** Generate MANIFEST using BND. */ - protected Path processBndJar(Path downloaded, Path targetCategoryBase, Properties fileProps, M2Artifact artifact) { - - try { - Map additionalEntries = new TreeMap<>(); - boolean doNotModify = Boolean.parseBoolean(fileProps - .getOrDefault(ManifestConstants.SLC_ORIGIN_MANIFEST_NOT_MODIFIED.toString(), "false").toString()); - - // we always force the symbolic name - - 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 { - if (artifact != null) { - if (!fileProps.containsKey(BUNDLE_SYMBOLICNAME.toString())) { - fileProps.put(BUNDLE_SYMBOLICNAME.toString(), artifact.getName()); - } - if (!fileProps.containsKey(BUNDLE_VERSION.toString())) { - fileProps.put(BUNDLE_VERSION.toString(), artifact.getVersion()); - } - } - - if (!fileProps.containsKey(EXPORT_PACKAGE.toString())) { - fileProps.put(EXPORT_PACKAGE.toString(), - "*;version=\"" + fileProps.getProperty(BUNDLE_VERSION.toString()) + "\""); - } - - 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; - } - 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); - - } - } - } - 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); - } - - } - - /** Download and integrates sources for a single Maven artifact. */ - protected void downloadAndProcessM2Sources(String repoStr, M2Artifact artifact, Path targetBundleDir) - throws IOException { - if (!includeSources) - return; - M2Artifact sourcesArtifact = new M2Artifact(artifact.toM2Coordinates(), "sources"); - URL sourcesUrl = M2ConventionsUtils.mavenRepoUrl(repoStr, sourcesArtifact); - Path sourcesDownloaded = download(sourcesUrl, originBase, artifact, true); - processM2SourceJar(sourcesDownloaded, targetBundleDir); - logger.log(Level.TRACE, () -> "Processed source " + sourcesDownloaded); - - } - - /** Integrate sources from a downloaded jar file. */ - 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"); - - // TODO make it less dangerous? - if (Files.exists(targetSourceDir)) { -// deleteDirectory(targetSourceDir); - } else { - Files.createDirectories(targetSourceDir); - } - - // copy entries - JarEntry entry; - entries: while ((entry = jarIn.getNextJarEntry()) != null) { - if (entry.isDirectory()) - continue entries; - if (entry.getName().startsWith("META-INF"))// skip META-INF entries - continue entries; - if (entry.getName().startsWith("module-info.java"))// skip META-INF entries - continue entries; - if (entry.getName().startsWith("/")) // absolute paths - continue entries; - Path target = targetSourceDir.resolve(entry.getName()); - Files.createDirectories(target.getParent()); - if (!Files.exists(target)) { - Files.copy(jarIn, target); - logger.log(Level.TRACE, () -> "Copied source " + target); - } else { - logger.log(Level.WARNING, () -> target + " already exists, skipping..."); - } - } - } - - } - - /** Download a Maven artifact. */ - protected Path download(URL url, Path dir, M2Artifact artifact) throws IOException { - return download(url, dir, artifact, false); - } - - /** Download a Maven artifact. */ - protected Path download(URL url, Path dir, M2Artifact artifact, boolean sources) throws IOException { - return download(url, dir, artifact.getGroupId() + '/' + artifact.getArtifactId() + "-" + artifact.getVersion() - + (sources ? "-sources" : "") + ".jar"); - } - - /* - * ECLIPSE ORIGIN - */ - - /** Process an archive in Eclipse format. */ - public void processEclipseArchive(Path duDir) { - try { - Path categoryRelativePath = descriptorsBase.relativize(duDir.getParent()); - // String category = categoryRelativePath.getFileName().toString(); - Path targetCategoryBase = a2Base.resolve(categoryRelativePath); - Files.createDirectories(targetCategoryBase); - // first delete all directories from previous builds - for (Path dir : Files.newDirectoryStream(targetCategoryBase, (p) -> Files.isDirectory(p))) { - deleteDirectory(dir); - } - - Files.createDirectories(originBase); - - Path commonBnd = duDir.resolve(COMMON_BND); - Properties commonProps = new Properties(); - try (InputStream in = Files.newInputStream(commonBnd)) { - commonProps.load(in); - } - String url = commonProps.getProperty(ManifestConstants.SLC_ORIGIN_URI.toString()); - if (url == null) { - url = uris.getProperty(duDir.getFileName().toString()); - if (url == null) - throw new IllegalStateException("No url available for " + duDir); - commonProps.put(ManifestConstants.SLC_ORIGIN_URI.toString(), url); - } - Path downloaded = tryDownload(url, originBase); - - FileSystem zipFs = FileSystems.newFileSystem(downloaded, (ClassLoader) null); - - // filters - List includeMatchers = new ArrayList<>(); - Properties includes = new Properties(); - try (InputStream in = Files.newInputStream(duDir.resolve("includes.properties"))) { - includes.load(in); - } - for (Object pattern : includes.keySet()) { - PathMatcher pathMatcher = zipFs.getPathMatcher("glob:/" + pattern); - includeMatchers.add(pathMatcher); - } - - List excludeMatchers = new ArrayList<>(); - Path excludeFile = duDir.resolve("excludes.properties"); - if (Files.exists(excludeFile)) { - Properties excludes = new Properties(); - try (InputStream in = Files.newInputStream(excludeFile)) { - excludes.load(in); - } - for (Object pattern : excludes.keySet()) { - PathMatcher pathMatcher = zipFs.getPathMatcher("glob:/" + pattern); - excludeMatchers.add(pathMatcher); - } - } - - Files.walkFileTree(zipFs.getRootDirectories().iterator().next(), new SimpleFileVisitor() { - - @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - includeMatchers: for (PathMatcher includeMatcher : includeMatchers) { - if (includeMatcher.matches(file)) { - for (PathMatcher excludeMatcher : excludeMatchers) { - if (excludeMatcher.matches(file)) { - logger.log(Level.WARNING, "Skipping excluded " + file); - return FileVisitResult.CONTINUE; - } - } - if (includeSources && file.getFileName().toString().contains(".source_")) { - processEclipseSourceJar(file, targetCategoryBase); - logger.log(Level.DEBUG, () -> "Processed source " + file); - - } else { - Map map = new HashMap<>(); - for (Object key : commonProps.keySet()) - map.put(key.toString(), commonProps.getProperty(key.toString())); - processBundleJar(file, targetCategoryBase, map); - logger.log(Level.DEBUG, () -> "Processed " + file); - } - break includeMatchers; - } - } - return FileVisitResult.CONTINUE; - } - }); - - DirectoryStream dirs = Files.newDirectoryStream(targetCategoryBase, - (p) -> Files.isDirectory(p) && p.getFileName().toString().indexOf('.') >= 0); - for (Path dir : dirs) { - createJar(dir); - } - } catch (IOException e) { - throw new RuntimeException("Cannot process " + duDir, e); - } - - } - - /** Process sources in Eclipse format. */ - protected void processEclipseSourceJar(Path file, Path targetBase) throws IOException { - try { - Path targetBundleDir; - try (JarInputStream jarIn = new JarInputStream(Files.newInputStream(file), false)) { - Manifest manifest = jarIn.getManifest(); - - String[] relatedBundle = manifest.getMainAttributes().getValue("Eclipse-SourceBundle").split(";"); - String version = relatedBundle[1].substring("version=\"".length()); - version = version.substring(0, version.length() - 1); - NameVersion nameVersion = new NameVersion(relatedBundle[0], version); - targetBundleDir = targetBase.resolve(nameVersion.getName() + "." + nameVersion.getBranch()); - - Path targetSourceDir = targetBundleDir.resolve("OSGI-OPT/src"); - - // TODO make it less dangerous? - if (Files.exists(targetSourceDir)) { -// deleteDirectory(targetSourceDir); - } else { - Files.createDirectories(targetSourceDir); - } - - // copy entries - JarEntry entry; - entries: while ((entry = jarIn.getNextJarEntry()) != null) { - if (entry.isDirectory()) - continue entries; - if (entry.getName().startsWith("META-INF"))// skip META-INF entries - continue entries; - Path target = targetSourceDir.resolve(entry.getName()); - Files.createDirectories(target.getParent()); - Files.copy(jarIn, target); - logger.log(Level.TRACE, () -> "Copied source " + target); - } - - // copy MANIFEST - } - } catch (IOException e) { - throw new IllegalStateException("Cannot process " + file, e); - } - - } - - /* - * COMMON PROCESSING - */ - /** Normalise a bundle. */ - 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 sourceManifest = jarIn.getManifest(); - Manifest manifest = sourceManifest != null ? new Manifest(sourceManifest) : new Manifest(); - - // remove problematic entries in MANIFEST - manifest.getEntries().clear(); - - String ourSymbolicName = entries.get(BUNDLE_SYMBOLICNAME.toString()); - String ourVersion = entries.get(BUNDLE_VERSION.toString()); - - if (ourSymbolicName != null && ourVersion != null) { - nameVersion = new NameVersion(ourSymbolicName, ourVersion); - } else { - nameVersion = nameVersionFromManifest(manifest); - if (ourVersion != null && !nameVersion.getVersion().equals(ourVersion)) { - logger.log(Level.WARNING, - "Original version is " + nameVersion.getVersion() + " while new version is " + ourVersion); - entries.put(BUNDLE_VERSION.toString(), ourVersion); - } - if (ourSymbolicName != null) { - // we always force our symbolic name - nameVersion.setName(ourSymbolicName); - } - } - targetBundleDir = targetBase.resolve(nameVersion.getName() + "." + nameVersion.getBranch()); - - // force Java 9 module name - entries.put(ManifestConstants.AUTOMATIC_MODULE_NAME.toString(), nameVersion.getName()); - - boolean isNative = false; - String os = null; - String arch = null; - if (targetBundleDir.startsWith(a2LibBase)) { - isNative = true; - Path libRelativePath = a2LibBase.relativize(targetBundleDir); - os = libRelativePath.getName(0).toString(); - arch = libRelativePath.getName(1).toString(); - } - - // copy entries - JarEntry entry; - entries: while ((entry = jarIn.getNextJarEntry()) != null) { - if (entry.isDirectory()) - continue entries; - if (entry.getName().endsWith(".RSA") || entry.getName().endsWith(".SF")) - continue entries; - if (entry.getName().endsWith("module-info.class")) // skip Java 9 module info - continue entries; - if (entry.getName().startsWith("META-INF/versions/")) // skip multi-version - continue entries; - // skip file system providers as they cause issues with native image - if (entry.getName().startsWith("META-INF/services/java.nio.file.spi.FileSystemProvider")) - continue entries; - if (entry.getName().startsWith("OSGI-OPT/src/")) // skip embedded sources - continue entries; - Path target = targetBundleDir.resolve(entry.getName()); - Files.createDirectories(target.getParent()); - Files.copy(jarIn, target); - - // native libraries - if (isNative && (entry.getName().endsWith(".so") || entry.getName().endsWith(".dll") - || entry.getName().endsWith(".jnilib"))) { - Path categoryDir = targetBundleDir.getParent(); -// String[] segments = categoryDir.getFileName().toString().split("\\."); -// String arch = segments[segments.length - 1]; -// String os = segments[segments.length - 2]; - boolean copyDll = false; - Path targetDll = categoryDir.resolve(targetBundleDir.relativize(target)); - if (nameVersion.getName().equals("com.sun.jna")) { - if (arch.equals("x86_64")) - arch = "x86-64"; - if (os.equals("macosx")) - os = "darwin"; - if (target.getParent().getFileName().toString().equals(os + "-" + arch)) { - copyDll = true; - } - targetDll = categoryDir.resolve(target.getFileName()); - } else { - copyDll = true; - } - if (copyDll) { - Files.createDirectories(targetDll.getParent()); - if (Files.exists(targetDll)) - Files.delete(targetDll); - Files.copy(target, targetDll); - } - Files.delete(target); - } - logger.log(Level.TRACE, () -> "Copied " + target); - } - - // copy MANIFEST - Path manifestPath = targetBundleDir.resolve("META-INF/MANIFEST.MF"); - Files.createDirectories(manifestPath.getParent()); - for (String key : entries.keySet()) { - String value = entries.get(key); - Object previousValue = manifest.getMainAttributes().putValue(key, value); - if (previousValue != null && !previousValue.equals(value)) { - if (ManifestConstants.IMPORT_PACKAGE.toString().equals(key) - || ManifestConstants.EXPORT_PACKAGE.toString().equals(key)) - logger.log(Level.TRACE, file.getFileName() + ": " + key + " was modified"); - else - logger.log(Level.WARNING, file.getFileName() + ": " + key + " was " + previousValue - + ", overridden with " + value); - } - - // hack to remove unresolvable - if (key.equals("Provide-Capability") || key.equals("Require-Capability")) - if (nameVersion.getName().equals("osgi.core") || nameVersion.getName().equals("osgi.cmpn")) { - manifest.getMainAttributes().remove(key); - } - } - try (OutputStream out = Files.newOutputStream(manifestPath)) { - manifest.write(out); - } - } - return targetBundleDir; - } - - /* - * UTILITIES - */ - - /** Recursively deletes a directory. */ - private static void deleteDirectory(Path path) throws IOException { - if (!Files.exists(path)) - return; - Files.walkFileTree(path, new SimpleFileVisitor() { - @Override - public FileVisitResult postVisitDirectory(Path directory, IOException e) throws IOException { - if (e != null) - throw e; - Files.delete(directory); - return FileVisitResult.CONTINUE; - } - - @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - Files.delete(file); - return FileVisitResult.CONTINUE; - } - }); - } - - /** Extract name/version from a MANIFEST. */ - protected NameVersion nameVersionFromManifest(Manifest manifest) { - 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]; - - String version = attrs.getValue(ManifestConstants.BUNDLE_VERSION.toString()); - return new NameVersion(symbolicName, version); - } - - /** Try to download from an URI. */ - protected Path tryDownload(String uri, Path dir) throws IOException { - // find mirror - List urlBases = null; - String uriPrefix = null; - uriPrefixes: for (String uriPref : mirrors.keySet()) { - if (uri.startsWith(uriPref)) { - if (mirrors.get(uriPref).size() > 0) { - urlBases = mirrors.get(uriPref); - uriPrefix = uriPref; - break uriPrefixes; - } - } - } - if (urlBases == null) - try { - return download(new URL(uri), dir); - } catch (FileNotFoundException e) { - throw new FileNotFoundException("Cannot find " + uri); - } - - // try to download - for (String urlBase : urlBases) { - String relativePath = uri.substring(uriPrefix.length()); - URL url = new URL(urlBase + relativePath); - try { - return download(url, dir); - } catch (FileNotFoundException e) { - logger.log(Level.WARNING, "Cannot download " + url + ", trying another mirror"); - } - } - throw new FileNotFoundException("Cannot find " + uri); - } - - /** Effectively download. */ - protected Path download(URL url, Path dir) throws IOException { - return download(url, dir, (String) null); - } - - /** Effectively download. */ - protected Path download(URL url, Path dir, String name) throws IOException { - - Path dest; - if (name == null) { - name = url.getPath().substring(url.getPath().lastIndexOf('/') + 1); - } - - dest = dir.resolve(name); - if (Files.exists(dest)) { - logger.log(Level.TRACE, () -> "File " + dest + " already exists for " + url + ", not downloading again"); - return dest; - } else { - Files.createDirectories(dest.getParent()); - } - - try (InputStream in = url.openStream()) { - Files.copy(in, dest); - logger.log(Level.DEBUG, () -> "Downloaded " + dest + " from " + url); - } - return dest; - } - - /** Create a JAR file from a directory. */ - protected Path createJar(Path bundleDir) throws IOException { - // Create the jar - Path jarPath = bundleDir.getParent().resolve(bundleDir.getFileName() + ".jar"); - Path manifestPath = bundleDir.resolve("META-INF/MANIFEST.MF"); - Manifest manifest; - try (InputStream in = Files.newInputStream(manifestPath)) { - manifest = new Manifest(in); - } - try (JarOutputStream jarOut = new JarOutputStream(Files.newOutputStream(jarPath), manifest)) { - jarOut.setLevel(Deflater.DEFAULT_COMPRESSION); - Files.walkFileTree(bundleDir, new SimpleFileVisitor() { - - @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - if (file.getFileName().toString().equals("MANIFEST.MF")) - return super.visitFile(file, attrs); - JarEntry entry = new JarEntry(bundleDir.relativize(file).toString()); - jarOut.putNextEntry(entry); - Files.copy(file, jarOut); - return super.visitFile(file, attrs); - } - - }); - } - deleteDirectory(bundleDir); - return jarPath; - } - - enum ManifestConstants { - // OSGi - BUNDLE_SYMBOLICNAME("Bundle-SymbolicName"), // - BUNDLE_VERSION("Bundle-Version"), // - BUNDLE_LICENSE("Bundle-License"), // - EXPORT_PACKAGE("Export-Package"), // - IMPORT_PACKAGE("Import-Package"), // - // JAVA - AUTOMATIC_MODULE_NAME("Automatic-Module-Name"), // - // SLC - SLC_CATEGORY("SLC-Category"), // - SLC_ORIGIN_M2("SLC-Origin-M2"), // - SLC_ORIGIN_M2_MERGE("SLC-Origin-M2-Merge"), // - SLC_ORIGIN_M2_REPO("SLC-Origin-M2-Repo"), // - SLC_ORIGIN_MANIFEST_NOT_MODIFIED("SLC-Origin-ManifestNotModified"), // - SLC_ORIGIN_URI("SLC-Origin-URI"),// - ; - - final String value; - - private ManifestConstants(String value) { - this.value = value; - } - - @Override - public String toString() { - return value; - } - - } - -} - -/** Simple representation of an M2 artifact. */ -class M2Artifact extends CategoryNameVersion { - private String classifier; - - M2Artifact(String m2coordinates) { - this(m2coordinates, null); - } - - M2Artifact(String m2coordinates, String classifier) { - String[] parts = m2coordinates.split(":"); - setCategory(parts[0]); - setName(parts[1]); - if (parts.length > 2) { - setVersion(parts[2]); - } - this.classifier = classifier; - } - - String getGroupId() { - return super.getCategory(); - } - - String getArtifactId() { - return super.getName(); - } - - String toM2Coordinates() { - return getCategory() + ":" + getName() + (getVersion() != null ? ":" + getVersion() : ""); - } - - String getClassifier() { - return classifier != null ? classifier : ""; - } - - String getExtension() { - return "jar"; - } -} - -/** Utilities around Maven (conventions based). */ -class M2ConventionsUtils { - final static String MAVEN_CENTRAL_BASE_URL = "https://repo1.maven.org/maven2/"; - - /** The file name of this artifact when stored */ - static String artifactFileName(M2Artifact artifact) { - return artifact.getArtifactId() + '-' + artifact.getVersion() - + (artifact.getClassifier().equals("") ? "" : '-' + artifact.getClassifier()) + '.' - + artifact.getExtension(); - } - - /** Absolute path to the file */ - static String artifactPath(String artifactBasePath, M2Artifact artifact) { - return artifactParentPath(artifactBasePath, artifact) + '/' + artifactFileName(artifact); - } - - /** Absolute path to the file */ - static String artifactUrl(String repoUrl, M2Artifact artifact) { - if (repoUrl.endsWith("/")) - return repoUrl + artifactPath("/", artifact).substring(1); - else - return repoUrl + artifactPath("/", artifact); - } - - /** Absolute path to the file */ - static URL mavenRepoUrl(String repoBase, M2Artifact artifact) { - String url = artifactUrl(repoBase == null ? MAVEN_CENTRAL_BASE_URL : repoBase, artifact); - try { - return new URL(url); - } catch (MalformedURLException e) { - // it should not happen - throw new IllegalStateException(e); - } - } - - /** Absolute path to the directories where the files will be stored */ - static String artifactParentPath(String artifactBasePath, M2Artifact artifact) { - return artifactBasePath + (artifactBasePath.endsWith("/") ? "" : "/") + artifactParentPath(artifact); - } - - /** Relative path to the directories where the files will be stored */ - static String artifactParentPath(M2Artifact artifact) { - return artifact.getGroupId().replace('.', '/') + '/' + artifact.getArtifactId() + '/' + artifact.getVersion(); - } - - /** Singleton */ - private M2ConventionsUtils() { - } -} - -class CategoryNameVersion extends NameVersion { - private String category; - - CategoryNameVersion() { - } - - CategoryNameVersion(String category, String name, String version) { - super(name, version); - this.category = category; - } - - CategoryNameVersion(String category, NameVersion nameVersion) { - super(nameVersion); - this.category = category; - } - - String getCategory() { - return category; - } - - void setCategory(String category) { - this.category = category; - } - - @Override - public String toString() { - return category + ":" + super.toString(); - } - -} - -class NameVersion implements Comparable { - private String name; - private String version; - - NameVersion() { - } - - /** Interprets string in OSGi-like format my.module.name;version=0.0.0 */ - NameVersion(String nameVersion) { - int index = nameVersion.indexOf(";version="); - if (index < 0) { - setName(nameVersion); - setVersion(null); - } else { - setName(nameVersion.substring(0, index)); - setVersion(nameVersion.substring(index + ";version=".length())); - } - } - - NameVersion(String name, String version) { - this.name = name; - this.version = version; - } - - NameVersion(NameVersion nameVersion) { - this.name = nameVersion.getName(); - this.version = nameVersion.getVersion(); - } - - String getName() { - return name; - } - - void setName(String name) { - this.name = name; - } - - String getVersion() { - return version; - } - - void setVersion(String version) { - this.version = version; - } - - String getBranch() { - String[] parts = getVersion().split("\\."); - if (parts.length < 2) - throw new IllegalStateException("Version " + getVersion() + " cannot be interpreted as branch."); - return parts[0] + "." + parts[1]; - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof NameVersion) { - NameVersion nameVersion = (NameVersion) obj; - return name.equals(nameVersion.getName()) && version.equals(nameVersion.getVersion()); - } else - return false; - } - - @Override - public int hashCode() { - return name.hashCode(); - } - - @Override - public String toString() { - return name + ":" + version; - } - - public int compareTo(NameVersion o) { - if (o.getName().equals(name)) - return version.compareTo(o.getVersion()); - else - return name.compareTo(o.getName()); - } -} diff --git a/repackage/org.argeo.tp.gis/geotools/merge.bnd b/repackage/org.argeo.tp.gis/geotools/merge.bnd index c8c4215..77156e1 100644 --- a/repackage/org.argeo.tp.gis/geotools/merge.bnd +++ b/repackage/org.argeo.tp.gis/geotools/merge.bnd @@ -1,6 +1,6 @@ Bundle-License: LGPL-2.1-only Bundle-SymbolicName: org.geotools -SLC-Origin-M2: :27.1 +SLC-Origin-M2: :27.2 SLC-Origin-M2-Repo: https://repo.osgeo.org/repository/release/ Export-Package: org.geotools.*, org.opengis.*, net.opengis.*, org.w3.xlink.* Import-Package: \ diff --git a/repackage/org.argeo.tp.gis/org.json.simple.bnd.retired b/repackage/org.argeo.tp.gis/org.json.simple.bnd.retired deleted file mode 100644 index 71ce052..0000000 --- a/repackage/org.argeo.tp.gis/org.json.simple.bnd.retired +++ /dev/null @@ -1,2 +0,0 @@ -Bundle-license: Apache-2.0 -SLC-Origin-M2: com.googlecode.json-simple:json-simple:1.1.1 \ No newline at end of file diff --git a/repackage/org.argeo.tp.gis/org.locationtech.jts.bnd b/repackage/org.argeo.tp.gis/org.locationtech.jts.bnd index 8e2e958..cdf0a19 100644 --- a/repackage/org.argeo.tp.gis/org.locationtech.jts.bnd +++ b/repackage/org.argeo.tp.gis/org.locationtech.jts.bnd @@ -1,2 +1,2 @@ Bundle-License: BSD-3-Clause -SLC-Origin-M2: org.locationtech.jts:jts-core:1.18.2 \ No newline at end of file +SLC-Origin-M2: org.locationtech.jts:jts-core:1.19.0 \ No newline at end of file diff --git a/repackage/org.argeo.tp.gis/units/merge.bnd b/repackage/org.argeo.tp.gis/units/merge.bnd index 75ecae1..b9bcadd 100644 --- a/repackage/org.argeo.tp.gis/units/merge.bnd +++ b/repackage/org.argeo.tp.gis/units/merge.bnd @@ -8,7 +8,7 @@ SLC-Origin-M2-Merge: \ javax.measure:unit-api:2.0, \ tech.units:indriya, \ tech.uom.lib:uom-lib-common:2.0.1, \ -si.uom:si-units:2.0, \ +si.uom:si-units:2.0.1, \ si.uom:si-quantity:2.0.1, \ systems.uom:systems-common:2.0.2, \ systems.uom:systems-quantity:2.0.2, \ diff --git a/repackage/org.argeo.tp.jcr/com.google.guava.bnd.retired b/repackage/org.argeo.tp.jcr/com.google.guava.bnd.retired deleted file mode 100644 index a8a926f..0000000 --- a/repackage/org.argeo.tp.jcr/com.google.guava.bnd.retired +++ /dev/null @@ -1,5 +0,0 @@ -Bundle-License: Apache-2.0 -Bundle-SymbolicName: com.google.guava -Bundle-Version: 27.1.0.jre -SLC-Origin-M2: com.google.guava:guava:27.1-jre -SLC-Origin-ManifestNotModified: true diff --git a/repackage/org.argeo.tp.jcr/com.google.guava.failureaccess.bnd.retired b/repackage/org.argeo.tp.jcr/com.google.guava.failureaccess.bnd.retired deleted file mode 100644 index e7c19ce..0000000 --- a/repackage/org.argeo.tp.jcr/com.google.guava.failureaccess.bnd.retired +++ /dev/null @@ -1,4 +0,0 @@ -Bundle-License: Apache-2.0 -Bundle-SymbolicName: com.google.guava.failureaccess -SLC-Origin-M2: com.google.guava:failureaccess:1.0.1 -SLC-Origin-ManifestNotModified: true diff --git a/repackage/org.argeo.tp.jcr/jackrabbit/common.bnd b/repackage/org.argeo.tp.jcr/jackrabbit/common.bnd index c2bda37..5d259b2 100644 --- a/repackage/org.argeo.tp.jcr/jackrabbit/common.bnd +++ b/repackage/org.argeo.tp.jcr/jackrabbit/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :2.20.5 \ No newline at end of file +SLC-Origin-M2: :2.20.6 \ No newline at end of file diff --git a/repackage/org.argeo.tp.jcr/jackrabbit/org.apache.jackrabbit.api.bnd.retired b/repackage/org.argeo.tp.jcr/jackrabbit/org.apache.jackrabbit.api.bnd.retired deleted file mode 100644 index 6ebc779..0000000 --- a/repackage/org.argeo.tp.jcr/jackrabbit/org.apache.jackrabbit.api.bnd.retired +++ /dev/null @@ -1,3 +0,0 @@ -SLC-Origin-M2: org.apache.jackrabbit:jackrabbit-api -Bundle-SymbolicName: org.apache.jackrabbit.api -Export-Package: org.apache.jackrabbit.* diff --git a/repackage/org.argeo.tp.jcr/oak/common.bnd b/repackage/org.argeo.tp.jcr/oak/common.bnd index 02fa45a..02eafb7 100644 --- a/repackage/org.argeo.tp.jcr/oak/common.bnd +++ b/repackage/org.argeo.tp.jcr/oak/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :1.42.0 \ No newline at end of file +SLC-Origin-M2: :1.44.0 \ No newline at end of file diff --git a/repackage/org.argeo.tp.jetty/jetty-websocket/merge.bnd b/repackage/org.argeo.tp.jetty/jetty-websocket/merge.bnd index 6569242..abaada7 100644 --- a/repackage/org.argeo.tp.jetty/jetty-websocket/merge.bnd +++ b/repackage/org.argeo.tp.jetty/jetty-websocket/merge.bnd @@ -1,6 +1,6 @@ Bundle-SymbolicName: org.eclipse.jetty.websocket Bundle-License: Apache-2.0 -SLC-Origin-M2: :10.0.11 +SLC-Origin-M2: :10.0.12 SLC-Origin-M2-Merge: \ org.eclipse.jetty.websocket:websocket-core-client, \ org.eclipse.jetty.websocket:websocket-core-common, \ diff --git a/repackage/org.argeo.tp.jetty/jetty/common.bnd b/repackage/org.argeo.tp.jetty/jetty/common.bnd index 6ad2b20..27fd8a9 100644 --- a/repackage/org.argeo.tp.jetty/jetty/common.bnd +++ b/repackage/org.argeo.tp.jetty/jetty/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :10.0.11 +SLC-Origin-M2: :10.0.12 diff --git a/repackage/org.argeo.tp.poi/log4j/common.bnd b/repackage/org.argeo.tp.poi/log4j/common.bnd new file mode 100644 index 0000000..f9e517b --- /dev/null +++ b/repackage/org.argeo.tp.poi/log4j/common.bnd @@ -0,0 +1,2 @@ +Bundle-License: Apache-2.0 +SLC-Origin-M2: :2.19.0 diff --git a/repackage/org.argeo.tp.poi/log4j/org.apache.logging.log4j.api.bnd b/repackage/org.argeo.tp.poi/log4j/org.apache.logging.log4j.api.bnd new file mode 100644 index 0000000..c29a8e4 --- /dev/null +++ b/repackage/org.argeo.tp.poi/log4j/org.apache.logging.log4j.api.bnd @@ -0,0 +1,3 @@ +SLC-Origin-M2: org.apache.logging.log4j:log4j-api +Bundle-ActivationPolicy: lazy +Import-Package: *;resolution:=optional diff --git a/repackage/org.argeo.tp.poi/org.apache.xmlbeans.bnd b/repackage/org.argeo.tp.poi/org.apache.xmlbeans.bnd index 83d6d31..8905324 100644 --- a/repackage/org.argeo.tp.poi/org.apache.xmlbeans.bnd +++ b/repackage/org.argeo.tp.poi/org.apache.xmlbeans.bnd @@ -5,4 +5,4 @@ Import-Package: org.apache.tools.ant.*;resolution:=optional, net.sf.saxon.*;resolution:=optional, com.sun.*;resolution:=optional, * -SLC-Origin-M2: org.apache.xmlbeans:xmlbeans:3.1.0 \ No newline at end of file +SLC-Origin-M2: org.apache.xmlbeans:xmlbeans:5.1.1 \ No newline at end of file diff --git a/repackage/org.argeo.tp.poi/poi/common.bnd b/repackage/org.argeo.tp.poi/poi/common.bnd index b3e3996..b2394bd 100644 --- a/repackage/org.argeo.tp.poi/poi/common.bnd +++ b/repackage/org.argeo.tp.poi/poi/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :5.2.2 \ No newline at end of file +SLC-Origin-M2: :5.2.3 \ No newline at end of file diff --git a/repackage/org.argeo.tp.sdk/junit-jupiter/merge.bnd b/repackage/org.argeo.tp.sdk/junit-jupiter/merge.bnd index 312584e..6eaa07c 100644 --- a/repackage/org.argeo.tp.sdk/junit-jupiter/merge.bnd +++ b/repackage/org.argeo.tp.sdk/junit-jupiter/merge.bnd @@ -1,6 +1,6 @@ Bundle-License: EPL-2.0 Bundle-SymbolicName: org.junit.jupiter -SLC-Origin-M2: :5.8.2 +SLC-Origin-M2: :5.9.1 SLC-Origin-M2-Merge: \ org.junit.jupiter:junit-jupiter-api, \ org.junit.jupiter:junit-jupiter-engine, \ diff --git a/repackage/org.argeo.tp.sdk/junit-platform/merge.bnd b/repackage/org.argeo.tp.sdk/junit-platform/merge.bnd index 502ffa6..110a32e 100644 --- a/repackage/org.argeo.tp.sdk/junit-platform/merge.bnd +++ b/repackage/org.argeo.tp.sdk/junit-platform/merge.bnd @@ -1,6 +1,6 @@ Bundle-License: EPL-2.0 Bundle-SymbolicName: org.junit.platform -SLC-Origin-M2: :1.8.2 +SLC-Origin-M2: :1.9.1 SLC-Origin-M2-Merge: \ org.junit.platform:junit-platform-commons, \ org.junit.platform:junit-platform-console, \ diff --git a/repackage/org.argeo.tp.sdk/org.eclipse.jdt.core.compiler.batch.bnd b/repackage/org.argeo.tp.sdk/org.eclipse.jdt.core.compiler.batch.bnd index 27f4f43..70b5ac0 100644 --- a/repackage/org.argeo.tp.sdk/org.eclipse.jdt.core.compiler.batch.bnd +++ b/repackage/org.argeo.tp.sdk/org.eclipse.jdt.core.compiler.batch.bnd @@ -1,4 +1,4 @@ Bundle-License: EPL-2.0 -SLC-Origin-M2: org.eclipse.jdt:ecj:3.29.0 +SLC-Origin-M2: org.eclipse.jdt:ecj:3.31.0 SLC-Origin-ManifestNotModified: true Main-Class: org.eclipse.jdt.internal.compiler.batch.Main \ No newline at end of file diff --git a/repackage/org.argeo.tp.sdk/org.eclipse.jgit.bnd b/repackage/org.argeo.tp.sdk/org.eclipse.jgit.bnd index c4df6b9..65d1344 100644 --- a/repackage/org.argeo.tp.sdk/org.eclipse.jgit.bnd +++ b/repackage/org.argeo.tp.sdk/org.eclipse.jgit.bnd @@ -1,5 +1,5 @@ Bundle-License: BSD-3-Clause -SLC-Origin-M2: org.eclipse.jgit:org.eclipse.jgit:5.13.0.202109080827-r +SLC-Origin-M2: org.eclipse.jgit:org.eclipse.jgit:6.3.0.202209071007-r Import-Package: \ sun.*;resolution:=optional, \ com.jcraft.jsch;resolution:=optional, \ diff --git a/repackage/org.argeo.tp.sdk/org.graalvm.bnd.retired b/repackage/org.argeo.tp.sdk/org.graalvm.bnd.retired deleted file mode 100644 index dd55db9..0000000 --- a/repackage/org.argeo.tp.sdk/org.graalvm.bnd.retired +++ /dev/null @@ -1,4 +0,0 @@ -Bundle-License: UPL-1.0 -SLC-Origin-M2: org.graalvm.sdk:graal-sdk:22.1.0.1 -# Workaround for errors in Eclipse PDE when using GraalVM as JCM -Import-Package: java.*;resolution:="optional", * \ No newline at end of file diff --git a/repackage/org.argeo.tp.sdk/org.junit.vintage.bnd b/repackage/org.argeo.tp.sdk/org.junit.vintage.bnd index c063891..df674e4 100644 --- a/repackage/org.argeo.tp.sdk/org.junit.vintage.bnd +++ b/repackage/org.argeo.tp.sdk/org.junit.vintage.bnd @@ -1,2 +1,2 @@ Bundle-License: EPL-2.0 -SLC-Origin-M2: org.junit.vintage:junit-vintage-engine:5.8.2 \ No newline at end of file +SLC-Origin-M2: org.junit.vintage:junit-vintage-engine:5.9.1 \ No newline at end of file diff --git a/repackage/org.argeo.tp/bouncycastle/common.bnd b/repackage/org.argeo.tp/bouncycastle/common.bnd index bbd389d..b860aa5 100644 --- a/repackage/org.argeo.tp/bouncycastle/common.bnd +++ b/repackage/org.argeo.tp/bouncycastle/common.bnd @@ -1,2 +1,2 @@ Bundle-License: MIT -SLC-Origin-M2: :1.71 +SLC-Origin-M2: :1.72 diff --git a/repackage/org.argeo.tp/jackson/common.bnd b/repackage/org.argeo.tp/jackson/common.bnd index b9a12cc..a738fc4 100644 --- a/repackage/org.argeo.tp/jackson/common.bnd +++ b/repackage/org.argeo.tp/jackson/common.bnd @@ -1,2 +1,2 @@ Bundle-License: Apache-2.0 -SLC-Origin-M2: :2.13.1 +SLC-Origin-M2: :2.13.4 diff --git a/repackage/org.argeo.tp/jakarta.mail.bnd b/repackage/org.argeo.tp/javax.mail.bnd similarity index 100% rename from repackage/org.argeo.tp/jakarta.mail.bnd rename to repackage/org.argeo.tp/javax.mail.bnd diff --git a/repackage/org.argeo.tp/jakarta.servlet.api.bnd b/repackage/org.argeo.tp/javax.servlet.bnd similarity index 100% rename from repackage/org.argeo.tp/jakarta.servlet.api.bnd rename to repackage/org.argeo.tp/javax.servlet.bnd diff --git a/repackage/org.argeo.tp/org.postgresql.jdbc42.bnd b/repackage/org.argeo.tp/org.postgresql.jdbc42.bnd index 7767b5c..adb6e82 100644 --- a/repackage/org.argeo.tp/org.postgresql.jdbc42.bnd +++ b/repackage/org.argeo.tp/org.postgresql.jdbc42.bnd @@ -1,4 +1,4 @@ Bundle-License: BSD-2-Clause Bundle-SymbolicName: org.postgresql.jdbc42 -SLC-Origin-M2: org.postgresql:postgresql:42.3.5 +SLC-Origin-M2: org.postgresql:postgresql:42.5.0 SLC-Origin-ManifestNotModified: true diff --git a/repackage/org.argeo.tp/slf4j/org.slf4j.api.bnd b/repackage/org.argeo.tp/slf4j/org.slf4j.api.bnd index 75afe68..d034d27 100644 --- a/repackage/org.argeo.tp/slf4j/org.slf4j.api.bnd +++ b/repackage/org.argeo.tp/slf4j/org.slf4j.api.bnd @@ -1,2 +1 @@ -Bundle-SymbolicName: org.slf4j.api SLC-Origin-M2: org.slf4j:slf4j-api diff --git a/repackage/org.argeo.tp/slf4j/org.slf4j.commons.logging.bnd b/repackage/org.argeo.tp/slf4j/org.slf4j.commons.logging.bnd index 9b2ffdb..4e5e7c8 100644 --- a/repackage/org.argeo.tp/slf4j/org.slf4j.commons.logging.bnd +++ b/repackage/org.argeo.tp/slf4j/org.slf4j.commons.logging.bnd @@ -1,3 +1,2 @@ -Bundle-SymbolicName: org.slf4j.commons.logging SLC-Origin-M2: org.slf4j:jcl-over-slf4j Export-Package: org.apache.commons.logging.*;version="1.2" \ No newline at end of file diff --git a/repackage/org.argeo.tp/slf4j/org.slf4j.log4j.bnd.deactivated b/repackage/org.argeo.tp/slf4j/org.slf4j.log4j.bnd.deactivated deleted file mode 100644 index 4275c6a..0000000 --- a/repackage/org.argeo.tp/slf4j/org.slf4j.log4j.bnd.deactivated +++ /dev/null @@ -1,3 +0,0 @@ -Bundle-SymbolicName: org.slf4j.log4j -SLC-Origin-M2: org.slf4j:log4j-over-slf4j -Export-Package: org.apache.logging.log4j.*;version="2.17" \ No newline at end of file diff --git a/sdk/argeo-build b/sdk/argeo-build index 99aca0e..95b3bf3 160000 --- a/sdk/argeo-build +++ b/sdk/argeo-build @@ -1 +1 @@ -Subproject commit 99aca0efea44087a660cfc879bc6037440c3b128 +Subproject commit 95b3bf364da45b0fa0650b1f8e1d976c4effd6b3 -- 2.30.2