summaryrefslogtreecommitdiffstats
path: root/bundle-plugin/src
diff options
context:
space:
mode:
Diffstat (limited to 'bundle-plugin/src')
-rw-r--r--bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.scala6
-rw-r--r--bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeMethodVisitor.scala2
-rw-r--r--bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeSignatureVisitor.scala2
-rw-r--r--bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnnotationVisitorTrait.scala2
-rw-r--r--bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/package.scala5
-rw-r--r--bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.scala7
6 files changed, 15 insertions, 9 deletions
diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.scala
index 903ad94e9e8..539684f2024 100644
--- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.scala
+++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.scala
@@ -9,7 +9,7 @@ import collection.mutable
* Picks up classes used in class files.
* @author tonytv
*/
-private class AnalyzeClassVisitor extends ClassVisitor(Opcodes.ASM5) with AnnotationVisitorTrait with AttributeVisitorTrait {
+private class AnalyzeClassVisitor extends ClassVisitor(Opcodes.ASM6) with AnnotationVisitorTrait with AttributeVisitorTrait {
private var name : String = null
protected val imports : ImportsSet = mutable.Set()
protected var exportPackageAnnotation: Option[ExportPackageAnnotation] = None
@@ -32,7 +32,7 @@ private class AnalyzeClassVisitor extends ClassVisitor(Opcodes.ASM5) with Annota
imports ++= getClassName(Type.getType(desc)).toList
AnalyzeSignatureVisitor.analyzeField(signature, this)
- new FieldVisitor(Opcodes.ASM5) with SubVisitorTrait with AttributeVisitorTrait with AnnotationVisitorTrait {
+ new FieldVisitor(Opcodes.ASM6) with SubVisitorTrait with AttributeVisitorTrait with AnnotationVisitorTrait {
val analyzeClassVisitor = AnalyzeClassVisitor.this
override def visitAnnotation(desc: String, visible: Boolean): AnnotationVisitor = super.visitAnnotation(desc, visible)
@@ -68,7 +68,7 @@ private class AnalyzeClassVisitor extends ClassVisitor(Opcodes.ASM5) with Annota
def visitExportPackage(): AnnotationVisitor = {
def defaultVersionValue[T](name: String) = classOf[Version].getMethod(name).getDefaultValue().asInstanceOf[T]
- new AnnotationVisitor(Opcodes.ASM5) {
+ new AnnotationVisitor(Opcodes.ASM6) {
var major: Int = defaultVersionValue("major")
var minor: Int = defaultVersionValue("minor")
var micro: Int = defaultVersionValue("micro")
diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeMethodVisitor.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeMethodVisitor.scala
index 535ee2832c8..a8032b6a912 100644
--- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeMethodVisitor.scala
+++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeMethodVisitor.scala
@@ -8,7 +8,7 @@ import org.objectweb.asm._
* @author tonytv
*/
private class AnalyzeMethodVisitor(val analyzeClassVisitor : AnalyzeClassVisitor)
- extends MethodVisitor(Opcodes.ASM5) with AnnotationVisitorTrait with AttributeVisitorTrait with SubVisitorTrait {
+ extends MethodVisitor(Opcodes.ASM6) with AnnotationVisitorTrait with AttributeVisitorTrait with SubVisitorTrait {
override def visitParameterAnnotation(parameter: Int, desc: String, visible: Boolean): AnnotationVisitor = super.visitParameterAnnotation(parameter, desc, visible)
diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeSignatureVisitor.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeSignatureVisitor.scala
index 58a43b04d20..5bb8304cf1e 100644
--- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeSignatureVisitor.scala
+++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnalyzeSignatureVisitor.scala
@@ -10,7 +10,7 @@ import org.objectweb.asm.signature.{SignatureReader, SignatureVisitor}
*/
private class AnalyzeSignatureVisitor(val analyzeClassVisitor: AnalyzeClassVisitor)
- extends SignatureVisitor(Opcodes.ASM5)
+ extends SignatureVisitor(Opcodes.ASM6)
with SubVisitorTrait {
diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnnotationVisitorTrait.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnnotationVisitorTrait.scala
index 0ceaced1440..0bf6ee4a6b4 100644
--- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnnotationVisitorTrait.scala
+++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/AnnotationVisitorTrait.scala
@@ -17,7 +17,7 @@ private trait AnnotationVisitorTrait {
}
def visitAnnotationDefault(): AnnotationVisitor =
- new AnnotationVisitor(Opcodes.ASM5) {
+ new AnnotationVisitor(Opcodes.ASM6) {
override def visit(name: String, value: AnyRef) {}
override def visitEnum(name: String, desc: String, value: String) {
diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/package.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/package.scala
index d217f720d1a..631884c58e3 100644
--- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/package.scala
+++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/classanalysis/package.scala
@@ -8,7 +8,10 @@ package object classanalysis {
type ImportsSet = mutable.Set[String]
def internalNameToClassName(internalClassName: String) : Option[String] = {
- getClassName(Type.getObjectType(internalClassName))
+ internalClassName match {
+ case null => None
+ case _ => getClassName(Type.getObjectType(internalClassName))
+ }
}
def getClassName(aType: Type): Option[String] = {
diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.scala
index d66edf88702..67ce45ed7c6 100644
--- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.scala
+++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.scala
@@ -210,7 +210,7 @@ class GenerateOsgiManifestMojo extends AbstractMojo {
private def analyzeProjectClasses() : PackageTally = {
val outputDirectory = new File(project.getBuild.getOutputDirectory)
- val analyzedClasses = allDescendantFiles(outputDirectory).filter(_.getName.endsWith(".class")).
+ val analyzedClasses = allDescendantFiles(outputDirectory).filter(file => isClassToAnalyze(file.getName)).
map(Analyze.analyzeClass)
PackageTally.fromAnalyzedClassFiles(analyzedClasses)
@@ -230,7 +230,7 @@ class GenerateOsgiManifestMojo extends AbstractMojo {
for {
entry <- toStream(jarFile.entries())
if !entry.isDirectory
- if entry.getName.endsWith(".class")
+ if isClassToAnalyze(entry.getName)
metaData = analyzeClass(jarFile, entry)
} yield metaData
@@ -278,6 +278,9 @@ object GenerateOsgiManifestMojo {
}
}
+ def isClassToAnalyze(name: String): Boolean =
+ name.endsWith(".class") && ! name.endsWith("module-info.class")
+
def emptyToNone(str: String) =
Option(str) map {_.trim} filterNot {_.isEmpty}
}