45 lines
No EOL
1.6 KiB
Groovy
45 lines
No EOL
1.6 KiB
Groovy
|
|
node {
|
|
def flavorCombination='WithMapsWithAnalyticsForPlay'
|
|
|
|
stage 'checkout'
|
|
checkout scm
|
|
|
|
stage 'UITest'
|
|
lock('adb') {
|
|
try {
|
|
sh "./gradlew clean spoon${flavorCombination}"
|
|
} catch(err) {
|
|
currentBuild.result = FAILURE
|
|
} finally {
|
|
publishHTML(target:[allowMissing: true, alwaysLinkToLastBuild: true, keepAll: true, reportDir: "android/build/spoon", reportFiles: '*/debug/index.html', reportName: 'Spoon'])
|
|
step([$class: 'JUnitResultArchiver', testResults: 'android/build/spoon/*/debug/junit-reports/*.xml'])
|
|
}
|
|
}
|
|
|
|
stage 'lint'
|
|
try {
|
|
sh "./gradlew lint${flavorCombination}Release"
|
|
} catch(err) {
|
|
currentBuild.result = FAILURE
|
|
} finally {
|
|
publishHTML(target:[allowMissing: true, alwaysLinkToLastBuild: true, keepAll: true, reportDir: 'android/build/outputs/', reportFiles: "lint-results-*Release.html", reportName: 'Lint'])
|
|
androidLint canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '', unHealthy: ''
|
|
}
|
|
|
|
stage 'test'
|
|
try {
|
|
sh "./gradlew test${flavorCombination}DebugUnitTest"
|
|
} catch(err) {
|
|
currentBuild.result = FAILURE
|
|
} finally {
|
|
step([$class: 'JUnitResultArchiver', testResults: 'android/build/test-results/*/*/*.xml'])
|
|
publishHTML(target:[allowMissing: true, alwaysLinkToLastBuild: true, keepAll: true, reportDir: 'android/build/reports/tests/', reportFiles: "*/*/index.html", reportName: 'UnitTest'])
|
|
}
|
|
|
|
stage 'assemble'
|
|
sh "./gradlew assemble${flavorCombination}Release"
|
|
archive 'android/build/outputs/apk/*'
|
|
archive 'android/build/outputs/mapping/*/release/mapping.txt'
|
|
|
|
} |