File tree Expand file tree Collapse file tree 2 files changed +35
-0
lines changed
src/WebJobs.Script/Rpc/Configuration
test/WebJobs.Script.Tests/Rpc Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -224,10 +224,21 @@ internal string GetExecutablePathForJava(string defaultExecutablePath)
224
224
{
225
225
return defaultExecutablePath ;
226
226
}
227
+ else if ( IsJavaHomeValid ( ) )
228
+ {
229
+ // TODO: pgopa default to using JAVA_HOME after ANT78 rolls out
230
+ return Path . GetFullPath ( Path . Combine ( javaHome , "bin" , "java" ) ) ;
231
+ }
227
232
else
228
233
{
229
234
return Path . GetFullPath ( Path . Combine ( javaHome , "bin" , defaultExecutablePath ) ) ;
230
235
}
231
236
}
237
+
238
+ internal bool IsJavaHomeValid ( )
239
+ {
240
+ string javaHome = ScriptSettingsManager . Instance . GetSetting ( "JAVA_HOME" ) ;
241
+ return string . IsNullOrEmpty ( javaHome ) ? false : javaHome . Contains ( "8.0" ) ;
242
+ }
232
243
}
233
244
}
Original file line number Diff line number Diff line change @@ -79,6 +79,30 @@ public void JavaPath_AppServiceEnv()
79
79
}
80
80
}
81
81
82
+ [ Fact ]
83
+ public void JavaPath_AppServiceEnv_JavaHomeOverrides ( )
84
+ {
85
+ var configBuilder = ScriptSettingsManager . CreateDefaultConfigurationBuilder ( )
86
+ . AddInMemoryCollection ( new Dictionary < string , string >
87
+ {
88
+ [ "languageWorker" ] = "test"
89
+ } ) ;
90
+ var config = configBuilder . Build ( ) ;
91
+ var scriptSettingsManager = new ScriptSettingsManager ( config ) ;
92
+ var testLogger = new TestLogger ( "test" ) ;
93
+ var configFactory = new WorkerConfigFactory ( config , testLogger ) ;
94
+ var testEnvVariables = new Dictionary < string , string >
95
+ {
96
+ { EnvironmentSettingNames . AzureWebsiteInstanceId , "123" } ,
97
+ { "JAVA_HOME" , @"D:\Program Files\Java\zulu8.31.0.2-jre8.0.181-win_x64" }
98
+ } ;
99
+ using ( var variables = new TestScopedSettings ( scriptSettingsManager , testEnvVariables ) )
100
+ {
101
+ var javaPath = configFactory . GetExecutablePathForJava ( "../../zulu8.23.0.3-jdk8.0.144-win_x64/bin/java" ) ;
102
+ Assert . Equal ( @"D:\Program Files\Java\zulu8.31.0.2-jre8.0.181-win_x64\bin\java" , javaPath ) ;
103
+ }
104
+ }
105
+
82
106
[ Fact ]
83
107
public void JavaPath_JavaHome_Set ( )
84
108
{
You can’t perform that action at this time.
0 commit comments