#49: Make dynamic the warning about major supported java version

Co-authored-by: Doc <nachito94@msn.com>
This commit is contained in:
md_5 2024-06-12 07:19:26 +10:00
parent 02c989d4a6
commit 744649c9d2
No known key found for this signature in database
GPG key ID: E8E901AC7C617C11
2 changed files with 13 additions and 2 deletions

View file

@ -43,7 +43,7 @@ public class Bootstrap
if ( javaVersion.isUnknown() )
{
System.err.println( "*** WARNING *** Unsupported Java detected (" + System.getProperty( "java.class.version" ) + "). BuildTools has only been tested up to Java 22. Use of development Java versions is not supported." );
System.err.println( "*** WARNING *** Unsupported Java detected (" + javaVersion + "). BuildTools has only been tested up to " + JavaVersion.getLatestVersion() + ". Use of development Java versions is not supported." );
System.err.println( "*** WARNING *** You may use java -version to double check your Java version." );
}

View file

@ -8,6 +8,7 @@ import lombok.Getter;
public class JavaVersion
{
private static JavaVersion latestVersion;
private static final Map<Integer, JavaVersion> byVersion = new HashMap<>();
//
public static final JavaVersion JAVA_5 = new JavaVersion( "Java 5", 49 );
@ -36,6 +37,11 @@ public class JavaVersion
private JavaVersion(String name, int version)
{
this( name, version, false );
if ( latestVersion == null || version > latestVersion.getVersion() )
{
latestVersion = this;
}
}
private JavaVersion(String name, int version, boolean unknown)
@ -58,12 +64,17 @@ public class JavaVersion
JavaVersion java = byVersion.get( version );
if ( java == null )
{
java = new JavaVersion( "Java " + ( version - 44 ) + "*", version, true );
java = new JavaVersion( "Java " + ( version - 44 ) + " [" + version + "]*", version, true );
}
return java;
}
public static JavaVersion getLatestVersion()
{
return latestVersion;
}
public static JavaVersion getCurrentVersion()
{
return getByVersion( (int) Float.parseFloat( System.getProperty( "java.class.version" ) ) );