From b85d8c6ecde434cdeacc2e3a2c0bd1e91fb589e3 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 10 Jan 2025 14:05:15 -0500 Subject: [PATCH 1/6] [ci] Add template for setting *JAVA_HOME vars --- .../automation/azure-pipelines-apidocs.yaml | 7 +++---- .../automation/azure-pipelines-nightly.yaml | 15 +++---------- build-tools/automation/azure-pipelines.yaml | 5 ----- .../yaml-templates/build-windows.yaml | 4 +--- .../yaml-templates/commercial-build.yaml | 5 +++-- .../yaml-templates/run-emulator-tests.yaml | 10 ++++----- .../yaml-templates/setup-jdk-variables.yaml | 21 +++++++++++++++++++ .../setup-test-environment.yaml | 18 ++++++---------- .../automation/yaml-templates/variables.yaml | 2 ++ 9 files changed, 43 insertions(+), 44 deletions(-) create mode 100644 build-tools/automation/yaml-templates/setup-jdk-variables.yaml diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index e568abf1004..9bb41dfa546 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -100,10 +100,9 @@ extends: - checkout: self submodules: recursive - - script: | - echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" - echo "##vso[task.setvariable variable=JAVA_HOME]$HOME/android-toolchain/jdk-17" - displayName: set JI_JAVA_HOME + - template: /build-tools/automation/yaml-templates/setup-jdk-variables.yaml@self + parameters: + useXAPrepareJdkPath: true # Set MSBuild property overrides if parameters are set - ${{ if ne(parameters.apiLevel, 'default') }}: diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml index a6c89bbf41f..e5363f483cc 100644 --- a/build-tools/automation/azure-pipelines-nightly.yaml +++ b/build-tools/automation/azure-pipelines-nightly.yaml @@ -123,7 +123,7 @@ stages: - template: /build-tools/automation/yaml-templates/setup-test-environment.yaml parameters: xaprepareScenario: EmulatorTestDependencies - jdkTestFolder: $(JAVA_HOME_11_X64) + jdkMajorVersion: 11 - template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml parameters: @@ -162,7 +162,6 @@ stages: emulatorMSBuildArgs: -p:TestAvdExtraBootArgs=-writable-system jobName: SystemApplicationTests jobTimeout: 120 - jdkTestFolder: $HOME/android-toolchain/jdk-17 use1ESTemplate: false testSteps: - template: run-nunit-tests.yaml @@ -195,15 +194,11 @@ stages: steps: - template: agent-cleanser/v1.yml@yaml-templates - - script: | - echo "##vso[task.setvariable variable=JAVA_HOME]$HOME/android-toolchain/jdk-17" - displayName: set JAVA_HOME to $HOME/android-toolchain/jdk-17 - - template: /build-tools/automation/yaml-templates/setup-test-environment.yaml parameters: installTestSlicer: true xaprepareScenario: EmulatorTestDependencies - jdkTestFolder: $HOME/android-toolchain/jdk-17 + useXAPrepareJdkPath: true - task: DownloadPipelineArtifact@2 inputs: @@ -251,15 +246,11 @@ stages: steps: - template: agent-cleanser/v1.yml@yaml-templates - - script: | - echo "##vso[task.setvariable variable=JAVA_HOME]$HOME/android-toolchain/jdk-17" - displayName: set JAVA_HOME to $HOME/android-toolchain/jdk-17 - - template: /build-tools/automation/yaml-templates/setup-test-environment.yaml parameters: installTestSlicer: true xaprepareScenario: EmulatorTestDependencies - jdkTestFolder: $HOME/android-toolchain/jdk-17 + useXAPrepareJdkPath: true - task: DownloadPipelineArtifact@2 inputs: diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 4dbf996a2f1..511d7338185 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -152,11 +152,6 @@ extends: inputs: forceReinstallCredentialProvider: true - - script: | - echo ##vso[task.setvariable variable=JI_JAVA_HOME]%JAVA_HOME_17_X64% - echo ##vso[task.setvariable variable=JAVA_HOME]%JAVA_HOME_17_X64% - displayName: set JI_JAVA_HOME, JAVA_HOME to $(JAVA_HOME_17_X64) - - script: echo "##vso[task.prependpath]C:\Windows\System32\WindowsPowerShell\v1.0\" displayName: add powershell to path diff --git a/build-tools/automation/yaml-templates/build-windows.yaml b/build-tools/automation/yaml-templates/build-windows.yaml index 832cddfbede..52c6e17838d 100644 --- a/build-tools/automation/yaml-templates/build-windows.yaml +++ b/build-tools/automation/yaml-templates/build-windows.yaml @@ -39,9 +39,7 @@ stages: - template: /build-tools/automation/yaml-templates/clean.yaml - - script: | - echo ##vso[task.setvariable variable=JI_JAVA_HOME]%JAVA_HOME_17_X64% - displayName: set JI_JAVA_HOME to $(JAVA_HOME_17_X64) + - template: /build-tools/automation/yaml-templates/setup-jdk-variables.yaml - template: /build-tools/automation/yaml-templates/use-dot-net.yaml parameters: diff --git a/build-tools/automation/yaml-templates/commercial-build.yaml b/build-tools/automation/yaml-templates/commercial-build.yaml index 8fa529440f0..2118d923bef 100644 --- a/build-tools/automation/yaml-templates/commercial-build.yaml +++ b/build-tools/automation/yaml-templates/commercial-build.yaml @@ -8,8 +8,9 @@ parameters: use1ESTemplate: true steps: -- script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" - displayName: set JI_JAVA_HOME +- template: /build-tools/automation/yaml-templates/setup-jdk-variables.yaml + parameters: + useXAPrepareJdkPath: true - template: /build-tools/automation/yaml-templates/use-dot-net.yaml parameters: diff --git a/build-tools/automation/yaml-templates/run-emulator-tests.yaml b/build-tools/automation/yaml-templates/run-emulator-tests.yaml index cffa60b6b04..3f4caabf5fb 100644 --- a/build-tools/automation/yaml-templates/run-emulator-tests.yaml +++ b/build-tools/automation/yaml-templates/run-emulator-tests.yaml @@ -4,7 +4,8 @@ parameters: emulatorMSBuildArgs: '' jobName: CheckTimeZoneInfoIsCorrectNode1 jobTimeout: 360 - jdkTestFolder: $(JAVA_HOME_17_X64) + jdkMajorVersion: $(DefaultJavaSdkMajorVersion) + useXAPrepareJdkPath: true testSteps: [] use1ESTemplate: true @@ -22,14 +23,11 @@ jobs: steps: - template: agent-cleanser/v1.yml@yaml-templates - - script: | - echo "##vso[task.setvariable variable=JAVA_HOME]${{ parameters.jdkTestFolder }}" - displayName: set JAVA_HOME to ${{ parameters.jdkTestFolder }} - - template: /build-tools/automation/yaml-templates/setup-test-environment.yaml parameters: xaprepareScenario: EmulatorTestDependencies - jdkTestFolder: ${{ parameters.jdkTestFolder }} + jdkMajorVersion: ${{ parameters.jdkMajorVersion }} + useXAPrepareJdkPath: ${{ parameters.useXAPrepareJdkPath }} - task: DownloadPipelineArtifact@2 inputs: diff --git a/build-tools/automation/yaml-templates/setup-jdk-variables.yaml b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml new file mode 100644 index 00000000000..968beeb328a --- /dev/null +++ b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml @@ -0,0 +1,21 @@ +parameters: + jdkMajorVersion: $(DefaultJavaSdkMajorVersion) + useXAPrepareJdkPath: false + +steps: +- pwsh: | + $jdkMajorVersion="${{ parameters.jdkMajorVersion }}" + $agentArch="$(Agent.OSArchitecture)" + $jdkHomeVarName="JAVA_HOME_${jdkMajorVersion}_${agentArch}" + $jdkHomePath = (Get-Item -Path "env:$jdkHomeVarName").Value + $xaPrepareJdkPath="$env:HOME/android-toolchain/jdk-$jdkMajorVersion" + if ("$AgentOS" -eq "Windows_NT") { + $xaPrepareJdkPath="$env:USERPROFILE\android-toolchain\jdk-$jdkMajorVersion" + } + if ("${{ parameters.useXAPrepareJdkPath }}" -eq "true") { + $jdkHomePath=$xaPrepareJdkPath + } + Write-Host "Setting variable 'JI_JAVA_HOME' to '$jdkHomePath'" + Write-Host "##vso[task.setvariable variable=JAVA_HOME]$jdkHomePath" + Write-Host "##vso[task.setvariable variable=JI_JAVA_HOME]$jdkHomePath" + displayName: set JAVA_HOME and JI_JAVA_HOME diff --git a/build-tools/automation/yaml-templates/setup-test-environment.yaml b/build-tools/automation/yaml-templates/setup-test-environment.yaml index 8973223431f..d68ee428870 100644 --- a/build-tools/automation/yaml-templates/setup-test-environment.yaml +++ b/build-tools/automation/yaml-templates/setup-test-environment.yaml @@ -1,7 +1,8 @@ parameters: configuration: $(XA.Build.Configuration) xaSourcePath: $(System.DefaultWorkingDirectory) - jdkTestFolder: $(JAVA_HOME_17_X64) + jdkMajorVersion: $(DefaultJavaSdkMajorVersion) + useXAPrepareJdkPath: false remove_dotnet: false dotnetVersion: $(DotNetSdkVersion) dotnetQuality: $(DotNetSdkQuality) @@ -21,17 +22,10 @@ steps: clean: true submodules: recursive -- script: | - echo "##vso[task.setvariable variable=JI_JAVA_HOME]${{ parameters.jdkTestFolder }}" - echo "##vso[task.setvariable variable=DOTNET_TOOL_PATH]${{ parameters.xaSourcePath }}/bin/${{ parameters.configuration }}/dotnet/dotnet" - displayName: set JI_JAVA_HOME to ${{ parameters.jdkTestFolder }} - condition: and(succeeded(), ne(variables['agent.os'], 'Windows_NT')) - -- script: | - echo ##vso[task.setvariable variable=JI_JAVA_HOME]${{ parameters.jdkTestFolder }} - echo ##vso[task.setvariable variable=DOTNET_TOOL_PATH]${{ parameters.xaSourcePath }}\bin\${{ parameters.configuration }}\dotnet\dotnet.exe - displayName: set JI_JAVA_HOME to ${{ parameters.jdkTestFolder }} - condition: and(succeeded(), eq(variables['agent.os'], 'Windows_NT')) +- template: /build-tools/automation/yaml-templates/setup-jdk-variables.yaml + parameters: + jdkMajorVersion: ${{ parameters.jdkMajorVersion }} + useXAPrepareJdkPath: ${{ parameters.useXAPrepareJdkPath }} # Install latest .NET - template: /build-tools/automation/yaml-templates/use-dot-net.yaml diff --git a/build-tools/automation/yaml-templates/variables.yaml b/build-tools/automation/yaml-templates/variables.yaml index 1d8b14a9779..48b60fe65f3 100644 --- a/build-tools/automation/yaml-templates/variables.yaml +++ b/build-tools/automation/yaml-templates/variables.yaml @@ -58,6 +58,8 @@ variables: value: $[or(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), startsWith(variables['System.PullRequest.TargetBranch'], 'release/'))] - name: DefaultTestSdkPlatforms # Comma-separated SDK Platform(s) to install on test agents (no spaces) value: 35,Baklava +- name: DefaultJavaSdkMajorVersion + value: 17 - name: ExcludedNightlyNUnitCategories value: 'cat != SystemApplication & cat != TimeZoneInfo & cat != Localization' - name: RunMAUITestJob From 880b03e5bb9615093736e99fee0964f51d17a5d7 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 10 Jan 2025 14:17:48 -0500 Subject: [PATCH 2/6] Update parameter --- build-tools/automation/azure-pipelines-apidocs.yaml | 2 +- build-tools/automation/azure-pipelines-nightly.yaml | 4 ++-- .../automation/yaml-templates/commercial-build.yaml | 2 +- .../yaml-templates/run-emulator-tests.yaml | 4 ++-- .../yaml-templates/setup-jdk-variables.yaml | 12 ++++++------ .../yaml-templates/setup-test-environment.yaml | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 9bb41dfa546..5bdbd58d155 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -102,7 +102,7 @@ extends: - template: /build-tools/automation/yaml-templates/setup-jdk-variables.yaml@self parameters: - useXAPrepareJdkPath: true + useAgentJdkPath: false # Set MSBuild property overrides if parameters are set - ${{ if ne(parameters.apiLevel, 'default') }}: diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml index e5363f483cc..ee0d18db3a8 100644 --- a/build-tools/automation/azure-pipelines-nightly.yaml +++ b/build-tools/automation/azure-pipelines-nightly.yaml @@ -198,7 +198,7 @@ stages: parameters: installTestSlicer: true xaprepareScenario: EmulatorTestDependencies - useXAPrepareJdkPath: true + useAgentJdkPath: false - task: DownloadPipelineArtifact@2 inputs: @@ -250,7 +250,7 @@ stages: parameters: installTestSlicer: true xaprepareScenario: EmulatorTestDependencies - useXAPrepareJdkPath: true + useAgentJdkPath: false - task: DownloadPipelineArtifact@2 inputs: diff --git a/build-tools/automation/yaml-templates/commercial-build.yaml b/build-tools/automation/yaml-templates/commercial-build.yaml index 2118d923bef..0e2ed655eee 100644 --- a/build-tools/automation/yaml-templates/commercial-build.yaml +++ b/build-tools/automation/yaml-templates/commercial-build.yaml @@ -10,7 +10,7 @@ parameters: steps: - template: /build-tools/automation/yaml-templates/setup-jdk-variables.yaml parameters: - useXAPrepareJdkPath: true + useAgentJdkPath: false - template: /build-tools/automation/yaml-templates/use-dot-net.yaml parameters: diff --git a/build-tools/automation/yaml-templates/run-emulator-tests.yaml b/build-tools/automation/yaml-templates/run-emulator-tests.yaml index 3f4caabf5fb..3142a2c6a5d 100644 --- a/build-tools/automation/yaml-templates/run-emulator-tests.yaml +++ b/build-tools/automation/yaml-templates/run-emulator-tests.yaml @@ -5,7 +5,7 @@ parameters: jobName: CheckTimeZoneInfoIsCorrectNode1 jobTimeout: 360 jdkMajorVersion: $(DefaultJavaSdkMajorVersion) - useXAPrepareJdkPath: true + useAgentJdkPath: false testSteps: [] use1ESTemplate: true @@ -27,7 +27,7 @@ jobs: parameters: xaprepareScenario: EmulatorTestDependencies jdkMajorVersion: ${{ parameters.jdkMajorVersion }} - useXAPrepareJdkPath: ${{ parameters.useXAPrepareJdkPath }} + useAgentJdkPath: ${{ parameters.useAgentJdkPath }} - task: DownloadPipelineArtifact@2 inputs: diff --git a/build-tools/automation/yaml-templates/setup-jdk-variables.yaml b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml index 968beeb328a..ec06ef870e5 100644 --- a/build-tools/automation/yaml-templates/setup-jdk-variables.yaml +++ b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml @@ -1,21 +1,21 @@ parameters: jdkMajorVersion: $(DefaultJavaSdkMajorVersion) - useXAPrepareJdkPath: false + useAgentJdkPath: true steps: - pwsh: | $jdkMajorVersion="${{ parameters.jdkMajorVersion }}" $agentArch="$(Agent.OSArchitecture)" - $jdkHomeVarName="JAVA_HOME_${jdkMajorVersion}_${agentArch}" - $jdkHomePath = (Get-Item -Path "env:$jdkHomeVarName").Value $xaPrepareJdkPath="$env:HOME/android-toolchain/jdk-$jdkMajorVersion" if ("$AgentOS" -eq "Windows_NT") { $xaPrepareJdkPath="$env:USERPROFILE\android-toolchain\jdk-$jdkMajorVersion" } - if ("${{ parameters.useXAPrepareJdkPath }}" -eq "true") { - $jdkHomePath=$xaPrepareJdkPath + $jdkHomePath=$xaPrepareJdkPath + if ("${{ parameters.useAgentJdkPath }}" -eq "true") { + $jdkHomeVarName="JAVA_HOME_${jdkMajorVersion}_${agentArch}" + $jdkHomePath=(Get-Item -Path "env:$jdkHomeVarName").Value } - Write-Host "Setting variable 'JI_JAVA_HOME' to '$jdkHomePath'" + Write-Host "Setting variable 'JAVA_HOME' and 'JI_JAVA_HOME' to '$jdkHomePath'" Write-Host "##vso[task.setvariable variable=JAVA_HOME]$jdkHomePath" Write-Host "##vso[task.setvariable variable=JI_JAVA_HOME]$jdkHomePath" displayName: set JAVA_HOME and JI_JAVA_HOME diff --git a/build-tools/automation/yaml-templates/setup-test-environment.yaml b/build-tools/automation/yaml-templates/setup-test-environment.yaml index d68ee428870..e95a9782ece 100644 --- a/build-tools/automation/yaml-templates/setup-test-environment.yaml +++ b/build-tools/automation/yaml-templates/setup-test-environment.yaml @@ -2,7 +2,7 @@ parameters: configuration: $(XA.Build.Configuration) xaSourcePath: $(System.DefaultWorkingDirectory) jdkMajorVersion: $(DefaultJavaSdkMajorVersion) - useXAPrepareJdkPath: false + useAgentJdkPath: true remove_dotnet: false dotnetVersion: $(DotNetSdkVersion) dotnetQuality: $(DotNetSdkQuality) @@ -25,7 +25,7 @@ steps: - template: /build-tools/automation/yaml-templates/setup-jdk-variables.yaml parameters: jdkMajorVersion: ${{ parameters.jdkMajorVersion }} - useXAPrepareJdkPath: ${{ parameters.useXAPrepareJdkPath }} + useAgentJdkPath: ${{ parameters.useAgentJdkPath }} # Install latest .NET - template: /build-tools/automation/yaml-templates/use-dot-net.yaml From cbc0cf1f37f0a6e915d165e5e1c0d8a7c68023b7 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 10 Jan 2025 15:41:51 -0500 Subject: [PATCH 3/6] Fix agent.os, relax test job jdk install check --- .../yaml-templates/setup-jdk-variables.yaml | 5 +++-- .../Steps/Step_InstallAdoptOpenJDK.cs | 21 ++++++++----------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/build-tools/automation/yaml-templates/setup-jdk-variables.yaml b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml index ec06ef870e5..579a73cf51a 100644 --- a/build-tools/automation/yaml-templates/setup-jdk-variables.yaml +++ b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml @@ -4,10 +4,11 @@ parameters: steps: - pwsh: | - $jdkMajorVersion="${{ parameters.jdkMajorVersion }}" + $agentOS="$(Agent.OS)" $agentArch="$(Agent.OSArchitecture)" + $jdkMajorVersion="${{ parameters.jdkMajorVersion }}" $xaPrepareJdkPath="$env:HOME/android-toolchain/jdk-$jdkMajorVersion" - if ("$AgentOS" -eq "Windows_NT") { + if ("$agentOS" -eq "Windows_NT") { $xaPrepareJdkPath="$env:USERPROFILE\android-toolchain\jdk-$jdkMajorVersion" } $jdkHomePath=$xaPrepareJdkPath diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs index 36d4190575e..2d3c9e5d99e 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs @@ -59,19 +59,11 @@ protected override async Task Execute (Context context) return true; } - // Check for a JDK installed on CI with a matching major version to use for test jobs + // Check for a JDK installed on CI to use for test jobs var jiJavaHomeVarValue = Environment.GetEnvironmentVariable ("JI_JAVA_HOME"); - if (AllowJIJavaHomeMatch && Directory.Exists (jiJavaHomeVarValue)) { - jdkInstallDir = jiJavaHomeVarValue; - OpenJDKExistsAndIsValid (jdkInstallDir, out installedVersion); - if (Version.TryParse (installedVersion, out Version? cversion) && cversion != null) { - if (cversion.Major == JdkVersion.Major) { - Log.Status ($"{ProductName} with version "); - Log.Status (installedVersion ?? "Unknown", ConsoleColor.Yellow); - Log.StatusLine (" already installed in: ", jdkInstallDir, tailColor: ConsoleColor.Cyan); - return true; - } - } + if (AllowJIJavaHomeMatch && Directory.Exists (jiJavaHomeVarValue) && JdkFilesExist (jiJavaHomeVarValue)) { + Log.StatusLine ("Skipping JDK install for test job, JDK exists at: ", jdkInstallDir, tailColor: ConsoleColor.Cyan); + return true; } Log.StatusLine ($"{ProductName} {JdkVersion} r{JdkRelease} will be installed to {jdkInstallDir}"); @@ -254,6 +246,11 @@ bool OpenJDKExistsAndIsValid (string installDir, out string? installedVersion) return false; } + return JdkFilesExist (installDir); + } + + bool JdkFilesExist (string installDir) + { foreach (string f in jdkFiles) { string file = Path.Combine (installDir, f); if (!File.Exists (file)) { From 650038ba8d62f6ede90aeedf9bc5bd0ad09a4d75 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 13 Jan 2025 10:45:07 -0500 Subject: [PATCH 4/6] Also set JI_JAVA_HOME_DEFAULT to use when running sdk tools while testing against older JDK versions --- build-tools/automation/azure-pipelines-nightly.yaml | 1 + .../automation/yaml-templates/setup-jdk-variables.yaml | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml index ee0d18db3a8..3efec9c135c 100644 --- a/build-tools/automation/azure-pipelines-nightly.yaml +++ b/build-tools/automation/azure-pipelines-nightly.yaml @@ -138,6 +138,7 @@ stages: avdApiLevel: $(avdApiLevel) avdAbi: $(avdAbi) avdType: $(avdType) + emulatorMSBuildArgs: -p:JavaSdkDirectory=-$(JI_JAVA_HOME_DEFAULT) - template: /build-tools/automation/yaml-templates/apk-instrumentation.yaml parameters: diff --git a/build-tools/automation/yaml-templates/setup-jdk-variables.yaml b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml index 579a73cf51a..780952babd4 100644 --- a/build-tools/automation/yaml-templates/setup-jdk-variables.yaml +++ b/build-tools/automation/yaml-templates/setup-jdk-variables.yaml @@ -13,9 +13,13 @@ steps: } $jdkHomePath=$xaPrepareJdkPath if ("${{ parameters.useAgentJdkPath }}" -eq "true") { + $defaultJdkHomeVarName="JAVA_HOME_$(DefaultJavaSdkMajorVersion)_${agentArch}" + $defaultJdkHomePath=(Get-Item -Path "env:$defaultJdkHomeVarName").Value $jdkHomeVarName="JAVA_HOME_${jdkMajorVersion}_${agentArch}" $jdkHomePath=(Get-Item -Path "env:$jdkHomeVarName").Value } + Write-Host "Setting variable 'JI_JAVA_HOME_DEFAULT' to '$defaultJdkHomePath'" + Write-Host "##vso[task.setvariable variable=JI_JAVA_HOME_DEFAULT]$defaultJdkHomePath" Write-Host "Setting variable 'JAVA_HOME' and 'JI_JAVA_HOME' to '$jdkHomePath'" Write-Host "##vso[task.setvariable variable=JAVA_HOME]$jdkHomePath" Write-Host "##vso[task.setvariable variable=JI_JAVA_HOME]$jdkHomePath" From f571969ba73826434df1ed431fcf592bc1bb8945 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 13 Jan 2025 11:46:22 -0500 Subject: [PATCH 5/6] Fix typo --- build-tools/automation/azure-pipelines-nightly.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml index 3efec9c135c..2fc23d55aff 100644 --- a/build-tools/automation/azure-pipelines-nightly.yaml +++ b/build-tools/automation/azure-pipelines-nightly.yaml @@ -138,7 +138,7 @@ stages: avdApiLevel: $(avdApiLevel) avdAbi: $(avdAbi) avdType: $(avdType) - emulatorMSBuildArgs: -p:JavaSdkDirectory=-$(JI_JAVA_HOME_DEFAULT) + emulatorMSBuildArgs: -p:JavaSdkDirectory=$(JI_JAVA_HOME_DEFAULT) - template: /build-tools/automation/yaml-templates/apk-instrumentation.yaml parameters: From ef925e61c1e79f584901213d1cd56209a4b36634 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 13 Jan 2025 12:29:29 -0500 Subject: [PATCH 6/6] Set JAVA_HOME when installing emulator images --- build-tools/scripts/TestApks.targets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-tools/scripts/TestApks.targets b/build-tools/scripts/TestApks.targets index a75e6beecb8..fb95425ea5c 100644 --- a/build-tools/scripts/TestApks.targets +++ b/build-tools/scripts/TestApks.targets @@ -380,6 +380,7 @@ @@ -389,6 +390,7 @@ /> @@ -399,6 +401,7 @@ />