/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/BuildSystem/AzurePipelines/Android-x64.yml
195 строк
7 KB
Jan Krassnigg
Enable Vulkan build by default, but prefer D3D11 for rendering (#1958)
09 июн 2026, 08:54
Не верифицирован
09 июн 2026, 08:54
be122e0
Код
Авторство
О чём код?
parameters: - name: compileShaderCompiler displayName: 'Compile Shader Compiler' type: boolean default: true # For now, we use the precompiled ShaderCompiler for Windows to speed up testing. trigger: branches: include: - dev resources: repositories: - repository: self type: git ref: dev variables: androidHome: '$(System.DefaultWorkingDirectory)/Workspace/shared/android' androidNdkHome: '$(System.DefaultWorkingDirectory)/Workspace/shared/android/ndk/26.1.10909125' javaHome: '$(System.DefaultWorkingDirectory)/Workspace/shared/android/jdk17' jobs: - job: Job_1 displayName: Android-x64 timeoutInMinutes: 180 pool: name: Default demands: - Agent.OS -equals Windows_NT - EMULATOR - GPU steps: - checkout: self submodules: true lfs: true clean: false - task: PowerShell@2 displayName: Check force clean inputs: pwsh: true targetType: inline script: | $pathA = Join-Path $(System.DefaultWorkingDirectory) "gitClean.txt" $pathB = Join-Path $(System.DefaultWorkingDirectory) "gitCleanCopy.txt" $clean = -not (Test-Path $pathB) -or (compare-object (get-content $pathA) (get-content $pathB)) if ($clean) { Write-Host "Cleaning repo!" git clean -dfx Copy-Item -Path $pathA -Destination $pathB } - ${{ if eq(parameters.compileShaderCompiler, true) }}: - task: CMake@1 displayName: CMake vs2026x64 inputs: cwd: $(System.DefaultWorkingDirectory) cmakeArgs: --preset vs2026x64 - task: CMake@1 displayName: CMake build vs2026x64 inputs: cwd: $(System.DefaultWorkingDirectory)/Workspace/vs2026x64 cmakeArgs: --build . --target ShaderCompiler --config dev - task: PowerShell@2 displayName: Compile Shaders inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/CompileShaders.ps1 ${{ if eq(parameters.compileShaderCompiler, true) }}: arguments: "-BinariesDir $(System.DefaultWorkingDirectory)/Output/Bin/WinVs2026Dev64" - task: PowerShell@2 displayName: Install Android Dependencies inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/InstallAndroidDependencies.ps1 arguments: "-acceptLicence -installEmulator" - task: CMake@1 displayName: CMake android-x64-dev inputs: cwd: $(System.DefaultWorkingDirectory) cmakeArgs: --preset android-x64-dev - task: CmdLine@2 displayName: Build inputs: targetType: inline script: ninja -C Workspace/android-x64-dev - task: PowerShell@2 displayName: Install Emulator inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/AndroidEmulator.ps1 arguments: "-installEmulator" env: ANDROID_HOME: '$(androidHome)' ANDROID_NDK_HOME: '$(androidNdkHome)' JAVA_HOME: '$(javaHome)' - task: PowerShell@2 displayName: Start Emulator inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/AndroidEmulator.ps1 arguments: "-startEmulator" env: ANDROID_HOME: '$(androidHome)' ANDROID_NDK_HOME: '$(androidNdkHome)' JAVA_HOME: '$(javaHome)' - task: PowerShell@2 displayName: Check Ready for Testing inputs: targetType: inline script: Write-Host "##vso[task.setvariable variable=task.MSBuild.status]success" - task: PowerShell@2 displayName: FoundationTest condition: eq(variables['task.MSBuild.status'], 'success') inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/AndroidTest.ps1 arguments: "-deviceAdb emulator-5555 -packageName com.ezengine.FoundationTest -activityName android.app.NativeActivity -outputFolder $(Build.ArtifactStagingDirectory)/Test/FoundationTest -apk $(System.DefaultWorkingDirectory)/Output/Bin/AndroidNinjaClangDev64/FoundationTest.apk" env: ANDROID_HOME: '$(androidHome)' ANDROID_NDK_HOME: '$(androidNdkHome)' JAVA_HOME: '$(javaHome)' - task: PowerShell@2 displayName: CoreTest condition: eq(variables['task.MSBuild.status'], 'success') inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/AndroidTest.ps1 arguments: "-deviceAdb emulator-5555 -packageName com.ezengine.CoreTest -activityName android.app.NativeActivity -outputFolder $(Build.ArtifactStagingDirectory)/Test/CoreTest -apk $(System.DefaultWorkingDirectory)/Output/Bin/AndroidNinjaClangDev64/CoreTest.apk" env: ANDROID_HOME: '$(androidHome)' ANDROID_NDK_HOME: '$(androidNdkHome)' JAVA_HOME: '$(javaHome)' - task: PowerShell@2 displayName: RendererTest condition: eq(variables['task.MSBuild.status'], 'success') inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/AndroidTest.ps1 arguments: "-deviceAdb emulator-5555 -packageName com.ezengine.RendererTest -activityName android.app.NativeActivity -outputFolder $(Build.ArtifactStagingDirectory)/Test/RendererTest -apk $(System.DefaultWorkingDirectory)/Output/Bin/AndroidNinjaClangDev64/RendererTest.apk" env: ANDROID_HOME: '$(androidHome)' ANDROID_NDK_HOME: '$(androidNdkHome)' JAVA_HOME: '$(javaHome)' - task: PowerShell@2 displayName: ToolsFoundationTest condition: eq(variables['task.MSBuild.status'], 'success') inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/AndroidTest.ps1 arguments: "-deviceAdb emulator-5555 -packageName com.ezengine.ToolsFoundationTest -activityName android.app.NativeActivity -outputFolder $(Build.ArtifactStagingDirectory)/Test/ToolsFoundationTest -apk $(System.DefaultWorkingDirectory)/Output/Bin/AndroidNinjaClangDev64/ToolsFoundationTest.apk" env: ANDROID_HOME: '$(androidHome)' ANDROID_NDK_HOME: '$(androidNdkHome)' JAVA_HOME: '$(javaHome)' - task: PowerShell@2 displayName: Stop Emulator condition: always() inputs: targetType: filepath pwsh: true filePath: $(System.DefaultWorkingDirectory)/Utilities/Android/AndroidEmulator.ps1 arguments: "-stopEmulator" env: ANDROID_HOME: '$(androidHome)' ANDROID_NDK_HOME: '$(androidNdkHome)' JAVA_HOME: '$(javaHome)' - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: TestResults' condition: eq(variables['task.MSBuild.status'], 'success') inputs: PathtoPublish: $(Build.ArtifactStagingDirectory)/Test ArtifactName: TestResults ...