Accepting request 1111849 from home:fstrba:branches:Java:packages

6.3.1

OBS-URL: https://build.opensuse.org/request/show/1111849
OBS-URL: https://build.opensuse.org/package/show/Java:packages/aqute-bnd?expand=0&rev=36
This commit is contained in:
Fridrich Strba 2023-09-18 06:12:46 +00:00 committed by Git OBS Bridge
parent bdc5aeea2d
commit 0e3dae4810
23 changed files with 1843 additions and 1097 deletions

View File

@ -1,18 +1,20 @@
diff -Napur bnd-5.1.1.REL.orig/biz.aQute.bnd/src/aQute/bnd/main/bnd.java bnd-5.1.1.REL/biz.aQute.bnd/src/aQute/bnd/main/bnd.java diff --git a/biz.aQute.bnd/src/aQute/bnd/main/bnd.java b/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
--- bnd-5.1.1.REL.orig/biz.aQute.bnd/src/aQute/bnd/main/bnd.java 2020-06-16 23:03:04.000000000 +0200 index a787c32..fc241a2 100644
+++ bnd-5.1.1.REL/biz.aQute.bnd/src/aQute/bnd/main/bnd.java 2021-02-17 12:56:39.434022335 +0100 --- a/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
@@ -104,7 +104,6 @@ import aQute.bnd.osgi.Resource; +++ b/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
@@ -110,7 +110,6 @@ import aQute.bnd.osgi.Resource;
import aQute.bnd.osgi.Verifier; import aQute.bnd.osgi.Verifier;
import aQute.bnd.osgi.eclipse.EclipseClasspath; import aQute.bnd.osgi.eclipse.EclipseClasspath;
import aQute.bnd.print.JarPrinter; import aQute.bnd.print.JarPrinter;
-import aQute.bnd.repository.maven.provider.NexusCommand; -import aQute.bnd.repository.maven.provider.NexusCommand;
import aQute.bnd.result.Result;
import aQute.bnd.service.Actionable; import aQute.bnd.service.Actionable;
import aQute.bnd.service.RepositoryPlugin; import aQute.bnd.service.RepositoryPlugin;
import aQute.bnd.service.action.Action; @@ -3921,54 +3920,6 @@ public class bnd extends Processor {
@@ -3905,54 +3904,6 @@ public class bnd extends Processor { getInfo(profiles);
} }
/** - /**
- * Resolve command - * Resolve command
- * - *
- * @throws Exception - * @throws Exception
@ -60,11 +62,26 @@ diff -Napur bnd-5.1.1.REL.orig/biz.aQute.bnd/src/aQute/bnd/main/bnd.java bnd-5.1
- rc.close(); - rc.close();
- } - }
- -
- /** /**
* Export a bndrun file * Export a bndrun file
*/ */
interface ExportOptions extends ProjectWorkspaceOptions { @@ -4424,15 +4375,6 @@ public class bnd extends Processor {
@@ -4462,24 +4413,6 @@ public class bnd extends Processor { }
}
- @Description("Start an interactive shell")
- public void _shell(Shell.ShellOptions options) throws Exception {
- try (Shell shell = new Shell(this, options)) {
- shell.loop();
- } finally {
- out.println("done");
- }
- }
-
public Workspace getWorkspace() {
return workspace;
}
@@ -4479,24 +4421,6 @@ public class bnd extends Processor {
} }
@ -86,6 +103,6 @@ diff -Napur bnd-5.1.1.REL.orig/biz.aQute.bnd/src/aQute/bnd/main/bnd.java bnd-5.1
- getInfo(c); - getInfo(c);
- } - }
- -
@Description("Generate source code") @Description("Shows the differences between two XML resource repositories")
interface GenerateOptions extends ProjectWorkspaceOptions { public void _xmlrepodiff(XmlRepoDiffOptions options) throws Exception {
try (XmlRepoDiffCommand cmd = new XmlRepoDiffCommand(this)) {

File diff suppressed because it is too large Load Diff

View File

@ -1,116 +0,0 @@
diff -Natur bnd-5.1.1.REL-orig/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/AbstractBndMavenPlugin.java bnd-5.1.1.REL/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/AbstractBndMavenPlugin.java
--- bnd-5.1.1.REL-orig/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/AbstractBndMavenPlugin.java 2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/AbstractBndMavenPlugin.java 2021-10-17 22:35:26.583884078 +0200
@@ -56,7 +56,6 @@
import aQute.bnd.build.Project;
import aQute.bnd.header.OSGiHeader;
-import aQute.bnd.maven.lib.configuration.BeanProperties;
import aQute.bnd.osgi.Builder;
import aQute.bnd.osgi.Constants;
import aQute.bnd.osgi.FileResource;
diff -Natur bnd-5.1.1.REL-orig/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BeanProperties.java bnd-5.1.1.REL/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BeanProperties.java
--- bnd-5.1.1.REL-orig/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BeanProperties.java 1970-01-01 01:00:00.000000000 +0100
+++ bnd-5.1.1.REL/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BeanProperties.java 2021-10-17 22:35:31.151908789 +0200
@@ -0,0 +1,101 @@
+package aQute.bnd.maven.plugin;
+
+import static java.lang.invoke.MethodHandles.publicLookup;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.reflect.Array;
+import java.lang.reflect.Modifier;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class BeanProperties extends Properties {
+ private static final Logger logger = LoggerFactory.getLogger(BeanProperties.class);
+
+ private static final Pattern KEY_P = Pattern
+ .compile("(?<name>[^\\.\\[]+)(?:\\[(?<index>\\d+)\\])?\\.?");
+ private static final long serialVersionUID = 1L;
+
+ protected Properties defaults;
+
+ public BeanProperties() {
+ this(null);
+ }
+
+ public BeanProperties(Properties defaults) {
+ this.defaults = defaults;
+ }
+
+ @Override
+ public String getProperty(String key) {
+ final Matcher m = KEY_P.matcher(key);
+ if (!m.find()) {
+ return defaultValue(key);
+ }
+ String name = m.group("name");
+ Object value = value(name, get(name), m.group("index"));
+ while ((value != null) && m.find()) {
+ name = m.group("name");
+ value = value(name, getField(value, name), m.group("index"));
+ }
+ return (value != null) ? value.toString() : defaultValue(key);
+ }
+
+ private String defaultValue(String key) {
+ return (defaults != null) ? defaults.getProperty(key) : null;
+ }
+
+ private Object getField(Object target, String fieldName) {
+ try {
+ String getterSuffix = Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
+ Class<?> targetClass = target.getClass();
+ while (!Modifier.isPublic(targetClass.getModifiers())) {
+ targetClass = targetClass.getSuperclass();
+ }
+ MethodHandle mh;
+ try {
+ mh = publicLookup().unreflect(targetClass.getMethod("get" + getterSuffix));
+ } catch (NoSuchMethodException nsme) {
+ mh = publicLookup().unreflect(targetClass.getMethod("is" + getterSuffix));
+ }
+ return mh.invoke(target);
+ } catch (Error e) {
+ throw e;
+ } catch (Throwable e) {
+ logger.debug("Could not find getter method for field {}", fieldName, e);
+ }
+ return null;
+ }
+
+ private Object value(String name, Object value, String index) {
+ if ((value == null) || (index == null)) {
+ return value;
+ }
+ try {
+ int i = Integer.parseInt(index);
+ if (value instanceof List) {
+ return ((List<?>) value).get(i);
+ } else if (value instanceof Iterable) {
+ if (i < 0) {
+ throw new IndexOutOfBoundsException("index < 0");
+ }
+ Iterator<?> iter = ((Iterable<?>) value).iterator();
+ for (; i > 0; i--) {
+ iter.next();
+ }
+ return iter.next();
+ } else if (value.getClass()
+ .isArray()) {
+ return Array.get(value, i);
+ }
+ } catch (Exception e) {
+ logger.debug("Could not find field {}[{}]", name, index, e);
+ }
+ return value;
+ }
+}

View File

@ -2,10 +2,8 @@
<service name="tar_scm" mode="disabled"> <service name="tar_scm" mode="disabled">
<param name="scm">git</param> <param name="scm">git</param>
<param name="url">https://github.com/bndtools/bnd.git</param> <param name="url">https://github.com/bndtools/bnd.git</param>
<param name="revision">5.2.0.REL</param> <param name="revision">6.3.1</param>
<param name="match-tag">*.REL</param>
<param name="versionformat">@PARENT_TAG@</param> <param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">(.*).REL</param>
<param name="exclude">gradlew*</param> <param name="exclude">gradlew*</param>
<param name="exclude">docs</param> <param name="exclude">docs</param>
<param name="exclude">**.jar</param> <param name="exclude">**.jar</param>

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>aQute.libg</artifactId> <artifactId>aQute.libg</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<description>A library to be statically linked. Contains many small utilities. This bundle should not be installed in a framework, it is compile only.</description> <description>A library to be statically linked. Contains many small utilities. This bundle should not be installed in a framework, it is compile only.</description>
<name>aQute.libg</name> <name>aQute.libg</name>
<url>https://bnd.bndtools.org/</url> <url>https://bnd.bndtools.org/</url>
@ -23,7 +23,7 @@
<url>https://github.com/bndtools/bnd</url> <url>https://github.com/bndtools/bnd</url>
<connection>scm:git:https://github.com/bndtools/bnd.git</connection> <connection>scm:git:https://github.com/bndtools/bnd.git</connection>
<developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection> <developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection>
<tag>5.2.0.REL</tag> <tag>6.3.1</tag>
</scm> </scm>
<developers> <developers>
<developer> <developer>
@ -41,7 +41,7 @@
<developer> <developer>
<id>bjhargrave</id> <id>bjhargrave</id>
<name>BJ Hargrave</name> <name>BJ Hargrave</name>
<email>bj@bjhargrave.com</email> <email>bj@hargrave.dev</email>
<url>https://github.com/bjhargrave</url> <url>https://github.com/bjhargrave</url>
<organization>IBM</organization> <organization>IBM</organization>
<organizationUrl>https://developer.ibm.com</organizationUrl> <organizationUrl>https://developer.ibm.com</organizationUrl>
@ -67,7 +67,7 @@
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId> <artifactId>osgi.annotation</artifactId>
<version>7.0.0</version> <version>8.1.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -76,22 +76,34 @@
<version>1.7.25</version> <version>1.7.25</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.dto</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.resource</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.framework</artifactId>
<version>1.8.0</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.util.function</artifactId> <artifactId>org.osgi.util.function</artifactId>
<version>1.1.0</version> <version>1.2.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.util.promise</artifactId> <artifactId>org.osgi.util.promise</artifactId>
<version>1.1.1</version> <version>1.2.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
<version>6.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Sep 18 05:23:18 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Update to aqute-bnd 6.3.1
* https://github.com/bndtools/bnd/wiki/Changes-in-6.3.1
* https://github.com/bndtools/bnd/wiki/Changes-in-6.3.0
* https://github.com/bndtools/bnd/wiki/Changes-in-6.2.0
* https://github.com/bndtools/bnd/wiki/Changes-in-6.1.0
* https://github.com/bndtools/bnd/wiki/Changes-in-6.0.0
* https://github.com/bndtools/bnd/wiki/Changes-in-5.3.0
- Modified patches:
* 0001-Disable-removed-commands.patch
* 0003-Port-to-OSGI-7.0.0.patch -> 0002-Port-to-OSGI-7.0.0.patch
* 0004-maven-plugin-dependencies.patch ->
0003-Remove-unmet-dependencies.patch
* reproducible-timestamps.patch
* reproducible-packages-list.patch
+ rediff to changed context
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Sep 16 10:08:36 UTC 2023 - Fridrich Strba <fstrba@suse.com> Sat Sep 16 10:08:36 UTC 2023 - Fridrich Strba <fstrba@suse.com>
@ -5,8 +24,8 @@ Sat Sep 16 10:08:36 UTC 2023 - Fridrich Strba <fstrba@suse.com>
* reproducible-timestamps.patch * reproducible-timestamps.patch
+ set "-reproducible" option to true by default + set "-reproducible" option to true by default
+ use SOURCE_DATE_EPOCH for timestamp if available + use SOURCE_DATE_EPOCH for timestamp if available
* reproducible-element-order.patch * reproducible-packages-list.patch
+ make the order of elements in manifest deterministic + make the order of packages to import/export deterministic
------------------------------------------------------------------- -------------------------------------------------------------------
Thu May 4 14:25:12 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org> Thu May 4 14:25:12 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -17,7 +17,7 @@
Name: aqute-bnd Name: aqute-bnd
Version: 5.2.0 Version: 6.3.1
Release: 0 Release: 0
Summary: BND Tool Summary: BND Tool
# Part of jpm is under BSD, but jpm is not included in binary RPM # Part of jpm is under BSD, but jpm is not included in binary RPM
@ -26,29 +26,29 @@ Group: Development/Libraries/Java
URL: https://bnd.bndtools.org/ URL: https://bnd.bndtools.org/
Source0: bnd-%{version}.tar.xz Source0: bnd-%{version}.tar.xz
Source1: bnd-%{version}-build_xml.tar.xz Source1: bnd-%{version}-build_xml.tar.xz
Source2: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.ant/%{version}/biz.aQute.bnd.ant-%{version}.pom Source2: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.exporters/%{version}/biz.aQute.bnd.exporters-%{version}.pom
Source3: https://repo1.maven.org/maven2/biz/aQute/bnd/aQute.libg/%{version}/aQute.libg-%{version}.pom Source3: https://repo1.maven.org/maven2/biz/aQute/bnd/aQute.libg/%{version}/aQute.libg-%{version}.pom
Source4: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd/%{version}/biz.aQute.bnd-%{version}.pom Source4: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd/%{version}/biz.aQute.bnd-%{version}.pom
Source5: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/%{version}/biz.aQute.bndlib-%{version}.pom Source5: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/%{version}/biz.aQute.bndlib-%{version}.pom
Source6: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.annotation/%{version}/biz.aQute.bnd.annotation-%{version}.pom Source6: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.annotation/%{version}/biz.aQute.bnd.annotation-%{version}.pom
Source7: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.exporters/%{version}/biz.aQute.bnd.exporters-%{version}.pom Source7: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.ant/%{version}/biz.aQute.bnd.ant-%{version}.pom
Patch0: 0001-Disable-removed-commands.patch Source8: https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.util/%{version}/biz.aQute.bnd.util-%{version}.pom
Patch2: 0003-Port-to-OSGI-7.0.0.patch Patch1: 0001-Disable-removed-commands.patch
Patch3: aqute-bnd-java8compat.patch Patch2: 0002-Port-to-OSGI-7.0.0.patch
Patch4: 0004-maven-plugin-dependencies.patch Patch3: 0003-Remove-unmet-dependencies.patch
Patch5: reproducible-timestamps.patch Patch4: reproducible-timestamps.patch
Patch6: reproducible-element-order.patch Patch5: reproducible-packages-list.patch
BuildRequires: ant BuildRequires: ant
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: javapackages-local BuildRequires: javapackages-local >= 6
BuildRequires: jline BuildRequires: jline
BuildRequires: osgi-annotation BuildRequires: osgi-annotation
BuildRequires: osgi-compendium BuildRequires: osgi-compendium
BuildRequires: osgi-core BuildRequires: osgi-core
BuildRequires: slf4j BuildRequires: slf4j
Requires: %{name}lib = %{version}-%{release}
# Explicit javapackages-tools requires since bnd script uses # Explicit javapackages-tools requires since bnd script uses
# /usr/share/java-utils/java-functions # /usr/share/java-utils/java-functions
Requires: %{name}lib = %{version}-%{release}
Requires: javapackages-tools Requires: javapackages-tools
BuildArch: noarch BuildArch: noarch
@ -68,13 +68,6 @@ The tool is capable of acting as:
%package -n aqute-bndlib %package -n aqute-bndlib
Summary: BND library Summary: BND library
Group: Development/Libraries/Java Group: Development/Libraries/Java
Requires: mvn(biz.aQute.bnd:aQute.libg)
Requires: mvn(biz.aQute.bnd:biz.aQute.bnd.annotation)
Requires: mvn(org.osgi:osgi.annotation)
Requires: mvn(org.osgi:osgi.cmpn)
Requires: mvn(org.osgi:osgi.core)
Requires: mvn(org.slf4j:slf4j-api)
Requires: mvn(org.slf4j:slf4j-simple)
%description -n aqute-bndlib %description -n aqute-bndlib
%{summary}. %{summary}.
@ -93,91 +86,102 @@ mkdir -p lib
build-jar-repository -s lib \ build-jar-repository -s lib \
slf4j/api slf4j/simple osgi-annotation osgi-core osgi-compendium ant jline slf4j/api slf4j/simple osgi-annotation osgi-core osgi-compendium ant jline
%patch0 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1
# the commands pull in more dependencies than we want (felix-resolver, jetty, jtwig, javapackager) # the commands pull in more dependencies than we want (felix-resolver, jetty)
rm biz.aQute.bnd/src/aQute/bnd/main/{RemoteCommand,ResolveCommand,ExportReportCommand,MbrCommand,ReporterLogger}.java rm biz.aQute.bnd/src/aQute/bnd/main/{ExportReportCommand,MbrCommand,RemoteCommand,ReporterLogger,ResolveCommand,Shell}.java
sed -i 's|${Bundle-Version}|%{version}|' biz.aQute.bndlib/src/aQute/bnd/osgi/bnd.info sed -i 's|${Bundle-Version}|%{version}|' biz.aQute.bndlib/src/aQute/bnd/osgi/bnd.info
# libg # libg
pushd aQute.libg pushd aQute.libg
cp -p %{SOURCE3} pom.xml cp -p %{SOURCE3} pom.xml
%pom_remove_dep :::provided:: %pom_add_dep org.osgi:osgi.cmpn:7
%pom_remove_dep -r org.osgi:org.osgi.util.function %pom_remove_dep org.osgi:org.osgi.dto
%pom_remove_dep -r org.osgi:org.osgi.util.promise %pom_remove_dep org.osgi:org.osgi.framework
%pom_add_dep org.osgi:osgi.cmpn %pom_remove_dep org.osgi:org.osgi.resource
%pom_add_dep org.slf4j:slf4j-api %pom_remove_dep org.osgi:org.osgi.util.function
%pom_remove_dep org.osgi:org.osgi.util.promise
%pom_xpath_remove pom:dependency/pom:scope
popd popd
# bndlib.annotations # bnd.annotation
pushd biz.aQute.bnd.annotation pushd biz.aQute.bnd.annotation
cp -p %{SOURCE6} pom.xml cp -p %{SOURCE6} pom.xml
%pom_remove_dep -r org.osgi:org.osgi.namespace.extender %pom_add_dep org.osgi:osgi.core:7
%pom_remove_dep -r org.osgi:org.osgi.namespace.service %pom_add_dep org.osgi:osgi.cmpn:7
%pom_remove_dep -r org.osgi:org.osgi.resource %pom_remove_dep org.osgi:org.osgi.namespace.extender
%pom_remove_dep -r org.osgi:org.osgi.service.serviceloader %pom_remove_dep org.osgi:org.osgi.namespace.service
%pom_remove_dep org.osgi:org.osgi.resource
%pom_remove_dep org.osgi:org.osgi.service.serviceloader
%pom_xpath_remove pom:dependency/pom:scope
popd popd
# bndlib # bndlib
pushd biz.aQute.bndlib pushd biz.aQute.bndlib
cp -p %{SOURCE5} pom.xml cp -p %{SOURCE5} pom.xml
%pom_remove_dep :::provided:: %pom_add_dep org.osgi:osgi.cmpn:7
%pom_add_dep org.osgi:osgi.cmpn
%pom_add_dep biz.aQute.bnd:aQute.libg:%{version} %pom_add_dep biz.aQute.bnd:aQute.libg:%{version}
%pom_add_dep biz.aQute.bnd:biz.aQute.bnd.annotation:%{version} %pom_add_dep biz.aQute.bnd:biz.aQute.bnd.annotation:%{version}
%pom_remove_dep org.osgi:org.osgi.dto
%pom_remove_dep org.osgi:org.osgi.framework
%pom_remove_dep org.osgi:org.osgi.namespace.contract
%pom_remove_dep org.osgi:org.osgi.namespace.extender
%pom_remove_dep org.osgi:org.osgi.namespace.implementation
%pom_remove_dep org.osgi:org.osgi.namespace.service
%pom_remove_dep org.osgi:org.osgi.resource
%pom_remove_dep org.osgi:org.osgi.service.log
%pom_remove_dep org.osgi:org.osgi.service.repository
%pom_remove_dep org.osgi:org.osgi.util.function
%pom_remove_dep org.osgi:org.osgi.util.promise
%pom_remove_dep org.osgi:org.osgi.util.tracker
%pom_xpath_remove pom:dependency/pom:scope
popd
# bnd.ant
pushd biz.aQute.bnd.ant
cp -p %{SOURCE7} pom.xml
%pom_xpath_remove pom:dependency/pom:scope
popd popd
# bnd.exporters # bnd.exporters
pushd biz.aQute.bnd.exporters pushd biz.aQute.bnd.exporters
cp -p %{SOURCE7} pom.xml cp -p %{SOURCE2} pom.xml
%pom_remove_dep :::provided:: %pom_remove_dep org.osgi:org.osgi.service.subsystem
%pom_add_dep biz.aQute.bnd:biz.aQute.bndlib:%{version} %pom_xpath_remove pom:dependency/pom:scope
%pom_add_dep biz.aQute.bnd:biz.aQute.bnd.annotation:%{version}
popd popd
# bnd # bnd
pushd biz.aQute.bnd pushd biz.aQute.bnd
cp -p %{SOURCE4} pom.xml cp -p %{SOURCE4} pom.xml
%pom_remove_dep :::provided:: %pom_remove_dep :biz.aQute.resolve
%pom_add_dep biz.aQute.bnd:biz.aQute.bndlib:%{version} %pom_remove_dep :biz.aQute.repository
%pom_remove_dep :biz.aQute.bnd.reporter
%pom_remove_dep :biz.aQute.remote.api
%pom_remove_dep :snakeyaml
%pom_remove_dep :jline
%pom_remove_dep org.osgi:org.osgi.service.coordinator
%pom_remove_dep org.osgi:org.osgi.service.resolver
%pom_remove_dep org.osgi:org.osgi.dto
%pom_remove_dep org.osgi:org.osgi.framework
%pom_remove_dep org.osgi:org.osgi.resource
%pom_remove_dep org.osgi:org.osgi.service.log
%pom_remove_dep org.osgi:org.osgi.service.repository
%pom_remove_dep org.osgi:org.osgi.util.function
%pom_remove_dep org.osgi:org.osgi.util.promise
%pom_remove_dep org.osgi:org.osgi.util.tracker
%pom_xpath_remove pom:dependency/pom:scope
popd
# bnd.util
pushd biz.aQute.bnd.util
cp -p %{SOURCE8} pom.xml
%pom_add_dep biz.aQute.bnd:aQute.libg:%{version} %pom_add_dep biz.aQute.bnd:aQute.libg:%{version}
%pom_add_dep biz.aQute.bnd:biz.aQute.bnd.annotation:%{version} %pom_xpath_remove pom:dependency/pom:scope
%pom_add_dep biz.aQute.bnd:biz.aQute.bnd.ant:%{version}
%pom_add_dep org.osgi:osgi.annotation
%pom_add_dep org.osgi:osgi.core
%pom_add_dep org.osgi:osgi.cmpn
%pom_add_dep org.slf4j:slf4j-api
%pom_add_dep org.slf4j:slf4j-simple::runtime
popd
# bndlib.ant
pushd biz.aQute.bnd.ant
cp -p %{SOURCE2} pom.xml
%pom_remove_dep :::provided::
%pom_add_dep org.osgi:osgi.annotation
popd
# maven-plugins
pushd maven
#rm bnd-shared-maven-lib/src/main/java/aQute/bnd/maven/lib/resolve/DependencyResolver.java
%pom_remove_dep -r :biz.aQute.resolve
%pom_remove_dep -r :biz.aQute.repository
# Unavailable reactor dependency - org.osgi.impl.bundle.repoindex.cli
%pom_disable_module bnd-indexer-maven-plugin
# Requires unbuilt parts of bnd
%pom_disable_module bnd-export-maven-plugin
%pom_disable_module bnd-resolver-maven-plugin
%pom_disable_module bnd-testing-maven-plugin
# Integration tests require Internet access
%pom_remove_plugin -r :maven-invoker-plugin
%pom_remove_plugin -r :maven-javadoc-plugin
%pom_remove_plugin -r :flatten-maven-plugin
popd popd
%build %build
@ -188,6 +192,7 @@ popd
# jars # jars
install -dm 0755 %{buildroot}%{_javadir}/%{name} install -dm 0755 %{buildroot}%{_javadir}/%{name}
install -pm 0644 biz.aQute.bnd.exporters/target/biz.aQute.bnd.exporters-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bnd.exporters.jar install -pm 0644 biz.aQute.bnd.exporters/target/biz.aQute.bnd.exporters-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bnd.exporters.jar
install -pm 0644 biz.aQute.bnd.util/target/biz.aQute.bnd.util-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bnd.util.jar
install -pm 0644 biz.aQute.bnd.annotation/target/biz.aQute.bnd.annotation-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bnd.annotation.jar install -pm 0644 biz.aQute.bnd.annotation/target/biz.aQute.bnd.annotation-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bnd.annotation.jar
install -pm 0644 aQute.libg/target/aQute.libg-%{version}.jar %{buildroot}%{_javadir}/%{name}/aQute.libg.jar install -pm 0644 aQute.libg/target/aQute.libg-%{version}.jar %{buildroot}%{_javadir}/%{name}/aQute.libg.jar
install -pm 0644 biz.aQute.bndlib/target/biz.aQute.bndlib-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bndlib.jar install -pm 0644 biz.aQute.bndlib/target/biz.aQute.bndlib-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bndlib.jar
@ -195,21 +200,24 @@ install -pm 0644 biz.aQute.bnd/target/biz.aQute.bnd-%{version}.jar %{buildroot}%
install -pm 0644 biz.aQute.bnd.ant/target/biz.aQute.bnd.ant-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bnd.ant.jar install -pm 0644 biz.aQute.bnd.ant/target/biz.aQute.bnd.ant-%{version}.jar %{buildroot}%{_javadir}/%{name}/biz.aQute.bnd.ant.jar
# poms # poms
install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name} install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
install -pm 0644 biz.aQute.bnd.exporters/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.exporters.pom %mvn_install_pom biz.aQute.bnd.exporters/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.exporters.pom
%add_maven_depmap %{name}/biz.aQute.bnd.exporters.pom %{name}/biz.aQute.bnd.exporters.jar -f bndlib %add_maven_depmap %{name}/biz.aQute.bnd.exporters.pom %{name}/biz.aQute.bnd.exporters.jar -f bndlib
install -pm 0644 biz.aQute.bnd.annotation/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.annotation.pom %mvn_install_pom biz.aQute.bnd.util/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.util.pom
%add_maven_depmap %{name}/biz.aQute.bnd.util.pom %{name}/biz.aQute.bnd.util.jar -f bndlib
%mvn_install_pom biz.aQute.bnd.annotation/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.annotation.pom
%add_maven_depmap %{name}/biz.aQute.bnd.annotation.pom %{name}/biz.aQute.bnd.annotation.jar -f bndlib %add_maven_depmap %{name}/biz.aQute.bnd.annotation.pom %{name}/biz.aQute.bnd.annotation.jar -f bndlib
install -pm 0644 aQute.libg/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/aQute.libg.pom %mvn_install_pom aQute.libg/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/aQute.libg.pom
%add_maven_depmap %{name}/aQute.libg.pom %{name}/aQute.libg.jar -f bndlib %add_maven_depmap %{name}/aQute.libg.pom %{name}/aQute.libg.jar -f bndlib
install -pm 0644 biz.aQute.bndlib/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bndlib.pom %mvn_install_pom biz.aQute.bndlib/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bndlib.pom
%add_maven_depmap %{name}/biz.aQute.bndlib.pom %{name}/biz.aQute.bndlib.jar -f bndlib -a biz.aQute.bnd:bndlib,biz.aQute:bndlib %add_maven_depmap %{name}/biz.aQute.bndlib.pom %{name}/biz.aQute.bndlib.jar -f bndlib -a biz.aQute.bnd:bndlib,biz.aQute:bndlib
install -pm 0644 biz.aQute.bnd/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.pom %mvn_install_pom biz.aQute.bnd/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.pom
%add_maven_depmap %{name}/biz.aQute.bnd.pom %{name}/biz.aQute.bnd.jar -a biz.aQute.bnd:bnd,biz.aQute:bnd %add_maven_depmap %{name}/biz.aQute.bnd.pom %{name}/biz.aQute.bnd.jar -a biz.aQute.bnd:bnd,biz.aQute:bnd
install -pm 0644 biz.aQute.bnd.ant/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.ant.pom %mvn_install_pom biz.aQute.bnd.ant/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/biz.aQute.bnd.ant.pom
%add_maven_depmap %{name}/biz.aQute.bnd.ant.pom %{name}/biz.aQute.bnd.ant.jar %add_maven_depmap %{name}/biz.aQute.bnd.ant.pom %{name}/biz.aQute.bnd.ant.jar
# javadoc # javadoc
install -dm 0755 %{buildroot}%{_javadocdir}/%{name} install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
mv biz.aQute.bnd.exporters/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/biz.aQute.bnd.exporters mv biz.aQute.bnd.exporters/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/biz.aQute.bnd.exporters
mv biz.aQute.bnd.util/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/biz.aQute.bnd.util
mv biz.aQute.bnd.annotation/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/biz.aQute.bnd.annotation mv biz.aQute.bnd.annotation/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/biz.aQute.bnd.annotation
mv aQute.libg/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/aQute.libg mv aQute.libg/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/aQute.libg
mv biz.aQute.bndlib/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/biz.aQute.bndlib mv biz.aQute.bndlib/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/biz.aQute.bndlib

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd</artifactId> <artifactId>biz.aQute.bnd</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<description>This command line utility is the Swiss army knife of OSGi. It provides you with a breadth of tools to understand and manage OSGi based systems. This project basically uses bndlib.</description> <description>This command line utility is the Swiss army knife of OSGi. It provides you with a breadth of tools to understand and manage OSGi based systems. This project basically uses bndlib.</description>
<name>biz.aQute.bnd</name> <name>biz.aQute.bnd</name>
<url>https://bnd.bndtools.org/</url> <url>https://bnd.bndtools.org/</url>
@ -23,7 +23,7 @@
<url>https://github.com/bndtools/bnd</url> <url>https://github.com/bndtools/bnd</url>
<connection>scm:git:https://github.com/bndtools/bnd.git</connection> <connection>scm:git:https://github.com/bndtools/bnd.git</connection>
<developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection> <developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection>
<tag>5.2.0.REL</tag> <tag>6.3.1</tag>
</scm> </scm>
<developers> <developers>
<developer> <developer>
@ -41,7 +41,7 @@
<developer> <developer>
<id>bjhargrave</id> <id>bjhargrave</id>
<name>BJ Hargrave</name> <name>BJ Hargrave</name>
<email>bj@bjhargrave.com</email> <email>bj@hargrave.dev</email>
<url>https://github.com/bjhargrave</url> <url>https://github.com/bjhargrave</url>
<organization>IBM</organization> <organization>IBM</organization>
<organizationUrl>https://developer.ibm.com</organizationUrl> <organizationUrl>https://developer.ibm.com</organizationUrl>
@ -66,8 +66,32 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId> <artifactId>org.osgi.dto</artifactId>
<version>6.0.0</version> <version>1.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.resource</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.framework</artifactId>
<version>1.8.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.tracker</artifactId>
<version>1.5.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.coordinator</artifactId>
<version>1.0.2</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -82,46 +106,70 @@
<version>1.1.0</version> <version>1.1.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.resolver</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.function</artifactId>
<version>1.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.promise</artifactId>
<version>1.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.util</artifactId>
<version>6.3.1</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bndlib</artifactId> <artifactId>biz.aQute.bndlib</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.ant</artifactId> <artifactId>biz.aQute.bnd.ant</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.resolve</artifactId> <artifactId>biz.aQute.resolve</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.repository</artifactId> <artifactId>biz.aQute.repository</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.exporters</artifactId> <artifactId>biz.aQute.bnd.exporters</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.reporter</artifactId> <artifactId>biz.aQute.bnd.reporter</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.remote.api</artifactId> <artifactId>biz.aQute.remote.api</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.annotation</artifactId> <artifactId>biz.aQute.bnd.annotation</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<description>bnd Annotations Library</description> <description>bnd Annotations Library</description>
<name>biz.aQute.bnd.annotation</name> <name>biz.aQute.bnd.annotation</name>
<url>https://bnd.bndtools.org/</url> <url>https://bnd.bndtools.org/</url>
@ -23,7 +23,7 @@
<url>https://github.com/bndtools/bnd</url> <url>https://github.com/bndtools/bnd</url>
<connection>scm:git:https://github.com/bndtools/bnd.git</connection> <connection>scm:git:https://github.com/bndtools/bnd.git</connection>
<developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection> <developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection>
<tag>5.2.0.REL</tag> <tag>6.3.1</tag>
</scm> </scm>
<developers> <developers>
<developer> <developer>
@ -41,7 +41,7 @@
<developer> <developer>
<id>bjhargrave</id> <id>bjhargrave</id>
<name>BJ Hargrave</name> <name>BJ Hargrave</name>
<email>bj@bjhargrave.com</email> <email>bj@hargrave.dev</email>
<url>https://github.com/bjhargrave</url> <url>https://github.com/bjhargrave</url>
<organization>IBM</organization> <organization>IBM</organization>
<organizationUrl>https://developer.ibm.com</organizationUrl> <organizationUrl>https://developer.ibm.com</organizationUrl>
@ -67,20 +67,20 @@
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId> <artifactId>osgi.annotation</artifactId>
<version>7.0.0</version> <version>8.1.0</version>
<scope>compile</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.namespace.extender</artifactId> <artifactId>org.osgi.namespace.extender</artifactId>
<version>1.0.1</version> <version>1.0.1</version>
<scope>compile</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.namespace.service</artifactId> <artifactId>org.osgi.namespace.service</artifactId>
<version>1.0.0</version> <version>1.0.0</version>
<scope>compile</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.ant</artifactId> <artifactId>biz.aQute.bnd.ant</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<description>Bnd Ant Tasks</description> <description>Bnd Ant Tasks</description>
<name>biz.aQute.bnd.ant</name> <name>biz.aQute.bnd.ant</name>
<url>https://bnd.bndtools.org/</url> <url>https://bnd.bndtools.org/</url>
@ -23,7 +23,7 @@
<url>https://github.com/bndtools/bnd</url> <url>https://github.com/bndtools/bnd</url>
<connection>scm:git:https://github.com/bndtools/bnd.git</connection> <connection>scm:git:https://github.com/bndtools/bnd.git</connection>
<developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection> <developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection>
<tag>5.2.0.REL</tag> <tag>6.3.1</tag>
</scm> </scm>
<developers> <developers>
<developer> <developer>
@ -41,7 +41,7 @@
<developer> <developer>
<id>bjhargrave</id> <id>bjhargrave</id>
<name>BJ Hargrave</name> <name>BJ Hargrave</name>
<email>bj@bjhargrave.com</email> <email>bj@hargrave.dev</email>
<url>https://github.com/bjhargrave</url> <url>https://github.com/bjhargrave</url>
<organization>IBM</organization> <organization>IBM</organization>
<organizationUrl>https://developer.ibm.com</organizationUrl> <organizationUrl>https://developer.ibm.com</organizationUrl>
@ -67,13 +67,19 @@
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId> <artifactId>osgi.annotation</artifactId>
<version>7.0.0</version> <version>8.1.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.util</artifactId>
<version>6.3.1</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bndlib</artifactId> <artifactId>biz.aQute.bndlib</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -85,7 +91,7 @@
<dependency> <dependency>
<groupId>org.apache.ant</groupId> <groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId> <artifactId>ant</artifactId>
<version>1.10.8</version> <version>1.10.12</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.exporters</artifactId> <artifactId>biz.aQute.bnd.exporters</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<description>biz.aQute.bnd.exporters</description> <description>biz.aQute.bnd.exporters</description>
<name>biz.aQute.bnd.exporters</name> <name>biz.aQute.bnd.exporters</name>
<url>https://bnd.bndtools.org/</url> <url>https://bnd.bndtools.org/</url>
@ -23,7 +23,7 @@
<url>https://github.com/bndtools/bnd</url> <url>https://github.com/bndtools/bnd</url>
<connection>scm:git:https://github.com/bndtools/bnd.git</connection> <connection>scm:git:https://github.com/bndtools/bnd.git</connection>
<developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection> <developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection>
<tag>5.2.0.REL</tag> <tag>6.3.1</tag>
</scm> </scm>
<developers> <developers>
<developer> <developer>
@ -41,7 +41,7 @@
<developer> <developer>
<id>bjhargrave</id> <id>bjhargrave</id>
<name>BJ Hargrave</name> <name>BJ Hargrave</name>
<email>bj@bjhargrave.com</email> <email>bj@hargrave.dev</email>
<url>https://github.com/bjhargrave</url> <url>https://github.com/bjhargrave</url>
<organization>IBM</organization> <organization>IBM</organization>
<organizationUrl>https://developer.ibm.com</organizationUrl> <organizationUrl>https://developer.ibm.com</organizationUrl>
@ -76,10 +76,16 @@
<version>1.1.0</version> <version>1.1.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.util</artifactId>
<version>6.3.1</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bndlib</artifactId> <artifactId>biz.aQute.bndlib</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.util</artifactId>
<version>6.3.1</version>
<description>Util classes</description>
<name>biz.aQute.bnd.util</name>
<url>https://bnd.bndtools.org/</url>
<organization>
<name>Bndtools</name>
<url>https://bndtools.org/</url>
</organization>
<licenses>
<license>
<name>(Apache-2.0 OR EPL-2.0)</name>
<url>https://opensource.org/licenses/Apache-2.0,https://opensource.org/licenses/EPL-2.0</url>
<distribution>repo</distribution>
<comments>This program and the accompanying materials are made available under the terms of the Apache License, Version 2.0, or the Eclipse Public License 2.0.</comments>
</license>
</licenses>
<scm>
<url>https://github.com/bndtools/bnd</url>
<connection>scm:git:https://github.com/bndtools/bnd.git</connection>
<developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection>
<tag>6.3.1</tag>
</scm>
<developers>
<developer>
<id>pkriens</id>
<email>Peter.Kriens@aQute.biz</email>
<name>Peter Kriens</name>
<organization>Bndtools</organization>
<organizationUrl>https://github.com/bndtools</organizationUrl>
<roles>
<role>architect</role>
<role>developer</role>
</roles>
<timezone>1</timezone>
</developer>
<developer>
<id>bjhargrave</id>
<name>BJ Hargrave</name>
<email>bj@hargrave.dev</email>
<url>https://github.com/bjhargrave</url>
<organization>IBM</organization>
<organizationUrl>https://developer.ibm.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>America/New_York</timezone>
</developer>
<developer>
<id>rotty3000</id>
<name>Ray Augé</name>
<email>raymond.auge@liferay.com</email>
<url>https://rotty3000.github.io</url>
<organization>Liferay Inc.</organization>
<organizationUrl>https://www.liferay.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>America/New_York</timezone>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
<version>8.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>biz.aQute.bnd</groupId> <groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bndlib</artifactId> <artifactId>biz.aQute.bndlib</artifactId>
<version>5.2.0</version> <version>6.3.1</version>
<description>bndlib: A Swiss Army Knife for OSGi</description> <description>bndlib: A Swiss Army Knife for OSGi</description>
<name>biz.aQute.bndlib</name> <name>biz.aQute.bndlib</name>
<url>https://bnd.bndtools.org/</url> <url>https://bnd.bndtools.org/</url>
@ -23,7 +23,7 @@
<url>https://github.com/bndtools/bnd</url> <url>https://github.com/bndtools/bnd</url>
<connection>scm:git:https://github.com/bndtools/bnd.git</connection> <connection>scm:git:https://github.com/bndtools/bnd.git</connection>
<developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection> <developerConnection>scm:git:git@github.com:bndtools/bnd.git</developerConnection>
<tag>5.2.0.REL</tag> <tag>6.3.1</tag>
</scm> </scm>
<developers> <developers>
<developer> <developer>
@ -41,7 +41,7 @@
<developer> <developer>
<id>bjhargrave</id> <id>bjhargrave</id>
<name>BJ Hargrave</name> <name>BJ Hargrave</name>
<email>bj@bjhargrave.com</email> <email>bj@hargrave.dev</email>
<url>https://github.com/bjhargrave</url> <url>https://github.com/bjhargrave</url>
<organization>IBM</organization> <organization>IBM</organization>
<organizationUrl>https://developer.ibm.com</organizationUrl> <organizationUrl>https://developer.ibm.com</organizationUrl>
@ -67,14 +67,32 @@
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId> <artifactId>osgi.annotation</artifactId>
<version>7.0.0</version> <version>8.1.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId> <artifactId>org.osgi.dto</artifactId>
<version>6.0.0</version> <version>1.0.0</version>
<scope>provided</scope> <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.resource</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.framework</artifactId>
<version>1.8.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.tracker</artifactId>
<version>1.5.4</version>
<scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
@ -104,25 +122,31 @@
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.service.log</artifactId> <artifactId>org.osgi.service.log</artifactId>
<version>1.3.0</version> <version>1.3.0</version>
<scope>provided</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.service.repository</artifactId> <artifactId>org.osgi.service.repository</artifactId>
<version>1.1.0</version> <version>1.1.0</version>
<scope>provided</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.util.function</artifactId> <artifactId>org.osgi.util.function</artifactId>
<version>1.1.0</version> <version>1.2.0</version>
<scope>provided</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.util.promise</artifactId> <artifactId>org.osgi.util.promise</artifactId>
<version>1.1.1</version> <version>1.2.0</version>
<scope>provided</scope> <scope>compile</scope>
</dependency>
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bnd.util</artifactId>
<version>6.3.1</version>
<scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7a0a00d5def0906575b207d0961ba7df9332a6ab3b9dc24dc73219a81e27dac0
size 2332

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cbb03e40bdaa9886996ac0e0a4e847da1533d7f6ca67f647c1323951463a8bd5
size 3188412

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2772170b1fce1419d8eed3ce0bad39f55b1b265346c8280544f17888427e5979
size 2584

3
bnd-6.3.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3bf2527963728874767aac12a817f914cf4188f632f323df68455c2e28a8d279
size 3247528

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Sep 18 05:23:18 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Update to aqute-bnd 6.3.1
* https://github.com/bndtools/bnd/wiki/Changes-in-6.3.1
* https://github.com/bndtools/bnd/wiki/Changes-in-6.3.0
* https://github.com/bndtools/bnd/wiki/Changes-in-6.2.0
* https://github.com/bndtools/bnd/wiki/Changes-in-6.1.0
* https://github.com/bndtools/bnd/wiki/Changes-in-6.0.0
* https://github.com/bndtools/bnd/wiki/Changes-in-5.3.0
- Modified patches:
* 0001-Disable-removed-commands.patch
* 0003-Port-to-OSGI-7.0.0.patch -> 0002-Port-to-OSGI-7.0.0.patch
* 0004-maven-plugin-dependencies.patch ->
0003-Remove-unmet-dependencies.patch
* reproducible-timestamps.patch
* reproducible-packages-list.patch
+ rediff to changed context
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Sep 16 10:08:36 UTC 2023 - Fridrich Strba <fstrba@suse.com> Sat Sep 16 10:08:36 UTC 2023 - Fridrich Strba <fstrba@suse.com>
@ -5,8 +24,8 @@ Sat Sep 16 10:08:36 UTC 2023 - Fridrich Strba <fstrba@suse.com>
* reproducible-timestamps.patch * reproducible-timestamps.patch
+ set "-reproducible" option to true by default + set "-reproducible" option to true by default
+ use SOURCE_DATE_EPOCH for timestamp if available + use SOURCE_DATE_EPOCH for timestamp if available
* reproducible-element-order.patch * reproducible-packages-list.patch
+ make the order of elements in manifest deterministic + make the order of packages to import/export deterministic
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Apr 26 17:47:47 UTC 2023 - Fridrich Strba <fstrba@suse.com> Wed Apr 26 17:47:47 UTC 2023 - Fridrich Strba <fstrba@suse.com>

View File

@ -17,7 +17,7 @@
Name: bnd-maven-plugin Name: bnd-maven-plugin
Version: 5.2.0 Version: 6.3.1
Release: 0 Release: 0
Summary: BND Maven plugin Summary: BND Maven plugin
# Part of jpm is under BSD, but jpm is not included in binary RPM # Part of jpm is under BSD, but jpm is not included in binary RPM
@ -25,26 +25,17 @@ License: Apache-2.0
Group: Development/Libraries/Java Group: Development/Libraries/Java
URL: https://bnd.bndtools.org/ URL: https://bnd.bndtools.org/
Source0: bnd-%{version}.tar.xz Source0: bnd-%{version}.tar.xz
Patch0: 0001-Disable-removed-commands.patch Patch1: 0001-Disable-removed-commands.patch
Patch2: 0003-Port-to-OSGI-7.0.0.patch Patch2: 0002-Port-to-OSGI-7.0.0.patch
Patch3: aqute-bnd-java8compat.patch Patch3: 0003-Remove-unmet-dependencies.patch
Patch4: 0004-maven-plugin-dependencies.patch Patch4: reproducible-timestamps.patch
Patch5: reproducible-timestamps.patch Patch5: reproducible-packages-list.patch
Patch6: reproducible-element-order.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: maven-local BuildRequires: maven-local
BuildRequires: mvn(biz.aQute.bnd:biz.aQute.bndlib) BuildRequires: mvn(biz.aQute.bnd:biz.aQute.bndlib) >= %{version}
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven.shared:maven-mapping) BuildRequires: mvn(org.apache.maven.shared:maven-mapping)
BuildRequires: mvn(org.apache.maven:maven-artifact) BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata)
BuildRequires: mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.eclipse.aether:aether-api)
BuildRequires: mvn(org.osgi:osgi.cmpn)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.sonatype.plexus:plexus-build-api)
BuildArch: noarch BuildArch: noarch
%description %description
@ -60,23 +51,19 @@ API documentation for %{name}.
%prep %prep
%setup -q -n bnd-%{version} %setup -q -n bnd-%{version}
%patch0 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1
cp -r biz.aQute.bnd.maven/src/aQute/bnd/maven/lib/configuration maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/lib
cp -r biz.aQute.bnd.maven/src/aQute/bnd/maven/lib/executions maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/lib
pushd maven pushd maven
%pom_remove_dep -r :biz.aQute.bnd.maven %pom_remove_dep -r :biz.aQute.bnd.maven
%pom_remove_dep -r :biz.aQute.resolve
%pom_remove_dep -r :biz.aQute.repository
%pom_remove_dep -r :biz.aQute.bnd.embedded-repo
# Unavailable reactor dependency - org.osgi.impl.bundle.repoindex.cli # Unavailable reactor dependency - org.osgi.impl.bundle.repoindex.cli
%pom_disable_module bnd-indexer-maven-plugin %pom_disable_module bnd-indexer-maven-plugin
# Requires unbuilt parts of bnd # Requires unbuilt parts of bnd
%pom_disable_module bnd-baseline-maven-plugin
%pom_disable_module bnd-export-maven-plugin %pom_disable_module bnd-export-maven-plugin
%pom_disable_module bnd-reporter-maven-plugin %pom_disable_module bnd-reporter-maven-plugin
%pom_disable_module bnd-resolver-maven-plugin %pom_disable_module bnd-resolver-maven-plugin
@ -85,11 +72,13 @@ pushd maven
# Integration tests require Internet access # Integration tests require Internet access
%pom_remove_plugin -r :maven-invoker-plugin %pom_remove_plugin -r :maven-invoker-plugin
%pom_remove_plugin -r :maven-javadoc-plugin %pom_remove_plugin -r :maven-javadoc-plugin
%pom_remove_plugin -r :flatten-maven-plugin
%pom_remove_plugin -r :maven-source-plugin
popd
%{mvn_package} biz.aQute.bnd:bnd-plugin-parent __noinstall %pom_remove_plugin -r :flatten-maven-plugin
%pom_remove_dep -r org.junit:junit-bom
%mvn_package biz.aQute.bnd:bnd-plugin-parent __noinstall
popd
%build %build
pushd maven pushd maven

View File

@ -1,794 +0,0 @@
diff --git a/biz.aQute.bndlib/src/aQute/bnd/header/Parameters.java b/biz.aQute.bndlib/src/aQute/bnd/header/Parameters.java
index d3916f63..ae84ca14 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/header/Parameters.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/header/Parameters.java
@@ -4,10 +4,10 @@ import static aQute.bnd.osgi.Constants.DUPLICATE_MARKER;
import static java.util.stream.Collectors.toList;
import java.util.Collection;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeMap;
import java.util.stream.Collector;
import aQute.bnd.stream.MapStream;
@@ -19,7 +19,7 @@ public class Parameters implements Map<String, Attrs> {
public Parameters(boolean allowDuplicateAttributes) {
this.allowDuplicateAttributes = allowDuplicateAttributes;
- map = new LinkedHashMap<>();
+ map = new TreeMap<>();
}
public Parameters() {
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/ActivelyClosingClassLoader.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/ActivelyClosingClassLoader.java
index 761f48ef..4c9b3efd 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/ActivelyClosingClassLoader.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/ActivelyClosingClassLoader.java
@@ -14,10 +14,10 @@ import java.net.URLClassLoader;
import java.net.URLConnection;
import java.net.URLStreamHandler;
import java.util.Enumeration;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.TreeMap;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -35,7 +35,7 @@ import aQute.lib.io.IO;
* This class loader can load classes from JAR files.
*/
class ActivelyClosingClassLoader extends URLClassLoader implements Closeable {
- final AtomicReference<Map<File, Wrapper>> wrappers = new AtomicReference<>(new LinkedHashMap<>());
+ final AtomicReference<Map<File, Wrapper>> wrappers = new AtomicReference<>(new TreeMap<>());
final AtomicBoolean open = new AtomicBoolean(true);
final Processor processor;
ScheduledFuture<?> schedule;
@@ -89,7 +89,7 @@ class ActivelyClosingClassLoader extends URLClassLoader implements Closeable {
throw new IllegalStateException("Already closed");
}
wrappers.updateAndGet(map -> {
- Map<File, Wrapper> copy = new LinkedHashMap<>(map);
+ Map<File, Wrapper> copy = new TreeMap<>(map);
copy.computeIfAbsent(file, Wrapper::new);
return copy;
});
@@ -183,7 +183,7 @@ class ActivelyClosingClassLoader extends URLClassLoader implements Closeable {
if (schedule != null) {
schedule.cancel(true);
}
- wrappers.getAndSet(new LinkedHashMap<>())
+ wrappers.getAndSet(new TreeMap<>())
.values()
.forEach(Wrapper::close);
}
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Analyzer.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Analyzer.java
index bf5029ae..533eea3d 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Analyzer.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Analyzer.java
@@ -43,7 +43,6 @@ import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -2144,7 +2143,7 @@ public class Analyzer extends Processor {
.distinct()
.filter(this::isProvider)
.map(TypeRef::getPackageRef)
- .collect(toCollection(LinkedHashSet<PackageRef>::new));
+ .collect(toCollection(TreeSet<PackageRef>::new));
return providers;
}
@@ -2686,7 +2685,7 @@ public class Analyzer extends Processor {
// Look at the referred packages
// and copy them to our baseline
- Set<PackageRef> refs = new LinkedHashSet<>(clazz.getReferred());
+ Set<PackageRef> refs = new TreeSet<>(clazz.getReferred());
refs.addAll(referencesByAnnotation(clazz));
for (PackageRef p : refs) {
referred.put(p);
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Annotation.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Annotation.java
index 685c92e1..c3f10b29 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Annotation.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Annotation.java
@@ -6,9 +6,9 @@ import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
-import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.TreeMap;
import java.util.Set;
import java.util.stream.Stream;
@@ -150,7 +150,7 @@ public class Annotation {
public void put(String string, Object v) {
if (elements == null) {
- elements = new LinkedHashMap<>();
+ elements = new TreeMap<>();
}
elements.put(string, v);
}
@@ -193,7 +193,7 @@ public class Annotation {
public <T extends java.lang.annotation.Annotation> T getAnnotation(Class<T> c) throws Exception {
if (elements == null) {
- elements = new LinkedHashMap<>();
+ elements = new TreeMap<>();
}
return CONVERTER.convert(c, elements);
}
@@ -211,7 +211,7 @@ public class Annotation {
return;
}
if (elements == null) {
- elements = new LinkedHashMap<>(map);
+ elements = new TreeMap<>(map);
} else {
map.forEach(elements::putIfAbsent);
}
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/AnnotationHeaders.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/AnnotationHeaders.java
index 7ee4b2a5..ade0577c 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/AnnotationHeaders.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/AnnotationHeaders.java
@@ -8,7 +8,6 @@ import java.io.IOException;
import java.lang.annotation.Target;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashSet;
import java.util.List;
import java.util.Map.Entry;
import java.util.Optional;
@@ -151,7 +150,7 @@ class AnnotationHeaders extends ClassDataCollector implements Closeable {
// The annotations we could not load. used to avoid repeatedly logging the
// same missing annotation for the same project. Note that this should not
// be reset for each #classStart(Clazz).
- final Set<String> loggedMissing = new HashSet<>();
+ final Set<String> loggedMissing = new TreeSet<>();
final Instructions instructions;
// we parse the annotations separately at the end
@@ -394,7 +393,7 @@ class AnnotationHeaders extends ClassDataCollector implements Closeable {
handleAttributeOrDirective(a);
break;
default :
- Set<String> processed = new HashSet<>(this.processed);
+ Set<String> processed = new TreeSet<>(this.processed);
processed.add(c.getFQN());
doAnnotatedAnnotation(a, a.getName(), processed, attributesAndDirectives);
break;
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java
index cbeb4452..9b03e520 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java
@@ -14,13 +14,13 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
import java.util.Set;
+import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.jar.Manifest;
import java.util.regex.Matcher;
@@ -489,7 +489,7 @@ public class Builder extends Analyzer {
.toStringWithoutQualifier();
}
}
- Set<String> visited = new HashSet<>();
+ Set<String> visited = new TreeSet<>();
for (Map.Entry<PackageRef, Attrs> entry : packages.entrySet()) {
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Clazz.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Clazz.java
index b97251b5..a3f8644f 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Clazz.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Clazz.java
@@ -31,8 +31,7 @@ import java.util.Comparator;
import java.util.Deque;
import java.util.EnumSet;
import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
+import java.util.TreeSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -40,6 +39,7 @@ import java.util.Properties;
import java.util.Set;
import java.util.Spliterator;
import java.util.Spliterators.AbstractSpliterator;
+import java.util.TreeMap;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
@@ -735,7 +735,7 @@ public class Clazz {
private boolean hasDefaultConstructor;
private Set<PackageRef> imports = Create.set();
- private Set<TypeRef> xref = new HashSet<>();
+ private Set<TypeRef> xref = new TreeSet<>();
private Set<TypeRef> annotations;
private int forName = 0;
private int class$ = 0;
@@ -803,7 +803,7 @@ public class Clazz {
referred = new HashMap<>(constantPool.size());
if (classDef.isPublic()) {
- api = new HashSet<>();
+ api = new TreeSet<>();
}
if (!classDef.isModule()) {
referTo(classDef.getType(), Modifier.PUBLIC);
@@ -1430,7 +1430,7 @@ public class Clazz {
private void processAnnotation(AnnotationInfo annotationInfo, ElementType elementType, RetentionPolicy policy,
int access_flags) {
if (annotations == null) {
- annotations = new HashSet<>();
+ annotations = new TreeSet<>();
}
String typeName = annotationInfo.type;
@@ -1478,7 +1478,7 @@ public class Clazz {
private Map<String, Object> annotationValues(ElementValueInfo[] values, ElementType elementType,
RetentionPolicy policy, int access_flags) {
- Map<String, Object> elements = new LinkedHashMap<>();
+ Map<String, Object> elements = new TreeMap<>();
for (ElementValueInfo elementValueInfo : values) {
String element = elementValueInfo.name;
Object value = newElementValue(elementValueInfo.value, elementType, policy, access_flags);
@@ -1706,7 +1706,7 @@ public class Clazz {
Spliterator<TypeRef> spliterator = new AbstractSpliterator<TypeRef>(Long.MAX_VALUE,
Spliterator.DISTINCT | Spliterator.ORDERED | Spliterator.NONNULL) {
private final Deque<TypeRef> queue = new ArrayDeque<>(func.apply(Clazz.this));
- private final Set<TypeRef> seen = (visited != null) ? visited : new HashSet<>();
+ private final Set<TypeRef> seen = (visited != null) ? visited : new TreeSet<>();
@Override
public boolean tryAdvance(Consumer<? super TypeRef> action) {
@@ -1758,7 +1758,7 @@ public class Clazz {
case IMPLEMENTS : {
requireNonNull(instr);
- Set<TypeRef> visited = new HashSet<>();
+ Set<TypeRef> visited = new TreeSet<>();
return hierarchyStream(analyzer).flatMap(c -> c.typeStream(analyzer, Clazz::interfaces, visited))
.map(TypeRef::getDottedOnly)
.anyMatch(instr::matches) ^ instr.isNegated();
@@ -1787,7 +1787,7 @@ public class Clazz {
case INDIRECTLY_ANNOTATED : {
requireNonNull(instr);
- return typeStream(analyzer, Clazz::annotations, new HashSet<>()) //
+ return typeStream(analyzer, Clazz::annotations, new TreeSet<>()) //
.map(TypeRef::getFQN)
.anyMatch(instr::matches) ^ instr.isNegated();
}
@@ -1802,7 +1802,7 @@ public class Clazz {
case HIERARCHY_INDIRECTLY_ANNOTATED : {
requireNonNull(instr);
- Set<TypeRef> visited = new HashSet<>();
+ Set<TypeRef> visited = new TreeSet<>();
return hierarchyStream(analyzer) //
.flatMap(c -> c.typeStream(analyzer, Clazz::annotations, visited))
.map(TypeRef::getFQN)
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
index 3576bd87..d86ce7c1 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
@@ -27,7 +27,6 @@ import java.util.Arrays;
import java.util.Calendar;
import java.util.EnumSet;
import java.util.GregorianCalendar;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
@@ -548,9 +547,9 @@ public class Jar implements Closeable {
// default is DEFLATED
}
- Set<String> done = new HashSet<>();
+ Set<String> done = new TreeSet<>();
- Set<String> directories = new HashSet<>();
+ Set<String> directories = new TreeSet<>();
if (doNotTouchManifest) {
Resource r = getResource(manifestName);
if (r != null) {
@@ -588,7 +587,7 @@ public class Jar implements Closeable {
check();
- Set<String> done = new HashSet<>();
+ Set<String> done = new TreeSet<>();
if (doNotTouchManifest) {
Resource r = getResource(manifestName);
@@ -1281,7 +1280,7 @@ public class Jar implements Closeable {
public void stripSignatures() {
Map<String, Resource> map = getDirectory("META-INF");
if (map != null) {
- for (String file : new HashSet<>(map.keySet())) {
+ for (String file : new TreeSet<>(map.keySet())) {
if (SIGNER_FILES_P.matcher(file)
.matches())
remove(file);
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
index 47312379..f9996bd8 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
@@ -29,7 +29,6 @@ import java.util.Date;
import java.util.Deque;
import java.util.Formatter;
import java.util.Iterator;
-import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
@@ -42,6 +41,7 @@ import java.util.Random;
import java.util.Set;
import java.util.TimeZone;
import java.util.TreeMap;
+import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiFunction;
import java.util.function.Function;
@@ -2166,7 +2166,7 @@ public class Macro {
* @return a map with commands and their help
*/
public Map<String, String> getCommands() {
- Set<Object> targets = new LinkedHashSet<>();
+ Set<Object> targets = new TreeSet<>();
Collections.addAll(targets, this.targets);
Processor rover = domain;
while (rover != null) {
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java
index 6e0cd11d..6bd42dcd 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java
@@ -1,9 +1,9 @@
package aQute.bnd.osgi;
import java.util.Collection;
-import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
+import java.util.TreeMap;
import aQute.bnd.header.Attrs;
import aQute.bnd.osgi.Descriptors.PackageRef;
@@ -21,11 +21,11 @@ public class Packages implements Map<PackageRef, Attrs> {
}
public Packages(Packages other) {
- map = new LinkedHashMap<>(other.map);
+ map = new TreeMap<>(other.map);
}
public Packages() {
- map = new LinkedHashMap<>();
+ map = new TreeMap<>();
}
@Override
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/PermissionGenerator.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/PermissionGenerator.java
index e7721390..c9f654df 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/PermissionGenerator.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/PermissionGenerator.java
@@ -4,7 +4,6 @@ import static java.util.stream.Collectors.toCollection;
import java.util.Collections;
import java.util.EnumSet;
-import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
@@ -150,7 +149,7 @@ public class PermissionGenerator {
@Override
public Set<String> visit(Or expr) {
- Set<String> matches = new HashSet<>();
+ Set<String> matches = new TreeSet<>();
for (Expression expression : expr.getExpressions()) {
matches.addAll(expression.visit(this));
}
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Processor.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Processor.java
index ca5d496d..c65c493e 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Processor.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Processor.java
@@ -31,7 +31,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -41,6 +40,7 @@ import java.util.Properties;
import java.util.Random;
import java.util.Set;
import java.util.Spliterator;
+import java.util.TreeMap;
import java.util.TreeSet;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
@@ -942,11 +942,11 @@ public class Processor extends Domain implements Reporter, Registry, Constants,
}
public static <K, V> Map<K, V> newMap() {
- return new LinkedHashMap<>();
+ return new TreeMap<>();
}
public static <K, V> Map<K, V> newHashMap() {
- return new LinkedHashMap<>();
+ return new TreeMap<>();
}
public <T> List<T> newList(Collection<T> t) {
@@ -958,7 +958,7 @@ public class Processor extends Domain implements Reporter, Registry, Constants,
}
public <K, V> Map<K, V> newMap(Map<K, V> t) {
- return new LinkedHashMap<>(t);
+ return new TreeMap<>(t);
}
@Override
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Verifier.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Verifier.java
index 982e229b..5ea80f10 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Verifier.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Verifier.java
@@ -4,7 +4,6 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Formatter;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -565,7 +564,7 @@ public class Verifier extends Processor {
if (!unresolvedReferences.isEmpty()) {
// Now we want to know the
// classes that are the culprits
- Set<String> culprits = new HashSet<>();
+ Set<String> culprits = new TreeSet<>();
for (Clazz clazz : analyzer.getClassspace()
.values()) {
if (hasOverlap(unresolvedReferences, clazz.getReferred()))
@@ -674,7 +673,7 @@ public class Verifier extends Processor {
if (!since(About._2_3))
return;
- Set<String> invalidPaths = new HashSet<>();
+ Set<String> invalidPaths = new TreeSet<>();
Pattern pattern = ReservedFileNames;
setProperty("@", ReservedFileNames.pattern());
String p = getProperty(INVALIDFILENAMES);
@@ -690,7 +689,7 @@ public class Verifier extends Processor {
}
}
- Set<String> segments = new HashSet<>();
+ Set<String> segments = new TreeSet<>();
for (String path : dot.getResources()
.keySet()) {
String parts[] = path.split("/");
@@ -717,8 +716,8 @@ public class Verifier extends Processor {
if (isStrict()) {
Parameters map = parseHeader(manifest.getMainAttributes()
.getValue(Constants.IMPORT_PACKAGE));
- Set<String> noimports = new HashSet<>();
- Set<String> toobroadimports = new HashSet<>();
+ Set<String> noimports = new TreeSet<>();
+ Set<String> toobroadimports = new TreeSet<>();
for (Entry<String, Attrs> e : map.entrySet()) {
@@ -791,7 +790,7 @@ public class Verifier extends Processor {
if (isStrict()) {
Parameters map = parseHeader(manifest.getMainAttributes()
.getValue(Constants.EXPORT_PACKAGE));
- Set<String> noexports = new HashSet<>();
+ Set<String> noexports = new TreeSet<>();
for (Entry<String, Attrs> e : map.entrySet()) {
@@ -837,7 +836,7 @@ public class Verifier extends Processor {
String mandatory = e.getValue()
.get(Constants.MANDATORY_DIRECTIVE);
if (mandatory != null) {
- Set<String> missing = new HashSet<>(split(mandatory));
+ Set<String> missing = new TreeSet<>(split(mandatory));
missing.removeAll(e.getValue()
.keySet());
if (!missing.isEmpty()) {
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/eclipse/EclipseClasspath.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/eclipse/EclipseClasspath.java
index 3f9a2be9..2daf737c 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/eclipse/EclipseClasspath.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/eclipse/EclipseClasspath.java
@@ -5,11 +5,11 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
+import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -34,18 +34,18 @@ public class EclipseClasspath {
static final DocumentBuilderFactory documentBuilderFactory = XML.newDocumentBuilderFactory();
File project;
File workspace;
- Set<File> sources = new LinkedHashSet<>();
- Set<File> allSources = new LinkedHashSet<>();
+ Set<File> sources = new TreeSet<>();
+ Set<File> allSources = new TreeSet<>();
- Set<File> classpath = new LinkedHashSet<>();
+ Set<File> classpath = new TreeSet<>();
List<File> dependents = new ArrayList<>();
File output;
boolean recurse = true;
- Set<File> exports = new LinkedHashSet<>();
+ Set<File> exports = new TreeSet<>();
Map<String, String> properties = new HashMap<>();
Reporter reporter;
int options;
- Set<File> bootclasspath = new LinkedHashSet<>();
+ Set<File> bootclasspath = new TreeSet<>();
public final static int DO_VARIABLES = 1;
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BaseRepository.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BaseRepository.java
index c4853157..f334a26e 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BaseRepository.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BaseRepository.java
@@ -3,11 +3,11 @@ package aQute.bnd.osgi.repository;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeSet;
import org.osgi.resource.Capability;
import org.osgi.resource.Requirement;
@@ -42,7 +42,7 @@ public abstract class BaseRepository implements Repository {
@Override
public Promise<Collection<Resource>> findProviders(RequirementExpression expression) {
- Set<Resource> providers = new HashSet<>();
+ Set<Resource> providers = new TreeSet<>();
dispatch(expression, providers);
@@ -72,7 +72,7 @@ public abstract class BaseRepository implements Repository {
return;
}
- Set<Resource> subset = new HashSet<>();
+ Set<Resource> subset = new TreeSet<>();
dispatch(requirementExpressions.get(0), subset);
for (int i = 1; i < requirementExpressions.size(); i++) {
@@ -93,7 +93,7 @@ public abstract class BaseRepository implements Repository {
}
providers.addAll(subset);
} else if (expression instanceof NotExpression) {
- Set<Resource> allSet = new HashSet<>();
+ Set<Resource> allSet = new TreeSet<>();
dispatch(all, allSet);
RequirementExpression re = ((NotExpression) expression).getRequirementExpression();
for (Iterator<Resource> it = allSet.iterator(); it.hasNext();) {
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BridgeRepository.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BridgeRepository.java
index e5356c59..39e9b55f 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BridgeRepository.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/BridgeRepository.java
@@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -196,7 +195,7 @@ public class BridgeRepository {
public BridgeRepository(Repository repository) {
this.repository = repository;
- Set<Resource> resources = new HashSet<>();
+ Set<Resource> resources = new TreeSet<>();
find(resources, allIdentity);
find(resources, allBndInfo);
resources.forEach(this::index);
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/ResourcesRepository.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/ResourcesRepository.java
index 4cf286bc..8ef64202 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/ResourcesRepository.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/ResourcesRepository.java
@@ -5,10 +5,10 @@ import static java.util.stream.Collectors.toMap;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
import java.util.stream.Collector;
@@ -24,7 +24,7 @@ public class ResourcesRepository extends BaseRepository {
private final Map<String, Predicate<Map<String, Object>>> cache;
public ResourcesRepository() {
- resources = new LinkedHashSet<>();
+ resources = new TreeSet<>();
cache = new ConcurrentHashMap<>();
}
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/SimpleIndexer.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/SimpleIndexer.java
index 9ac735f6..6e022641 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/SimpleIndexer.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/SimpleIndexer.java
@@ -9,10 +9,10 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.nio.file.Path;
import java.util.Collection;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
+import java.util.TreeSet;
import java.util.stream.Collectors;
import org.osgi.resource.Resource;
@@ -67,7 +67,7 @@ public class SimpleIndexer {
void analyzeFile(File file, ResourceBuilder resourceBuilder) throws Exception;
}
- private final Set<File> files = new LinkedHashSet<>();
+ private final Set<File> files = new TreeSet<>();
private Path base;
private boolean compress = false;
private String name;
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceGenerator.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceGenerator.java
index 08398185..5928ea97 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceGenerator.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceGenerator.java
@@ -28,11 +28,11 @@ import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
+import java.util.TreeSet;
import java.util.zip.GZIPOutputStream;
import org.osgi.resource.Capability;
@@ -55,7 +55,7 @@ import aQute.lib.tag.Tag;
public class XMLResourceGenerator {
private Tag repository = new Tag(TAG_REPOSITORY);
- private Set<Resource> visited = new HashSet<>();
+ private Set<Resource> visited = new TreeSet<>();
private int indent = 0;
private boolean compress = false;
private URI base;
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceParser.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceParser.java
index a45738d7..50701ae9 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceParser.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/XMLResourceParser.java
@@ -22,9 +22,9 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.TreeSet;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
@@ -94,7 +94,7 @@ public class XMLResourceParser extends Processor {
}
public XMLResourceParser(InputStream in, String what, URI uri) throws Exception {
- this(in, what, 100, new HashSet<>(), uri);
+ this(in, what, 100, new TreeSet<>(), uri);
}
public void setDepth(int n) {
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/PersistentResource.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/PersistentResource.java
index 89a82456..b0566f08 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/PersistentResource.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/PersistentResource.java
@@ -3,10 +3,10 @@ package aQute.bnd.osgi.resource;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeSet;
import java.util.stream.Stream;
import org.osgi.framework.Version;
@@ -125,7 +125,7 @@ public class PersistentResource extends DTO implements Resource {
for (Requirement req : resource.getRequirements(null))
reqMap.add(req.getNamespace(), req);
- Set<String> names = new HashSet<>(capMap.keySet());
+ Set<String> names = new TreeSet<>(capMap.keySet());
names.addAll(reqMap.keySet());
namespaces = new Namespace[names.size()];
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceBuilder.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceBuilder.java
index ebb8463a..e624009c 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceBuilder.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceBuilder.java
@@ -11,8 +11,6 @@ import java.net.URI;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -20,6 +18,7 @@ import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;
import java.util.TreeMap;
+import java.util.TreeSet;
import java.util.function.Supplier;
import java.util.jar.Manifest;
@@ -101,7 +100,7 @@ public class ResourceBuilder {
}
private static <CR> void add(Map<String, Set<CR>> map, String namespace, CR capreq) {
- map.computeIfAbsent(namespace, k -> new LinkedHashSet<>())
+ map.computeIfAbsent(namespace, k -> new TreeSet<>())
.add(capreq);
}
@@ -672,7 +671,7 @@ public class ResourceBuilder {
}
public Map<Capability, Capability> from(Resource bundle) {
- Map<Capability, Capability> mapping = new LinkedHashMap<>();
+ Map<Capability, Capability> mapping = new TreeMap<>();
addRequirements(bundle.getRequirements(null));

View File

@ -0,0 +1,29 @@
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java
index b127fc68..679a1051 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Packages.java
@@ -1,9 +1,9 @@
package aQute.bnd.osgi;
import java.util.Collection;
-import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
+import java.util.TreeMap;
import aQute.bnd.header.Attrs;
import aQute.bnd.osgi.Descriptors.PackageRef;
@@ -21,11 +21,11 @@ public class Packages implements Map<PackageRef, Attrs> {
}
public Packages(Packages other) {
- map = new LinkedHashMap<>(other.map);
+ map = new TreeMap<>(other.map);
}
public Packages() {
- map = new LinkedHashMap<>();
+ map = new TreeMap<>();
}
@Override

View File

@ -1,3 +1,5 @@
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
index 10ec3fd0..7dd75418 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java --- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java +++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
@@ -114,7 +114,7 @@ public class Jar implements Closeable { @@ -114,7 +114,7 @@ public class Jar implements Closeable {
@ -9,9 +11,11 @@
private Compression compression = Compression.DEFLATE; private Compression compression = Compression.DEFLATE;
private boolean closed; private boolean closed;
private String[] algorithms; private String[] algorithms;
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
index e9ecd39e..f7f83d83 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java --- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java +++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
@@ -909,6 +909,10 @@ public class Macro { @@ -904,6 +904,10 @@ public class Macro {
reporter.warning("Too many arguments for tstamp: %s", Arrays.toString(args)); reporter.warning("Too many arguments for tstamp: %s", Arrays.toString(args));
} }
@ -22,7 +26,7 @@
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US); SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
sdf.setTimeZone(tz); sdf.setTimeZone(tz);
return sdf.format(new Date(now)); return sdf.format(new Date(now));
@@ -927,6 +931,11 @@ public class Macro { @@ -922,6 +926,11 @@ public class Macro {
} else { } else {
now = System.currentTimeMillis(); now = System.currentTimeMillis();
} }