summaryrefslogtreecommitdiffstats
path: root/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2019-10-23 12:11:12 +0200
committerGitHub <noreply@github.com>2019-10-23 12:11:12 +0200
commitd9f4351623e616f8df85e73b45f9e42bd221fb6f (patch)
treea0053a7e0af5515386b3b75f0bb521d9a096a34e /bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis
parentdfec83cec5f464b09b72fc48ff1a5e114523aded (diff)
Revert "Gjoranv/artifact version for exports3"
Diffstat (limited to 'bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis')
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java15
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.java17
2 files changed, 9 insertions, 23 deletions
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java
index d586f324f77..13a306a0c1c 100644
--- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java
+++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java
@@ -1,18 +1,17 @@
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.plugin.classanalysis;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Optional;
+import static com.yahoo.container.plugin.util.IO.withFileInputStream;
/**
* Main entry point for class analysis
@@ -22,20 +21,16 @@ import java.util.Optional;
*/
public class Analyze {
public static ClassFileMetaData analyzeClass(File classFile) {
- return analyzeClass(classFile, null);
- }
-
- public static ClassFileMetaData analyzeClass(File classFile, ArtifactVersion artifactVersion) {
try {
- return analyzeClass(new FileInputStream(classFile), artifactVersion);
- } catch (Exception e) {
+ return withFileInputStream(classFile, Analyze::analyzeClass);
+ } catch (RuntimeException e) {
throw new RuntimeException("An error occurred when analyzing " + classFile.getPath(), e);
}
}
- public static ClassFileMetaData analyzeClass(InputStream inputStream, ArtifactVersion artifactVersion) {
+ public static ClassFileMetaData analyzeClass(InputStream inputStream) {
try {
- AnalyzeClassVisitor visitor = new AnalyzeClassVisitor(artifactVersion);
+ AnalyzeClassVisitor visitor = new AnalyzeClassVisitor();
new ClassReader(inputStream).accept(visitor, ClassReader.SKIP_DEBUG);
return visitor.result();
} catch (IOException e) {
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.java
index e37a9caa7cc..0225c43e4b8 100644
--- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.java
+++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassVisitor.java
@@ -3,7 +3,6 @@ package com.yahoo.container.plugin.classanalysis;
import com.yahoo.osgi.annotation.ExportPackage;
import com.yahoo.osgi.annotation.Version;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ClassVisitor;
@@ -28,11 +27,8 @@ class AnalyzeClassVisitor extends ClassVisitor implements ImportCollector {
private Set<String> imports = new HashSet<>();
private Optional<ExportPackageAnnotation> exportPackageAnnotation = Optional.empty();
- private final Optional<ArtifactVersion> defaultExportPackageVersion;
-
- AnalyzeClassVisitor(ArtifactVersion defaultExportPackageVersion) {
+ AnalyzeClassVisitor() {
super(Opcodes.ASM7);
- this.defaultExportPackageVersion = Optional.ofNullable(defaultExportPackageVersion);
}
@Override
@@ -103,14 +99,9 @@ class AnalyzeClassVisitor extends ClassVisitor implements ImportCollector {
private AnnotationVisitor visitExportPackage() {
return new AnnotationVisitor(Opcodes.ASM7) {
- private int major = defaultExportPackageVersion.map(ArtifactVersion::getMajorVersion)
- .orElse(defaultVersionValue("major"));
- private int minor = defaultExportPackageVersion.map(ArtifactVersion::getMinorVersion)
- .orElse(defaultVersionValue("minor"));
- private int micro = defaultExportPackageVersion.map(ArtifactVersion::getIncrementalVersion)
- .orElse(defaultVersionValue("micro"));
-
- // Default qualifier is the empty string.
+ private int major = defaultVersionValue("major");
+ private int minor = defaultVersionValue("minor");
+ private int micro = defaultVersionValue("micro");
private String qualifier = defaultVersionValue("qualifier");
@Override