@@ -41,7 +41,8 @@ export class AndroidToolsInfo implements NativeScriptDoctor.IAndroidToolsInfo {
4141 private static REQUIRED_BUILD_TOOLS_RANGE_PREFIX = ">=23" ;
4242 private static VERSION_REGEX = / ( ( \d + \. ) { 2 } \d + ) / ;
4343 private static MIN_JAVA_VERSION = "1.8.0" ;
44- private static MAX_JAVA_VERSION = "13.0.0" ;
44+ // If some java release breaks the code then set this version to the breaking release (e.g. "13.0.0")
45+ private static MAX_JAVA_VERSION = null as string ;
4546
4647 private toolsInfo : NativeScriptDoctor . IAndroidToolsInfoData ;
4748 public get androidHome ( ) : string {
@@ -107,6 +108,16 @@ export class AndroidToolsInfo implements NativeScriptDoctor.IAndroidToolsInfo {
107108 return errors ;
108109 }
109110
111+ public static unsupportedJavaMessage ( installedJavaCompilerVersion : string ) : string {
112+ return `Javac version ${ installedJavaCompilerVersion } is not supported. You must install a java version greater than ${
113+ AndroidToolsInfo . MIN_JAVA_VERSION
114+ } ${
115+ AndroidToolsInfo . MAX_JAVA_VERSION
116+ ? ` and less than ${ AndroidToolsInfo . MAX_JAVA_VERSION } `
117+ : ""
118+ } .`;
119+ }
120+
110121 public validateJavacVersion ( installedJavaCompilerVersion : string , projectDir ?: string , runtimeVersion ?: string ) : NativeScriptDoctor . IWarning [ ] {
111122 const errors : NativeScriptDoctor . IWarning [ ] = [ ] ;
112123
@@ -123,8 +134,8 @@ export class AndroidToolsInfo implements NativeScriptDoctor.IAndroidToolsInfo {
123134 "^10.0.0" : "4.1.0-2018.5.18.1"
124135 } ;
125136
126- if ( semver . lt ( installedJavaCompilerSemverVersion , AndroidToolsInfo . MIN_JAVA_VERSION ) || semver . gte ( installedJavaCompilerSemverVersion , AndroidToolsInfo . MAX_JAVA_VERSION ) ) {
127- warning = `Javac version ${ installedJavaCompilerVersion } is not supported. You have to install at least ${ AndroidToolsInfo . MIN_JAVA_VERSION } and below ${ AndroidToolsInfo . MAX_JAVA_VERSION } .` ;
137+ if ( semver . lt ( installedJavaCompilerSemverVersion , AndroidToolsInfo . MIN_JAVA_VERSION ) || ( AndroidToolsInfo . MAX_JAVA_VERSION ? semver . gte ( installedJavaCompilerSemverVersion , AndroidToolsInfo . MAX_JAVA_VERSION ) : false ) ) {
138+ warning = AndroidToolsInfo . unsupportedJavaMessage ( installedJavaCompilerVersion ) ;
128139 } else {
129140 runtimeVersion = this . getRuntimeVersion ( { runtimeVersion, projectDir } ) ;
130141 if ( runtimeVersion ) {
0 commit comments