You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2021/04/06 11:49:25 UTC

[felix-dev] branch master updated: FELIX-6398: Update packages to osgi.core 8

This is an automated email from the ASF dual-hosted git repository.

pauls pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git


The following commit(s) were added to refs/heads/master by this push:
     new 00c9523  FELIX-6398: Update packages to osgi.core 8
00c9523 is described below

commit 00c952340e51b9748d84cc63d1048d833f0a3cff
Author: Karl Pauls <ka...@gmail.com>
AuthorDate: Tue Apr 6 13:48:55 2021 +0200

    FELIX-6398: Update packages to osgi.core 8
---
 framework.security/pom.xml                         |   4 +-
 framework/pom.xml                                  |   2 +-
 framework/src/main/java/org/osgi/dto/DTO.java      | 462 +++++++++++----------
 .../src/main/java/org/osgi/dto/package-info.java   |   6 +-
 .../java/org/osgi/resource/dto/CapabilityDTO.java  |   2 +-
 .../org/osgi/resource/dto/CapabilityRefDTO.java    |   2 +-
 .../java/org/osgi/resource/dto/RequirementDTO.java |   2 +-
 .../org/osgi/resource/dto/RequirementRefDTO.java   |   2 +-
 .../java/org/osgi/resource/dto/ResourceDTO.java    |   2 +-
 .../main/java/org/osgi/resource/dto/WireDTO.java   |   2 +-
 .../main/java/org/osgi/resource/dto/WiringDTO.java |   2 +-
 .../java/org/osgi/resource/dto/package-info.java   |   6 +-
 .../main/java/org/osgi/resource/package-info.java  |   6 +-
 .../osgi/service/packageadmin/package-info.java    |   6 +-
 .../org/osgi/service/startlevel/package-info.java  |   6 +-
 .../java/org/osgi/service/url/package-info.java    |   6 +-
 .../java/org/osgi/util/tracker/package-info.java   |   6 +-
 framework/src/main/resources/default.properties    |  16 +-
 .../java/org/osgi/service/resolver/Resolver.java   |   8 +-
 .../org/osgi/service/resolver/package-info.java    |   6 +-
 20 files changed, 283 insertions(+), 271 deletions(-)

diff --git a/framework.security/pom.xml b/framework.security/pom.xml
index 0aff375..0522d2b 100644
--- a/framework.security/pom.xml
+++ b/framework.security/pom.xml
@@ -40,8 +40,8 @@
   <dependencies>
      <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>5.0.0</version>
+      <artifactId>osgi.core</artifactId>
+      <version>8.0.0</version>
     </dependency>
     <dependency>
       <groupId>${pom.groupId}</groupId>
diff --git a/framework/pom.xml b/framework/pom.xml
index a0894ff..fe19053 100644
--- a/framework/pom.xml
+++ b/framework/pom.xml
@@ -198,7 +198,7 @@
     <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.resolver</artifactId>
-       <version>2.0.2</version>
+       <version>2.1.0-SNAPSHOT</version>
        <scope>provided</scope>
         <exclusions>
             <exclusion>
diff --git a/framework/src/main/java/org/osgi/dto/DTO.java b/framework/src/main/java/org/osgi/dto/DTO.java
index f109341..ef2a69d 100644
--- a/framework/src/main/java/org/osgi/dto/DTO.java
+++ b/framework/src/main/java/org/osgi/dto/DTO.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012, 2017). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,96 +28,100 @@ import java.util.Set;
  * Super type for Data Transfer Objects.
  * <p>
  * A Data Transfer Object (DTO) is easily serializable having only public fields
- * of primitive types and their wrapper classes, Strings, enums, Version, and
+ * of primitive types and their wrapper classes, String, enums, Version, and
  * DTOs. List, Set, Map, and array aggregates may also be used. The aggregates
- * must only hold objects of the listed types or aggregates.
+ * must only hold objects of the listed types or aggregates. The types for Map
+ * keys are limited to primitive wrapper classes, String, enums, and Version.
  * <p>
  * The object graph from a Data Transfer Object must be a tree to simplify
  * serialization and deserialization.
  * 
- * @author $Id: DTO.java 1825132 2018-02-23 15:11:00Z pauls $
+ * @author $Id: ffcb6416b152127a4c3fdca52426cacbe2f13a58 $
  * @NotThreadSafe
  */
 public abstract class DTO {
 
-    /**
-     * Return a string representation of this DTO suitable for use when
-     * debugging.
-     * 
-     * <p>
-     * The format of the string representation is not specified and subject to
-     * change.
-     * 
-     * @return A string representation of this DTO suitable for use when
-     *         debugging.
-     */
-    @Override
-    public String toString() {
-        return appendValue(new StringBuilder(), new IdentityHashMap<Object, String>(), "#", this).toString();
-    }
+	/**
+	 * Return a string representation of this DTO suitable for use when
+	 * debugging.
+	 * <p>
+	 * The format of the string representation is not specified and subject to
+	 * change.
+	 * 
+	 * @return A string representation of this DTO suitable for use when
+	 *         debugging.
+	 */
+	@Override
+	public String toString() {
+		return appendValue(new StringBuilder(),
+				new IdentityHashMap<Object,String>(), "#", this).toString();
+	}
 
-    /**
-     * Append the specified DTO's string representation to the specified
-     * StringBuilder.
-     * 
-     * @param result StringBuilder to which the string representation is
-     *        appended.
-     * @param objectRefs References to "seen" objects.
-     * @param refpath The reference path of the specified DTO.
-     * @param dto The DTO whose string representation is to be appended.
-     * @return The specified StringBuilder.
-     */
-    private static StringBuilder appendDTO(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final DTO dto) {
-        result.append("{");
-        String delim = "";
-        for (Field field : dto.getClass().getFields()) {
-            if (Modifier.isStatic(field.getModifiers())) {
-                continue;
-            }
-            result.append(delim);
-            final String name = field.getName();
-            appendString(result, name);
-            result.append(":");
-            Object value = null;
-            try {
-                value = field.get(dto);
-            } catch (IllegalAccessException e) {
-                // use null value;
-            }
-            appendValue(result, objectRefs, refpath + "/" + name, value);
-            delim = ", ";
-        }
-        result.append("}");
-        return result;
-    }
+	/**
+	 * Append the specified DTO's string representation to the specified
+	 * StringBuilder.
+	 * 
+	 * @param result StringBuilder to which the string representation is
+	 *            appended.
+	 * @param objectRefs References to "seen" objects.
+	 * @param refpath The reference path of the specified DTO.
+	 * @param dto The DTO whose string representation is to be appended.
+	 * @return The specified StringBuilder.
+	 */
+	private static StringBuilder appendDTO(final StringBuilder result,
+			final Map<Object,String> objectRefs, final String refpath,
+			final DTO dto) {
+		result.append('{');
+		String delim = "";
+		for (Field field : dto.getClass().getFields()) {
+			if (Modifier.isStatic(field.getModifiers())) {
+				continue;
+			}
+			result.append(delim);
+			final String name = field.getName();
+			appendString(result, name);
+			result.append(':');
+			Object value = null;
+			try {
+				value = field.get(dto);
+			} catch (IllegalAccessException e) {
+				// use null value;
+			}
+			appendValue(result, objectRefs, refpath + "/" + name, value);
+			delim = ", ";
+		}
+		result.append('}');
+		return result;
+	}
 
-    /**
-     * Append the specified value's string representation to the specified
-     * StringBuilder.
-     * 
-     * <p>
-     * This method handles cycles in the object graph, using path-based
-     * references, even though the specification requires the object graph from
-     * a DTO to be a tree.
-     * 
-     * @param result StringBuilder to which the string representation is
-     *        appended.
-     * @param objectRefs References to "seen" objects.
-     * @param refpath The reference path of the specified value.
-     * @param value The object whose string representation is to be appended.
-     * @return The specified StringBuilder.
-     */
-    private static StringBuilder appendValue(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Object value) {
-        if (value == null) {
-            return result.append("null");
-        }
-        // Simple Java types
-        if (value instanceof String || value instanceof Character) {
-            return appendString(result, compress(value.toString()));
-        }
-        if (value instanceof Number || value instanceof Boolean) {
-            return result.append(value.toString());
-        }
+	/**
+	 * Append the specified value's string representation to the specified
+	 * StringBuilder.
+	 * <p>
+	 * This method handles cycles in the object graph, using path-based
+	 * references, even though the specification requires the object graph from
+	 * a DTO to be a tree.
+	 * 
+	 * @param result StringBuilder to which the string representation is
+	 *            appended.
+	 * @param objectRefs References to "seen" objects.
+	 * @param refpath The reference path of the specified value.
+	 * @param value The object whose string representation is to be appended.
+	 * @return The specified StringBuilder.
+	 */
+	private static StringBuilder appendValue(final StringBuilder result,
+			final Map<Object,String> objectRefs, final String refpath,
+			final Object value) {
+		if (value == null) {
+			return result.append("null");
+		}
+		// Simple Java types
+		if (value instanceof String || value instanceof Character) {
+			return appendString(result, compress(value.toString()));
+		}
+		if (value instanceof Number || value instanceof Boolean) {
+			return result.append(value.toString());
+		}
 		if (value instanceof Enum) {
 			return appendString(result, ((Enum< ? >) value).name());
 		}
@@ -125,153 +129,165 @@ public abstract class DTO {
 			return appendString(result, value.toString());
 		}
 
-        // Complex types
-        final String path = objectRefs.get(value);
-        if (path != null) {
-            result.append("{\"$ref\":");
-            appendString(result, path);
-            result.append("}");
-            return result;
-        }
-        objectRefs.put(value, refpath);
+		// Complex types
+		final String path = objectRefs.get(value);
+		if (path != null) {
+			result.append("{\"$ref\":");
+			appendString(result, path);
+			result.append('}');
+			return result;
+		}
+		objectRefs.put(value, refpath);
 
-        if (value instanceof DTO) {
-            return appendDTO(result, objectRefs, refpath, (DTO) value);
-        }
-        if (value instanceof Map) {
-            return appendMap(result, objectRefs, refpath, (Map<?, ?>) value);
-        }
-        if (value instanceof List || value instanceof Set) {
-            return appendIterable(result, objectRefs, refpath, (Iterable<?>) value);
-        }
-        if (value.getClass().isArray()) {
-            return appendArray(result, objectRefs, refpath, value);
-        }
-        return appendString(result, compress(value.toString()));
-    }
+		if (value instanceof DTO) {
+			return appendDTO(result, objectRefs, refpath, (DTO) value);
+		}
+		if (value instanceof Map) {
+			return appendMap(result, objectRefs, refpath, (Map< ? , ? >) value);
+		}
+		if (value instanceof List || value instanceof Set) {
+			return appendIterable(result, objectRefs, refpath,
+					(Iterable< ? >) value);
+		}
+		if (value.getClass().isArray()) {
+			return appendArray(result, objectRefs, refpath, value);
+		}
+		return appendString(result, compress(value.toString()));
+	}
 
-    /**
-     * Append the specified array's string representation to the specified
-     * StringBuilder.
-     * 
-     * @param result StringBuilder to which the string representation is
-     *        appended.
-     * @param objectRefs References to "seen" objects.
-     * @param refpath The reference path of the specified array.
-     * @param array The array whose string representation is to be appended.
-     * @return The specified StringBuilder.
-     */
-    private static StringBuilder appendArray(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Object array) {
-        result.append("[");
-        final int length = Array.getLength(array);
-        for (int i = 0; i < length; i++) {
-            if (i > 0) {
-                result.append(",");
-            }
-            appendValue(result, objectRefs, refpath + "/" + i, Array.get(array, i));
-        }
-        result.append("]");
-        return result;
-    }
+	/**
+	 * Append the specified array's string representation to the specified
+	 * StringBuilder.
+	 * 
+	 * @param result StringBuilder to which the string representation is
+	 *            appended.
+	 * @param objectRefs References to "seen" objects.
+	 * @param refpath The reference path of the specified array.
+	 * @param array The array whose string representation is to be appended.
+	 * @return The specified StringBuilder.
+	 */
+	private static StringBuilder appendArray(final StringBuilder result,
+			final Map<Object,String> objectRefs, final String refpath,
+			final Object array) {
+		result.append('[');
+		final int length = Array.getLength(array);
+		for (int i = 0; i < length; i++) {
+			if (i > 0) {
+				result.append(',');
+			}
+			appendValue(result, objectRefs, refpath + "/" + i,
+					Array.get(array, i));
+		}
+		result.append(']');
+		return result;
+	}
 
-    /**
-     * Append the specified iterable's string representation to the specified
-     * StringBuilder.
-     * 
-     * @param result StringBuilder to which the string representation is
-     *        appended.
-     * @param objectRefs References to "seen" objects.
-     * @param refpath The reference path of the specified list.
-     * @param iterable The iterable whose string representation is to be
-     *        appended.
-     * @return The specified StringBuilder.
-     */
-    private static StringBuilder appendIterable(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Iterable<?> iterable) {
-        result.append("[");
-        int i = 0;
-        for (Object item : iterable) {
-            if (i > 0) {
-                result.append(",");
-            }
-            appendValue(result, objectRefs, refpath + "/" + i, item);
-            i++;
-        }
-        result.append("]");
-        return result;
-    }
+	/**
+	 * Append the specified iterable's string representation to the specified
+	 * StringBuilder.
+	 * 
+	 * @param result StringBuilder to which the string representation is
+	 *            appended.
+	 * @param objectRefs References to "seen" objects.
+	 * @param refpath The reference path of the specified list.
+	 * @param iterable The iterable whose string representation is to be
+	 *            appended.
+	 * @return The specified StringBuilder.
+	 */
+	private static StringBuilder appendIterable(final StringBuilder result,
+			final Map<Object,String> objectRefs, final String refpath,
+			final Iterable< ? > iterable) {
+		result.append('[');
+		int i = 0;
+		for (Object item : iterable) {
+			if (i > 0) {
+				result.append(',');
+			}
+			appendValue(result, objectRefs, refpath + "/" + i, item);
+			i++;
+		}
+		result.append(']');
+		return result;
+	}
 
-    /**
-     * Append the specified map's string representation to the specified
-     * StringBuilder.
-     * 
-     * @param result StringBuilder to which the string representation is
-     *        appended.
-     * @param objectRefs References to "seen" objects.
-     * @param refpath The reference path of the specified map.
-     * @param map The map whose string representation is to be appended.
-     * @return The specified StringBuilder.
-     */
-    private static StringBuilder appendMap(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Map<?, ?> map) {
-        result.append("{");
-        String delim = "";
-        for (Map.Entry<?, ?> entry : map.entrySet()) {
-            result.append(delim);
-            final String name = String.valueOf(entry.getKey());
-            appendString(result, name);
-            result.append(":");
-            final Object value = entry.getValue();
-            appendValue(result, objectRefs, refpath + "/" + name, value);
-            delim = ", ";
-        }
-        result.append("}");
-        return result;
-    }
+	/**
+	 * Append the specified map's string representation to the specified
+	 * StringBuilder.
+	 * 
+	 * @param result StringBuilder to which the string representation is
+	 *            appended.
+	 * @param objectRefs References to "seen" objects.
+	 * @param refpath The reference path of the specified map.
+	 * @param map The map whose string representation is to be appended.
+	 * @return The specified StringBuilder.
+	 */
+	private static StringBuilder appendMap(final StringBuilder result,
+			final Map<Object,String> objectRefs, final String refpath,
+			final Map< ? , ? > map) {
+		result.append('{');
+		String delim = "";
+		for (Map.Entry< ? , ? > entry : map.entrySet()) {
+			result.append(delim);
+			final String name = String.valueOf(entry.getKey());
+			appendString(result, name);
+			result.append(':');
+			final Object value = entry.getValue();
+			appendValue(result, objectRefs, refpath + "/" + name, value);
+			delim = ", ";
+		}
+		result.append('}');
+		return result;
+	}
 
-    /**
-     * Append the specified string to the specified StringBuilder.
-     * 
-     * @param result StringBuilder to which the string is appended.
-     * @param string The string to be appended.
-     * @return The specified StringBuilder.
-     */
-    private static StringBuilder appendString(final StringBuilder result, final CharSequence string) {
-        result.append("\"");
-        int i = result.length();
-        result.append(string);
-        while (i < result.length()) { // escape if necessary
-            char c = result.charAt(i);
-            if ((c == '"') || (c == '\\')) {
-                result.insert(i, '\\');
-                i = i + 2;
-                continue;
-            }
-            if (c < 0x20) {
-                result.insert(i + 1, Integer.toHexString(c | 0x10000));
-                result.replace(i, i + 2, "\\u");
-                i = i + 6;
-                continue;
-            }
-            i++;
-        }
-        result.append("\"");
-        return result;
-    }
+	/**
+	 * Append the specified string to the specified StringBuilder.
+	 * 
+	 * @param result StringBuilder to which the string is appended.
+	 * @param string The string to be appended.
+	 * @return The specified StringBuilder.
+	 */
+	private static StringBuilder appendString(final StringBuilder result,
+			final CharSequence string) {
+		result.append('"');
+		int i = result.length();
+		result.append(string);
+		while (i < result.length()) { // escape if necessary
+			char c = result.charAt(i);
+			if ((c == '"') || (c == '\\')) {
+				result.insert(i, '\\');
+				i = i + 2;
+				continue;
+			}
+			if (c < 0x20) {
+				result.insert(i + 1, Integer.toHexString(c | 0x10000));
+				result.replace(i, i + 2, "\\u");
+				i = i + 6;
+				continue;
+			}
+			i++;
+		}
+		result.append('"');
+		return result;
+	}
 
-    /**
-     * Compress, in length, the specified string.
-     * 
-     * @param in The string to potentially compress.
-     * @return The string compressed, if necessary.
-     */
-    private static CharSequence compress(final CharSequence in) {
-        final int length = in.length();
-        if (length <= 21) {
-            return in;
-        }
-        StringBuilder result = new StringBuilder(21);
-        result.append(in, 0, 9);
-        result.append("...");
-        result.append(in, length - 9, length);
-        return result;
-    }
+	private static final int MAX_LENGTH = 100;
+	/**
+	 * Compress, in length, the specified string.
+	 * 
+	 * @param in The string to potentially compress.
+	 * @return The string compressed, if necessary.
+	 */
+	private static CharSequence compress(final CharSequence in) {
+		final int length = in.length();
+		if (length <= MAX_LENGTH) {
+			return in;
+		}
+		StringBuilder result = new StringBuilder(MAX_LENGTH)
+				.append(in, 0, MAX_LENGTH / 2 - 3)
+				.append('.')
+				.append('.')
+				.append('.')
+				.append(in, length - (MAX_LENGTH / 2), length);
+		return result;
+	}
 }
diff --git a/framework/src/main/java/org/osgi/dto/package-info.java b/framework/src/main/java/org/osgi/dto/package-info.java
index 0a1637e..0e13388 100644
--- a/framework/src/main/java/org/osgi/dto/package-info.java
+++ b/framework/src/main/java/org/osgi/dto/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012, 2017). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2020). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,10 +30,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.dto; version="[1.1,1.2)"}
  *
- * @author $Id: package-info.java 1825132 2018-02-23 15:11:00Z pauls $
+ * @author $Id: f0f8c5f6631afc5b501a1ec65370f1302fe369d2 $
  */
 
-@Version("1.1")
+@Version("1.1.1")
 package org.osgi.dto;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/framework/src/main/java/org/osgi/resource/dto/CapabilityDTO.java b/framework/src/main/java/org/osgi/resource/dto/CapabilityDTO.java
index 941ec8f..701c8e7 100644
--- a/framework/src/main/java/org/osgi/resource/dto/CapabilityDTO.java
+++ b/framework/src/main/java/org/osgi/resource/dto/CapabilityDTO.java
@@ -23,7 +23,7 @@ import org.osgi.resource.Capability;
 /**
  * Data Transfer Object for a Capability.
  * 
- * @author $Id: CapabilityDTO.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: 1f7fad1bf5985e7a4e8e72866019a47300402531 $
  * @NotThreadSafe
  */
 public class CapabilityDTO extends DTO {
diff --git a/framework/src/main/java/org/osgi/resource/dto/CapabilityRefDTO.java b/framework/src/main/java/org/osgi/resource/dto/CapabilityRefDTO.java
index 4a94459..2febdc7 100644
--- a/framework/src/main/java/org/osgi/resource/dto/CapabilityRefDTO.java
+++ b/framework/src/main/java/org/osgi/resource/dto/CapabilityRefDTO.java
@@ -21,7 +21,7 @@ import org.osgi.dto.DTO;
 /**
  * Data Transfer Object for a reference to a Capability.
  * 
- * @author $Id: CapabilityRefDTO.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: 81d5b85fdd9ffd67ef2729e107114530924054ac $
  * @NotThreadSafe
  */
 public class CapabilityRefDTO extends DTO {
diff --git a/framework/src/main/java/org/osgi/resource/dto/RequirementDTO.java b/framework/src/main/java/org/osgi/resource/dto/RequirementDTO.java
index d8e02a0..ec66e08 100644
--- a/framework/src/main/java/org/osgi/resource/dto/RequirementDTO.java
+++ b/framework/src/main/java/org/osgi/resource/dto/RequirementDTO.java
@@ -23,7 +23,7 @@ import org.osgi.resource.Requirement;
 /**
  * Data Transfer Object for a Requirement.
  * 
- * @author $Id: RequirementDTO.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: dfa21db37ca5ba2be4524dc8cbfa5adae20a8043 $
  * @NotThreadSafe
  */
 public class RequirementDTO extends DTO {
diff --git a/framework/src/main/java/org/osgi/resource/dto/RequirementRefDTO.java b/framework/src/main/java/org/osgi/resource/dto/RequirementRefDTO.java
index 9f8c316..18e73d0 100644
--- a/framework/src/main/java/org/osgi/resource/dto/RequirementRefDTO.java
+++ b/framework/src/main/java/org/osgi/resource/dto/RequirementRefDTO.java
@@ -21,7 +21,7 @@ import org.osgi.dto.DTO;
 /**
  * Data Transfer Object for a reference to a Requirement.
  * 
- * @author $Id: RequirementRefDTO.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: 8f913a72d9d97ccc0a86bea2c85352018331fe8e $
  * @NotThreadSafe
  */
 public class RequirementRefDTO extends DTO {
diff --git a/framework/src/main/java/org/osgi/resource/dto/ResourceDTO.java b/framework/src/main/java/org/osgi/resource/dto/ResourceDTO.java
index 5e35165..9d48552 100644
--- a/framework/src/main/java/org/osgi/resource/dto/ResourceDTO.java
+++ b/framework/src/main/java/org/osgi/resource/dto/ResourceDTO.java
@@ -23,7 +23,7 @@ import org.osgi.resource.Resource;
 /**
  * Data Transfer Object for a Resource.
  * 
- * @author $Id: ResourceDTO.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: 377b7aff2a66f6691accf7af7017a68634fde3c4 $
  * @NotThreadSafe
  */
 public class ResourceDTO extends DTO {
diff --git a/framework/src/main/java/org/osgi/resource/dto/WireDTO.java b/framework/src/main/java/org/osgi/resource/dto/WireDTO.java
index 00b61d8..fb40c9a 100644
--- a/framework/src/main/java/org/osgi/resource/dto/WireDTO.java
+++ b/framework/src/main/java/org/osgi/resource/dto/WireDTO.java
@@ -22,7 +22,7 @@ import org.osgi.resource.Wire;
 /**
  * Data Transfer Object for a Wire.
  * 
- * @author $Id: WireDTO.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: 017ea7cc366de436fe9a416f47d79ac6fe65ceb4 $
  * @NotThreadSafe
  */
 public class WireDTO extends DTO {
diff --git a/framework/src/main/java/org/osgi/resource/dto/WiringDTO.java b/framework/src/main/java/org/osgi/resource/dto/WiringDTO.java
index 4484658..49f4139 100644
--- a/framework/src/main/java/org/osgi/resource/dto/WiringDTO.java
+++ b/framework/src/main/java/org/osgi/resource/dto/WiringDTO.java
@@ -23,7 +23,7 @@ import org.osgi.resource.Wiring;
 /**
  * Data Transfer Object for a Wiring node.
  * 
- * @author $Id: WiringDTO.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: 8dc3844e57eae338ddc2565e20b93360ea390382 $
  * @NotThreadSafe
  */
 public class WiringDTO extends DTO {
diff --git a/framework/src/main/java/org/osgi/resource/dto/package-info.java b/framework/src/main/java/org/osgi/resource/dto/package-info.java
index de4e2c9..92dd09a 100644
--- a/framework/src/main/java/org/osgi/resource/dto/package-info.java
+++ b/framework/src/main/java/org/osgi/resource/dto/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,10 +32,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.resource.dto; version="[1.0,1.1)"}
  * 
- * @author $Id: package-info.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: a348114be2f38811b2f839bd8fd4aa39efc31ec3 $
  */
 
-@Version("1.0")
+@Version("1.0.1")
 package org.osgi.resource.dto;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/framework/src/main/java/org/osgi/resource/package-info.java b/framework/src/main/java/org/osgi/resource/package-info.java
index c0349ff..5e54a4a 100644
--- a/framework/src/main/java/org/osgi/resource/package-info.java
+++ b/framework/src/main/java/org/osgi/resource/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,10 +25,10 @@
  * Import-Package: org.osgi.resource; version=&quot;[1.0,2.0)&quot;
  * </pre>
  * 
- * @author $Id: package-info.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: f0906f34aa8c5d2fb14e184297c026a719cf2385 $
  */
 
-@Version("1.0")
+@Version("1.0.1")
 package org.osgi.resource;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/framework/src/main/java/org/osgi/service/packageadmin/package-info.java b/framework/src/main/java/org/osgi/service/packageadmin/package-info.java
index 1baf3bd..9cb5c8d 100644
--- a/framework/src/main/java/org/osgi/service/packageadmin/package-info.java
+++ b/framework/src/main/java/org/osgi/service/packageadmin/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,10 +31,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.packageadmin; version="[1.2,2.0)"}
  * 
- * @author $Id: package-info.java 1825132 2018-02-23 15:11:00Z pauls $
+ * @author $Id: d4d6bc68fcfd8cb43a6cee0f81ad172f37ecd3b8 $
  */
 
-@Version("1.2")
+@Version("1.2.1")
 package org.osgi.service.packageadmin;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/framework/src/main/java/org/osgi/service/startlevel/package-info.java b/framework/src/main/java/org/osgi/service/startlevel/package-info.java
index c0954f1..ba30791 100644
--- a/framework/src/main/java/org/osgi/service/startlevel/package-info.java
+++ b/framework/src/main/java/org/osgi/service/startlevel/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,10 +31,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.startlevel; version="[1.1,2.0)"}
  * 
- * @author $Id: package-info.java 1825132 2018-02-23 15:11:00Z pauls $
+ * @author $Id: 3246e6bd872fb3bb06471abbede6055a0a8a81e2 $
  */
 
-@Version("1.1")
+@Version("1.1.1")
 package org.osgi.service.startlevel;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/framework/src/main/java/org/osgi/service/url/package-info.java b/framework/src/main/java/org/osgi/service/url/package-info.java
index 3e73e2b..57a6d12 100644
--- a/framework/src/main/java/org/osgi/service/url/package-info.java
+++ b/framework/src/main/java/org/osgi/service/url/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,10 +26,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.url; version="[1.0,2.0)"}
  * 
- * @author $Id: package-info.java 1614569 2014-07-30 07:22:32Z cziegeler $
+ * @author $Id: b05090800a34c9a0b16b9910535e6f6a1b6ed633 $
  */
 
-@Version("1.0")
+@Version("1.0.1")
 package org.osgi.service.url;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/framework/src/main/java/org/osgi/util/tracker/package-info.java b/framework/src/main/java/org/osgi/util/tracker/package-info.java
index b0007b8..6cf5361 100644
--- a/framework/src/main/java/org/osgi/util/tracker/package-info.java
+++ b/framework/src/main/java/org/osgi/util/tracker/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,10 +26,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.util.tracker; version="[1.5,2.0)"}
  * 
- * @author $Id: package-info.java 1825132 2018-02-23 15:11:00Z pauls $
+ * @author $Id: dfa1167af3b1fba822185bac7cc91e4e4581af3b $
  */
 
-@Version("1.5.2")
+@Version("1.5.3")
 package org.osgi.util.tracker;
 
 import org.osgi.annotation.versioning.Version;
diff --git a/framework/src/main/resources/default.properties b/framework/src/main/resources/default.properties
index 792bfdb..9d5c4fe 100644
--- a/framework/src/main/resources/default.properties
+++ b/framework/src/main/resources/default.properties
@@ -119,14 +119,14 @@ osgi-exports= \
  org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto", \
  org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource", \
  org.osgi.framework.wiring.dto;version="1.3";uses:="org.osgi.dto,org.osgi.resource.dto", \
- org.osgi.resource;version="1.0", \
- org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto", \
- org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework", \
- org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework", \
- org.osgi.service.url;version="1.0", \
- org.osgi.service.resolver;version="1.1";uses:="org.osgi.resource", \
- org.osgi.util.tracker;version="1.5.2";uses:="org.osgi.framework", \
- org.osgi.dto;version="1.1", \
+ org.osgi.resource;version="1.0.1", \
+ org.osgi.resource.dto;version="1.0.1";uses:="org.osgi.dto", \
+ org.osgi.service.packageadmin;version="1.2.1";uses:="org.osgi.framework", \
+ org.osgi.service.startlevel;version="1.1.1";uses:="org.osgi.framework", \
+ org.osgi.service.url;version="1.0.1", \
+ org.osgi.service.resolver;version="1.1.1";uses:="org.osgi.resource", \
+ org.osgi.util.tracker;version="1.5.3";uses:="org.osgi.framework", \
+ org.osgi.dto;version="1.1.1", \
  org.osgi.service.condition;version="1.0"
 
 #
diff --git a/resolver/src/main/java/org/osgi/service/resolver/Resolver.java b/resolver/src/main/java/org/osgi/service/resolver/Resolver.java
index ab5f5b8..5369969 100644
--- a/resolver/src/main/java/org/osgi/service/resolver/Resolver.java
+++ b/resolver/src/main/java/org/osgi/service/resolver/Resolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2006, 2017). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2006, 2019). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,10 +14,6 @@
  * limitations under the License.
  */
 
-// This document is an experimental draft to enable interoperability
-// between bundle repositories. There is currently no commitment to
-// turn this draft into an official specification.
-
 package org.osgi.service.resolver;
 
 import java.util.List;
@@ -36,7 +32,7 @@ import org.osgi.resource.Wiring;
  * by the caller.
  * 
  * @ThreadSafe
- * @author $Id: 86bff007315e1e3c03eca6aaacdcfa379be9ddea $
+ * @author $Id: e4011e12a98088d382bb7f5b27817213734f6504 $
  */
 @ProviderType
 public interface Resolver {
diff --git a/resolver/src/main/java/org/osgi/service/resolver/package-info.java b/resolver/src/main/java/org/osgi/service/resolver/package-info.java
index 88ebda3..9ea7c3e 100644
--- a/resolver/src/main/java/org/osgi/service/resolver/package-info.java
+++ b/resolver/src/main/java/org/osgi/service/resolver/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2020). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,10 +30,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.resolver; version="[1.1,1.2)"}
  * 
- * @author $Id: 6ac829e72173e50ab58bedd13edd66a1b50e58bd $
+ * @author $Id: 260072a99b71d2c4e6cfd174fd6acc1d20768e25 $
  */
 
-@Version("1.1")
+@Version("1.1.1")
 package org.osgi.service.resolver;
 
 import org.osgi.annotation.versioning.Version;