62 lines
2.2 KiB
Groovy
62 lines
2.2 KiB
Groovy
apply from: "${rootDir}/gradle/dependencies.gradle"
|
|
|
|
def MAPBOX_JAVA_DIR = 'maplibre-java'
|
|
def MAPBOX_JAVA_TAG_PREFIX = 'v'
|
|
|
|
def MAPBOX_CORE_TAG_PREFIX = '-core-'
|
|
|
|
def MAPBOX_GESTURES_DIR = 'mapbox-gestures-android'
|
|
def MAPBOX_GESTURES_TAG_PREFIX = 'v'
|
|
|
|
task androidNitpick {
|
|
doLast {
|
|
println "Running android nitpick script"
|
|
|
|
println "Verify vendor submodule pins"
|
|
verifyVendorSubmodulePin(MAPBOX_JAVA_DIR, MAPBOX_JAVA_TAG_PREFIX, versions.mapLibreServices)
|
|
verifyVendorSubmodulePin(MAPBOX_GESTURES_DIR, MAPBOX_GESTURES_TAG_PREFIX, versions.mapboxGestures)
|
|
|
|
verifyLicenseGeneration()
|
|
}
|
|
}
|
|
|
|
private def verifyVendorSubmodulePin(def dir, def prefix, def version) {
|
|
println "Verify vendor submodule pin: ${dir} (${prefix + version})"
|
|
exec {
|
|
workingDir = "${rootDir}/vendor/${dir}"
|
|
commandLine "git", "fetch", "-t"
|
|
}
|
|
|
|
def output = new ByteArrayOutputStream()
|
|
exec {
|
|
workingDir = "${rootDir}/vendor/${dir}"
|
|
commandLine "git", "rev-list", "-n", "1", "tags/${prefix + version}"
|
|
standardOutput = output
|
|
}
|
|
def expectedCommit = output.toString().trim()
|
|
output.reset()
|
|
|
|
exec {
|
|
workingDir = "${rootDir}/vendor/${dir}"
|
|
commandLine "git", "rev-parse", "HEAD"
|
|
standardOutput = output
|
|
}
|
|
def actualCommit = output.toString().trim()
|
|
|
|
if (actualCommit != expectedCommit) {
|
|
throw new IllegalStateException("${dir} vendor repository is not checked out on the consumed binary's tag.\n" +
|
|
"Expected commit: " + expectedCommit + "(${prefix + version} tag).\n" +
|
|
"Actual commit: " + actualCommit + ".\n" +
|
|
"If you've updated the version in the dependencies.gradle file, make sure to bump the submodule pin in the /vendor directory to match the release tag.\n" +
|
|
"If you've bumped the pin, make sure to verify the version tag prefix in the android-nitpick.gradle file.")
|
|
}
|
|
output.close()
|
|
}
|
|
|
|
private def verifyLicenseGeneration() {
|
|
println "Verify license generation with git diff..."
|
|
exec {
|
|
workingDir = "${rootDir}"
|
|
commandLine "python", "scripts/validate-license.py"
|
|
}
|
|
} |