73 строки
2.3 KiB
YAML
73 строки
2.3 KiB
YAML
# Gradle
|
|
# Build your Java project and run tests with Gradle using a Gradle wrapper script.
|
|
# Add steps that analyze code, save build artifacts, deploy, and more:
|
|
# https://docs.microsoft.com/azure/devops/pipelines/languages/java
|
|
trigger:
|
|
- master
|
|
|
|
pr:
|
|
- master
|
|
|
|
pool:
|
|
vmImage: 'macos-latest'
|
|
|
|
steps:
|
|
- task: Gradle@3
|
|
displayName: 'gradlew clean build'
|
|
inputs:
|
|
tasks: clean build
|
|
publishJUnitResults: false
|
|
jdkVersionOption: 1.11
|
|
gradleOptions: '-Xmx4608M'
|
|
|
|
- bash: |
|
|
#!/usr/bin/env bash
|
|
|
|
# Install AVD files
|
|
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager --install 'system-images;android-28;google_apis;x86'
|
|
|
|
# Create emulator
|
|
echo "no" | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd -n xamarin_android_emulator -k 'system-images;android-28;google_apis;x86' --force
|
|
|
|
$ANDROID_HOME/emulator/emulator -list-avds
|
|
|
|
echo "Starting emulator"
|
|
|
|
# Start emulator in background
|
|
nohup $ANDROID_HOME/emulator/emulator -avd xamarin_android_emulator -no-snapshot > /dev/null 2>&1 &
|
|
$ANDROID_HOME/platform-tools/adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d '\r') ]]; do sleep 1; done; input keyevent 82'
|
|
|
|
$ANDROID_HOME/platform-tools/adb devices
|
|
|
|
echo "Emulator started"
|
|
displayName: 'Starting emulator'
|
|
|
|
- task: Gradle@3
|
|
displayName: 'gradlew -Pcoverage jacocoCoverageReport'
|
|
inputs:
|
|
jdkVersionOption: 1.11
|
|
tasks: '-Pcoverage jacocoCoverageReport'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish Artifact: drop'
|
|
inputs:
|
|
PathtoPublish: 'sdk/build/outputs/aar/'
|
|
|
|
- task: PublishCodeCoverageResults@1
|
|
displayName: 'Publish code coverage from $(System.DefaultWorkingDirectory)/sdk/build/reports/jacoco/jacocoCoverageReport/jacocoCoverageReport.xml'
|
|
inputs:
|
|
summaryFileLocation: '$(System.DefaultWorkingDirectory)/sdk/build/reports/jacoco/jacocoCoverageReport/jacocoCoverageReport.xml'
|
|
reportDirectory: '$(System.DefaultWorkingDirectory)/sdk/build/reports/jacoco/jacocoCoverageReport/html'
|
|
|
|
- task: Gradle@3
|
|
displayName: 'gradlew lint'
|
|
inputs:
|
|
jdkVersionOption: 1.11
|
|
tasks: lint
|
|
publishJUnitResults: false
|
|
|
|
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
|
displayName: 'Component Detection'
|
|
inputs:
|
|
verbosity: Normal
|
|
failOnAlert: true |