Author: michaelo Date: Sun Dec 27 20:41:50 2015 New Revision: 1721843 URL: http://svn.apache.org/viewvc?rev=1721843&view=rev Log: [MSHARED-481] Clean up and update class version detection for Java 7/8
Added: maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.7.jar (with props) maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.8.jar (with props) Modified: maven/shared/trunk/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java maven/shared/trunk/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java Modified: maven/shared/trunk/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java?rev=1721843&r1=1721842&r2=1721843&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java (original) +++ maven/shared/trunk/maven-shared-jar/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java Sun Dec 27 20:41:50 2015 @@ -45,15 +45,19 @@ import java.util.jar.JarEntry; public class JarClassesAnalysis extends AbstractLogEnabled { + private static final double JAVA_1_8_CLASS_VERSION = 52.0; + + private static final double JAVA_1_7_CLASS_VERSION = 51.0; + private static final double JAVA_1_6_CLASS_VERSION = 50.0; private static final double JAVA_1_5_CLASS_VERSION = 49.0; - private static final double JAVA_1_4_CLASS_VERSION = 47.0; + private static final double JAVA_1_4_CLASS_VERSION = 48.0; - private static final double JAVA_1_3_CLASS_VERSION = 46.0; + private static final double JAVA_1_3_CLASS_VERSION = 47.0; - private static final double JAVA_1_2_CLASS_VERSION = 45.65536; + private static final double JAVA_1_2_CLASS_VERSION = 46.0; private static final double JAVA_1_1_CLASS_VERSION = 45.3; @@ -104,7 +108,7 @@ public class JarClassesAnalysis double classVersion = javaClass.getMajor(); if ( javaClass.getMinor() > 0 ) { - classVersion = classVersion + 1 / (double) javaClass.getMinor(); + classVersion = classVersion + javaClass.getMinor() / 10.0; } if ( classVersion > maxVersion ) @@ -140,35 +144,38 @@ public class JarClassesAnalysis } } - // TODO: check these since they are > instead of >= - if ( maxVersion >= JAVA_1_6_CLASS_VERSION ) + if ( maxVersion == JAVA_1_8_CLASS_VERSION ) + { + classes.setJdkRevision( "1.8" ); + } + else if ( maxVersion == JAVA_1_7_CLASS_VERSION ) + { + classes.setJdkRevision( "1.7" ); + } + else if ( maxVersion == JAVA_1_6_CLASS_VERSION ) { classes.setJdkRevision( "1.6" ); } - else if ( maxVersion >= JAVA_1_5_CLASS_VERSION ) + else if ( maxVersion == JAVA_1_5_CLASS_VERSION ) { classes.setJdkRevision( "1.5" ); } - else if ( maxVersion > JAVA_1_4_CLASS_VERSION ) + else if ( maxVersion == JAVA_1_4_CLASS_VERSION ) { classes.setJdkRevision( "1.4" ); } - else if ( maxVersion > JAVA_1_3_CLASS_VERSION ) + else if ( maxVersion == JAVA_1_3_CLASS_VERSION ) { classes.setJdkRevision( "1.3" ); } - else if ( maxVersion > JAVA_1_2_CLASS_VERSION ) + else if ( maxVersion == JAVA_1_2_CLASS_VERSION ) { classes.setJdkRevision( "1.2" ); } - else if ( maxVersion > JAVA_1_1_CLASS_VERSION ) + else if ( maxVersion == JAVA_1_1_CLASS_VERSION ) { classes.setJdkRevision( "1.1" ); } - else if ( maxVersion > 0 ) - { - classes.setJdkRevision( "1.0" ); - } jarAnalyzer.getJarData().setJarClasses( classes ); } Modified: maven/shared/trunk/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java?rev=1721843&r1=1721842&r2=1721843&view=diff ============================================================================== --- maven/shared/trunk/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java (original) +++ maven/shared/trunk/maven-shared-jar/src/test/java/org/apache/maven/shared/jar/classes/JarClassesAnalyzerTest.java Sun Dec 27 20:41:50 2015 @@ -106,6 +106,22 @@ public class JarClassesAnalyzerTest assertFalse( "no debug present", jclass.isDebugPresent() ); } + public void testAnalyzeJarVersion18() + throws Exception + { + JarClasses jclass = getJarClasses( "helloworld-1.8.jar" ); + + assertEquals( "jdkrevision", "1.8", jclass.getJdkRevision() ); + } + + public void testAnalyzeJarVersion17() + throws Exception + { + JarClasses jclass = getJarClasses( "helloworld-1.7.jar" ); + + assertEquals( "jdkrevision", "1.7", jclass.getJdkRevision() ); + } + public void testAnalyzeJarVersion16() throws Exception { Added: maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.7.jar URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.7.jar?rev=1721843&view=auto ============================================================================== Binary file - no diff available. Propchange: maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.7.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.8.jar URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.8.jar?rev=1721843&view=auto ============================================================================== Binary file - no diff available. Propchange: maven/shared/trunk/maven-shared-jar/src/test/resources/jars/helloworld-1.8.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream