XBEAN-313 asm7 bundle - don't propagate it yet since we still have a thread on the list on it

git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/trunk@1842442 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 95de5b7..ec9ce92 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,7 +64,7 @@
         -->
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-        <asm.version>6.2.1</asm.version>
+        <asm.version>7.0-beta</asm.version>
 
         <xbean.automatic.module.name>${project.groupId}</xbean.automatic.module.name>
     </properties>
@@ -226,7 +226,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.xbean</groupId>
-                <artifactId>xbean-asm6-shaded</artifactId>
+                <artifactId>xbean-asm7-shaded</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
@@ -329,7 +329,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-shade-plugin</artifactId>
-                    <version>2.1</version>
+                    <version>3.1.0</version>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.xbean</groupId>
@@ -339,9 +339,10 @@
                 <plugin>
                     <groupId>org.apache.felix</groupId>
                     <artifactId>maven-bundle-plugin</artifactId>
-                    <version>2.4.0</version>
+                    <version>4.0.0</version>
                     <extensions>true</extensions>
                     <configuration>
+                        <obrRepository>false</obrRepository>
                         <instructions>
                             <Bundle-DocURL>${project.url}</Bundle-DocURL>
                             <Export-Package>org.apache.xbean.*;version=${project.version};-noimport:=true</Export-Package>
@@ -423,7 +424,7 @@
         <module>xbean-spring</module>
         <module>xbean-telnet</module>
         <module>maven-xbean-plugin</module>
-        <module>xbean-asm6-shaded</module>
+        <module>xbean-asm7-shaded</module>
         <module>xbean-finder-shaded</module>
     </modules>
 
diff --git a/xbean-asm-util/pom.xml b/xbean-asm-util/pom.xml
index 717d93f..8d6e34e 100644
--- a/xbean-asm-util/pom.xml
+++ b/xbean-asm-util/pom.xml
@@ -30,7 +30,7 @@
   <name>Apache XBean :: ASM Util</name>
 
   <properties>
-    <xbean.automatic.module.name>${project.groupId}.asm6.util</xbean.automatic.module.name>
+    <xbean.automatic.module.name>${project.groupId}.asm7.util</xbean.automatic.module.name>
   </properties>
 
   <dependencies>
diff --git a/xbean-asm-util/src/main/java/org/apache/xbean/asm6/original/commons/EmptyVisitor.java b/xbean-asm-util/src/main/java/org/apache/xbean/asm7/original/commons/EmptyVisitor.java
similarity index 98%
rename from xbean-asm-util/src/main/java/org/apache/xbean/asm6/original/commons/EmptyVisitor.java
rename to xbean-asm-util/src/main/java/org/apache/xbean/asm7/original/commons/EmptyVisitor.java
index 110fd32..6b24889 100644
--- a/xbean-asm-util/src/main/java/org/apache/xbean/asm6/original/commons/EmptyVisitor.java
+++ b/xbean-asm-util/src/main/java/org/apache/xbean/asm7/original/commons/EmptyVisitor.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.xbean.asm6.original.commons;
+package org.apache.xbean.asm7.original.commons;
 
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.Attribute;
@@ -27,7 +27,7 @@
 import org.objectweb.asm.TypePath;
 
 public class EmptyVisitor extends ClassVisitor {
-    protected final AnnotationVisitor av = new AnnotationVisitor(Opcodes.ASM6) {
+    protected final AnnotationVisitor av = new AnnotationVisitor(Opcodes.ASM7) {
         @Override
         public void visit(String name, Object value) {
             EmptyVisitor.this.visit(name, value);
@@ -54,7 +54,7 @@
         }
     };
 
-    protected final FieldVisitor fv = new FieldVisitor(Opcodes.ASM6) {
+    protected final FieldVisitor fv = new FieldVisitor(Opcodes.ASM7) {
         @Override
         public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
             return EmptyVisitor.this.visitAnnotation(desc, visible);
@@ -70,7 +70,7 @@
             EmptyVisitor.this.visitEnd();
         }
     };
-    protected final MethodVisitor mv = new MethodVisitor(Opcodes.ASM6) {
+    protected final MethodVisitor mv = new MethodVisitor(Opcodes.ASM7) {
         @Override
         public AnnotationVisitor visitAnnotationDefault() {
             return EmptyVisitor.this.visitAnnotationDefault();
@@ -203,7 +203,7 @@
     };
 
     public EmptyVisitor() {
-        super(Opcodes.ASM6);
+        super(Opcodes.ASM7);
     }
 
     protected AnnotationVisitor visitAnnotationDefault() {
diff --git a/xbean-asm6-shaded/pom.xml b/xbean-asm7-shaded/pom.xml
similarity index 78%
rename from xbean-asm6-shaded/pom.xml
rename to xbean-asm7-shaded/pom.xml
index da9b221..2ba5ff8 100755
--- a/xbean-asm6-shaded/pom.xml
+++ b/xbean-asm7-shaded/pom.xml
@@ -27,11 +27,11 @@
         <groupId>org.apache.xbean</groupId>
         <version>4.11-SNAPSHOT</version>
     </parent>
-    <artifactId>xbean-asm6-shaded</artifactId>
+    <artifactId>xbean-asm7-shaded</artifactId>
     <packaging>bundle</packaging>
-    <name>Apache XBean :: ASM 6 shaded (repackaged)</name>
+    <name>Apache XBean :: ASM shaded (repackaged)</name>
 
-    <description>Repackaged and shaded asm 6.x jars</description>
+    <description>Repackaged and shaded asm jars</description>
     <licenses>
         <license>
             <url>http://asm.ow2.org/license.html</url>
@@ -42,21 +42,9 @@
     </licenses>
 
     <properties>
-        <xbean.osgi.export>
-            org.apache.xbean.asm6.shade.commons;version=${asm.version},
-            org.apache.xbean.asm6;version=${asm.version},
-            org.apache.xbean.asm6.signature;version=${asm.version},
-            org.apache.xbean.asm6.commons;version=${asm.version},
-            org.apache.xbean.asm6.tree;version=${asm.version}
-        </xbean.osgi.export>
-        <xbean.osgi.import>
-            org.apache.xbean.asm6.shade.commons;version="[${asm.version},${asm.version}]",
-            org.apache.xbean.asm6;version="[${asm.version},${asm.version}]",
-            org.apache.xbean.asm6.signature;version="[${asm.version},${asm.version}]",
-            org.apache.xbean.asm6.commons;version="[${asm.version},${asm.version}]",
-            org.apache.xbean.asm6.tree;version="[${asm.version},${asm.version}]"
-        </xbean.osgi.import>
-        <xbean.automatic.module.name>${project.groupId}.asm6.shaded</xbean.automatic.module.name>
+        <xbean.osgi.export>org.apache.xbean.asm7.shade.commons;version=${asm.version},org.apache.xbean.asm7;version=${asm.version},org.apache.xbean.asm7.signature;version=${asm.version},org.apache.xbean.asm7.commons;version=${asm.version},org.apache.xbean.asm7.tree;version=${asm.version}</xbean.osgi.export>
+        <xbean.osgi.import>org.apache.xbean.asm7.shade.commons;version="[${asm.version},${asm.version}]",org.apache.xbean.asm7;version="[${asm.version},${asm.version}]",org.apache.xbean.asm7.signature;version="[${asm.version},${asm.version}]",org.apache.xbean.asm7.commons;version="[${asm.version},${asm.version}]",org.apache.xbean.asm7.tree;version="[${asm.version},${asm.version}]"</xbean.osgi.import>
+        <xbean.automatic.module.name>${project.groupId}.asm7.shaded</xbean.automatic.module.name>
     </properties>
 
     <build>
@@ -74,12 +62,12 @@
                             <createSourcesJar>true</createSourcesJar>
                             <relocations>
                                 <relocation> <!-- we need a different package because we build against both -->
-                                    <pattern>org.apache.xbean.asm6.original.commons</pattern>
-                                    <shadedPattern>org.apache.xbean.asm6.shade.commons</shadedPattern>
+                                    <pattern>org.apache.xbean.asm7.original.commons</pattern>
+                                    <shadedPattern>org.apache.xbean.asm7.shade.commons</shadedPattern>
                                 </relocation>
                                 <relocation>
                                     <pattern>org.objectweb.asm</pattern>
-                                    <shadedPattern>org.apache.xbean.asm6</shadedPattern>
+                                    <shadedPattern>org.apache.xbean.asm7</shadedPattern>
                                 </relocation>
                             </relocations>
                             <filters>
@@ -90,6 +78,7 @@
                                         <exclude>META-INF/*.DSA</exclude>
                                         <exclude>META-INF/*.RSA</exclude>
                                         <exclude>META-INF/versions/**</exclude>
+                                        <exclude>META-INF/maven/org.apache.xbean/xbean-asm-util/**</exclude>
                                         <exclude>**/module-info.class</exclude>
                                     </excludes>
                                 </filter>
@@ -98,9 +87,10 @@
                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                     <manifestEntries>
                                         <Bundle-License>http://asm.ow2.org/license.html</Bundle-License>
-                                        <Bundle-SymbolicName>org.apache.xbean.asm6-shaded</Bundle-SymbolicName>
+                                        <Bundle-SymbolicName>org.apache.xbean.asm7-shaded</Bundle-SymbolicName>
                                         <Export-Package>${xbean.osgi.export}</Export-Package>
                                         <Import-Package>${xbean.osgi.import}</Import-Package>
+                                        <Automatic-Module-Name>${xbean.automatic.module.name}</Automatic-Module-Name>
                                     </manifestEntries>
                                 </transformer>
                             </transformers>
diff --git a/xbean-asm6-shaded/src/main/resources/META-INF/xbean/README.adoc b/xbean-asm7-shaded/src/main/resources/META-INF/xbean/README.adoc
similarity index 100%
rename from xbean-asm6-shaded/src/main/resources/META-INF/xbean/README.adoc
rename to xbean-asm7-shaded/src/main/resources/META-INF/xbean/README.adoc
diff --git a/xbean-finder-shaded/pom.xml b/xbean-finder-shaded/pom.xml
index a576843..e9965c0 100755
--- a/xbean-finder-shaded/pom.xml
+++ b/xbean-finder-shaded/pom.xml
@@ -33,7 +33,7 @@
 
     <properties>
         <xbean.osgi.export>org.apache.xbean.finder;version=${project.version}</xbean.osgi.export>
-        <xbean.osgi.import>org.apache.xbean.finder;version=${project.version},org.apache.xbean.asm6;version=6,org.apache.xbean.asm6.shade.commons;version=6</xbean.osgi.import>
+        <xbean.osgi.import>org.apache.xbean.finder;version=${project.version},org.apache.xbean.asm7;version=7,org.apache.xbean.asm7.shade.commons;version=7</xbean.osgi.import>
         <xbean.automatic.module.name>${project.groupId}.finder.shaded</xbean.automatic.module.name>
     </properties>
 
@@ -52,12 +52,12 @@
                             <createSourcesJar>true</createSourcesJar>
                             <relocations>
                                 <relocation>
-                                    <pattern>org.apache.xbean.asm6.original.commons.EmptyVisitor</pattern>
-                                    <shadedPattern>org.apache.xbean.asm6.shade.commons.EmptyVisitor</shadedPattern>
+                                    <pattern>org.apache.xbean.asm7.original.commons.EmptyVisitor</pattern>
+                                    <shadedPattern>org.apache.xbean.asm7.shade.commons.EmptyVisitor</shadedPattern>
                                 </relocation>
                                 <relocation>
                                     <pattern>org.objectweb.asm</pattern>
-                                    <shadedPattern>org.apache.xbean.asm6</shadedPattern>
+                                    <shadedPattern>org.apache.xbean.asm7</shadedPattern>
                                 </relocation>
                             </relocations>
                             <filters>
@@ -78,7 +78,7 @@
                                 </includes>
                                 <excludes>
                                     <exclude>*:*:sources</exclude>
-                                    <exclude>org.apache.xbean:xbean-asm6-shaded</exclude>
+                                    <exclude>org.apache.xbean:xbean-asm7-shaded</exclude>
                                     <exclude>org.apache.xbean:xbean-asm-util</exclude>
                                     <exclude>junit:junit</exclude>
                                 </excludes>
@@ -114,7 +114,7 @@
                             org.apache.xbean.finder.*;version=${project.version};-noimport:=true
                         </Export-Package>
                         <Import-Package>
-                            org.apache.xbean.asm6.*;version="[6.0,7.0)",
+                            org.apache.xbean.asm7.*;version="[7.0,8.0)",
                             *
                         </Import-Package>
                         <Private-Package />
@@ -143,7 +143,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.xbean</groupId>
-            <artifactId>xbean-asm6-shaded</artifactId>
+            <artifactId>xbean-asm7-shaded</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/xbean-finder/pom.xml b/xbean-finder/pom.xml
index 2c86f24..bc25cbe 100644
--- a/xbean-finder/pom.xml
+++ b/xbean-finder/pom.xml
@@ -79,10 +79,10 @@
                             org.apache.xbean.finder.*;version=${project.version};-noimport:=true
                         </Export-Package>
                         <Import-Package>
-                            org.objectweb.asm*;version="[6.0,7.0)",
+                            org.objectweb.asm*;version="[7.0,8.0)",
                             *
                         </Import-Package>
-                        <Private-Package>org.apache.xbean.asm6.original.commons</Private-Package>
+                        <Private-Package>org.apache.xbean.asm7.original.commons</Private-Package>
                         <_removeheaders>
                             Ignore-Package,Private-Package,Include-Resource,Embed-Dependency
                         </_removeheaders>
@@ -92,7 +92,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.21.0</version>
+                <version>2.22.0</version>
                 <configuration>
                     <systemPropertyVariables>
                         <jdk.util.jar.version>9</jdk.util.jar.version>
diff --git a/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java b/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java
index c9f1ee5..b9a4dec 100644
--- a/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java
+++ b/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java
@@ -34,7 +34,7 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.xbean.asm6.original.commons.EmptyVisitor;
+import org.apache.xbean.asm7.original.commons.EmptyVisitor;
 import org.apache.xbean.finder.util.SingleLinkedList;
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.ClassReader;
diff --git a/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java b/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java
index b564b1d..bc09807 100644
--- a/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java
+++ b/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java
@@ -20,7 +20,7 @@
 
 package org.apache.xbean.finder;
 
-import org.apache.xbean.asm6.original.commons.EmptyVisitor;
+import org.apache.xbean.asm7.original.commons.EmptyVisitor;
 import org.apache.xbean.finder.archive.Archive;
 import org.apache.xbean.finder.util.Classes;
 import org.apache.xbean.finder.util.SingleLinkedList;
diff --git a/xbean-reflect/pom.xml b/xbean-reflect/pom.xml
index e41fee3..4da9cc9 100644
--- a/xbean-reflect/pom.xml
+++ b/xbean-reflect/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.xbean</groupId>
-            <artifactId>xbean-asm6-shaded</artifactId>
+            <artifactId>xbean-asm7-shaded</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
             <optional>true</optional>
@@ -88,15 +88,15 @@
                         <Import-Package>
                             org.apache.log4j;resolution:=optional,
                             org.apache.commons.logging;resolution:=optional,
-                            org.objectweb.asm;resolution:=optional;version="[5.0,7.0)",
-                            org.objectweb.asm.commons;resolution:=optional;version="[5.0,7.0)",
-                            org.apache.xbean.asm6;resolution:=optional;version="[6.0,7.0)",
-                            org.apache.xbean.asm6.commons;resolution:=optional;version="[6.0,7.0)",
-                            org.apache.xbean.asm6.shade.commons;resolution:=optional;version="[6.0,7.0)",
+                            org.objectweb.asm;resolution:=optional;version="[7.0,8.0)",
+                            org.objectweb.asm.commons;resolution:=optional;version="[7.0,8.0)",
+                            org.apache.xbean.asm7;resolution:=optional;version="[7.0,8.0)",
+                            org.apache.xbean.asm7.commons;resolution:=optional;version="[7.0,8.0)",
+                            org.apache.xbean.asm7.shade.commons;resolution:=optional;version="[7.0,8.0)",
                             javax.*
                         </Import-Package>
                         <Private-Package>
-                            org.apache.xbean.asm6.original.commons
+                            org.apache.xbean.asm7.original.commons
                         </Private-Package>
                         <_removeheaders>
                             Ignore-Package,Private-Package,Include-Resource,Embed-Dependency
diff --git a/xbean-reflect/src/main/java/org/apache/xbean/recipe/AsmParameterNameLoader.java b/xbean-reflect/src/main/java/org/apache/xbean/recipe/AsmParameterNameLoader.java
index 7b54a5b..ba0b3b3 100644
--- a/xbean-reflect/src/main/java/org/apache/xbean/recipe/AsmParameterNameLoader.java
+++ b/xbean-reflect/src/main/java/org/apache/xbean/recipe/AsmParameterNameLoader.java
@@ -220,7 +220,7 @@
         private final Map<String,Constructor> constructorMap = new HashMap<String,Constructor>();
 
         public AllParameterNamesDiscoveringVisitor(Class type, String methodName) {
-            super(Opcodes.ASM6);
+            super(Opcodes.ASM7);
             this.methodName = methodName;
 
             List<Method> methods = new ArrayList<Method>(Arrays.asList(type.getMethods()));
@@ -233,7 +233,7 @@
         }
 
         public AllParameterNamesDiscoveringVisitor(Class type) {
-            super(Opcodes.ASM6);
+            super(Opcodes.ASM7);
             this.methodName = "<init>";
 
             List<Constructor> constructors = new ArrayList<Constructor>(Arrays.asList(type.getConstructors()));
@@ -288,7 +288,7 @@
                     isStaticMethod = Modifier.isStatic(method.getModifiers());
                 }
 
-                return new MethodVisitor(Opcodes.ASM6) {
+                return new MethodVisitor(Opcodes.ASM7) {
                     // assume static method until we get a first parameter name
                     public void visitLocalVariable(String name, String description, String signature, Label start, Label end, int index) {
                         if (isStaticMethod) {
diff --git a/xbean-reflect/src/main/java/org/apache/xbean/recipe/ReflectionUtil.java b/xbean-reflect/src/main/java/org/apache/xbean/recipe/ReflectionUtil.java
index 57c465c..1e52235 100644
--- a/xbean-reflect/src/main/java/org/apache/xbean/recipe/ReflectionUtil.java
+++ b/xbean-reflect/src/main/java/org/apache/xbean/recipe/ReflectionUtil.java
@@ -43,14 +43,15 @@
     private static final class ParameterLoader {
         private static ParameterNameLoader PARAMETER_NAME_LOADER;
         static {
-            if (isClassAvailable("org.apache.xbean.asm6.ClassReader")) {
+            if (isClassAvailable("org.apache.xbean.asm7.ClassReader")) {
                 PARAMETER_NAME_LOADER = new XbeanAsmParameterNameLoader();
             } else if (isClassAvailable("org.objectweb.asm.ClassReader")) {
                 PARAMETER_NAME_LOADER = new AsmParameterNameLoader();
             } else if (isClassAvailable("org.apache.xbean.asm.ClassReader")
                     || isClassAvailable("org.apache.xbean.asm4.ClassReader")
-                    || isClassAvailable("org.apache.xbean.asm5.ClassReader")) {
-                throw new RuntimeException("Your xbean-asm-shade is too old, please upgrade to xbean-asm6-shade");
+                    || isClassAvailable("org.apache.xbean.asm5.ClassReader")
+                    || isClassAvailable("org.apache.xbean.asm6.ClassReader")) {
+                throw new RuntimeException("Your xbean-asm-shade is too old, please upgrade to xbean-asm7-shade");
             }
         }
     }
diff --git a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java
index cbb2cfb..7ced265 100644
--- a/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java
+++ b/xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java
@@ -17,12 +17,12 @@
  */
 package org.apache.xbean.recipe;
 
-import org.apache.xbean.asm6.ClassReader;
-import org.apache.xbean.asm6.ClassVisitor;
-import org.apache.xbean.asm6.Label;
-import org.apache.xbean.asm6.MethodVisitor;
-import org.apache.xbean.asm6.Opcodes;
-import org.apache.xbean.asm6.Type;
+import org.apache.xbean.asm7.ClassReader;
+import org.apache.xbean.asm7.ClassVisitor;
+import org.apache.xbean.asm7.Label;
+import org.apache.xbean.asm7.MethodVisitor;
+import org.apache.xbean.asm7.Opcodes;
+import org.apache.xbean.asm7.Type;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -220,7 +220,7 @@
         private final Map<String,Constructor> constructorMap = new HashMap<String,Constructor>();
 
         public AllParameterNamesDiscoveringVisitor(Class type, String methodName) {
-            super(Opcodes.ASM6);
+            super(Opcodes.ASM7);
             this.methodName = methodName;
 
             List<Method> methods = new ArrayList<Method>(Arrays.asList(type.getMethods()));
@@ -233,7 +233,7 @@
         }
 
         public AllParameterNamesDiscoveringVisitor(Class type) {
-            super(Opcodes.ASM6);
+            super(Opcodes.ASM7);
             this.methodName = "<init>";
 
             List<Constructor> constructors = new ArrayList<Constructor>(Arrays.asList(type.getConstructors()));
@@ -293,7 +293,7 @@
                     isStaticMethod = Modifier.isStatic(method.getModifiers());
                 }
 
-                return new MethodVisitor(Opcodes.ASM6) {
+                return new MethodVisitor(Opcodes.ASM7) {
                     // assume static method until we get a first parameter name
                     public void visitLocalVariable(String name, String description, String signature, Label start, Label end, int index) {
                         if (isStaticMethod) {