diff options
author | gjoranv <gv@verizonmedia.com> | 2019-10-18 19:41:18 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2019-10-23 17:06:02 +0200 |
commit | 43383af739e522ef69cc7fd1b0b0115e454e8e4f (patch) | |
tree | 7135471e355c71e9d44a5d121fa83d8cc8f6b7fb /bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java | |
parent | 663c9322ed4c27c4328b44b74145f94e007ceff3 (diff) |
Add option to use artifact version as ExportPackage version
Diffstat (limited to 'bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java')
-rw-r--r-- | bundle-plugin/src/main/java/com/yahoo/container/plugin/classanalysis/Analyze.java | 15 |
1 files changed, 10 insertions, 5 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 13a306a0c1c..d586f324f77 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,17 +1,18 @@ // 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 @@ -21,16 +22,20 @@ import static com.yahoo.container.plugin.util.IO.withFileInputStream; */ public class Analyze { public static ClassFileMetaData analyzeClass(File classFile) { + return analyzeClass(classFile, null); + } + + public static ClassFileMetaData analyzeClass(File classFile, ArtifactVersion artifactVersion) { try { - return withFileInputStream(classFile, Analyze::analyzeClass); - } catch (RuntimeException e) { + return analyzeClass(new FileInputStream(classFile), artifactVersion); + } catch (Exception e) { throw new RuntimeException("An error occurred when analyzing " + classFile.getPath(), e); } } - public static ClassFileMetaData analyzeClass(InputStream inputStream) { + public static ClassFileMetaData analyzeClass(InputStream inputStream, ArtifactVersion artifactVersion) { try { - AnalyzeClassVisitor visitor = new AnalyzeClassVisitor(); + AnalyzeClassVisitor visitor = new AnalyzeClassVisitor(artifactVersion); new ClassReader(inputStream).accept(visitor, ClassReader.SKIP_DEBUG); return visitor.result(); } catch (IOException e) { |