@@ -41,7 +41,8 @@ export class AndroidToolsInfo implements NativeScriptDoctor.IAndroidToolsInfo {
41
41
private static REQUIRED_BUILD_TOOLS_RANGE_PREFIX = ">=23" ;
42
42
private static VERSION_REGEX = / ( ( \d + \. ) { 2 } \d + ) / ;
43
43
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 ;
45
46
46
47
private toolsInfo : NativeScriptDoctor . IAndroidToolsInfoData ;
47
48
public get androidHome ( ) : string {
@@ -107,6 +108,16 @@ export class AndroidToolsInfo implements NativeScriptDoctor.IAndroidToolsInfo {
107
108
return errors ;
108
109
}
109
110
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
+
110
121
public validateJavacVersion ( installedJavaCompilerVersion : string , projectDir ?: string , runtimeVersion ?: string ) : NativeScriptDoctor . IWarning [ ] {
111
122
const errors : NativeScriptDoctor . IWarning [ ] = [ ] ;
112
123
@@ -123,8 +134,8 @@ export class AndroidToolsInfo implements NativeScriptDoctor.IAndroidToolsInfo {
123
134
"^10.0.0" : "4.1.0-2018.5.18.1"
124
135
} ;
125
136
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 ) ;
128
139
} else {
129
140
runtimeVersion = this . getRuntimeVersion ( { runtimeVersion, projectDir } ) ;
130
141
if ( runtimeVersion ) {
0 commit comments