You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2018/09/17 07:59:17 UTC
svn commit: r1841052 -
/felix/trunk/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java
Author: cziegeler
Date: Mon Sep 17 07:59:17 2018
New Revision: 1841052
URL: http://svn.apache.org/viewvc?rev=1841052&view=rev
Log:
FELIX-5925 : Add check for packages with versions but without explicit provider/consumer type information
Modified:
felix/trunk/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java
Modified: felix/trunk/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java
URL: http://svn.apache.org/viewvc/felix/trunk/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java?rev=1841052&r1=1841051&r2=1841052&view=diff
==============================================================================
--- felix/trunk/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java (original)
+++ felix/trunk/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/ConsumerProviderTypeCheck.java Mon Sep 17 07:59:17 2018
@@ -33,6 +33,7 @@ import org.apache.felix.maven.osgicheck.
import org.apache.felix.maven.osgicheck.impl.featureutil.PackageInfo;
import org.apache.maven.plugin.MojoExecutionException;
import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.AnnotationNode;
import org.objectweb.asm.tree.ClassNode;
@@ -54,7 +55,8 @@ public class ConsumerProviderTypeCheck i
}
private boolean exclude(final File f) {
- return f.getName().equals("package-info.class");
+ // skip package info and inner classes
+ return f.getName().equals("package-info.class") || f.getName().contains("$");
}
@Override
@@ -89,7 +91,12 @@ public class ConsumerProviderTypeCheck i
classReader.accept(classNode, SKIP_CODE | SKIP_DEBUG | SKIP_FRAMES);
- // create descriptions
+ if ((classNode.access & Opcodes.ACC_INTERFACE) == 0) {
+ // not an interface
+ ctx.getLog().debug("Skipping non interface class " + className );
+ return;
+ }
+
final List<String> annotations = extractAnnotation(classNode);
for(final String s : annotations) {
ctx.getLog().debug("Found annotation " + s );