mirror of
https://github.com/etlegacy/JoyStick.git
synced 2024-11-21 20:01:19 +00:00
60 lines
1.7 KiB
Groovy
60 lines
1.7 KiB
Groovy
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
|
|
buildscript {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:8.2.2'
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
// in the individual module build.gradle files
|
|
}
|
|
}
|
|
|
|
def parseGitVersion() {
|
|
def major = 1
|
|
def minor = 2
|
|
def patch = 0
|
|
def postfix = '-UNKNOWN'
|
|
def hash = ''
|
|
def output = 'git describe --long --tags --dirty --always'.execute().text.trim()
|
|
project.logger.info("Ran git describe with the output: {}", output)
|
|
(output =~ /^v(\d+)\.(\d+)\.(\d+)-(\d+)-(\w+)/).each { match, majorVal, minorVal, patchVal, commitVal, hashVal ->
|
|
if (output.toLowerCase().endsWith('-dirty')) {
|
|
patchVal = (patchVal as int + 1) as String
|
|
postfix = '-DIRTY'
|
|
} else if(commit as int > 0) {
|
|
patchVal = (patchVal as int + 1) as String
|
|
postfix = '-SNAPSHOT'
|
|
} else {
|
|
postfix = ''
|
|
}
|
|
|
|
major = majorVal as int
|
|
minor = minorVal as int
|
|
patch = patchVal as int
|
|
hash = hashVal
|
|
}
|
|
def outputHash = [version: "${major}.${minor}.${patch}${postfix}", hash: hash]
|
|
project.logger.info("Parsed version: {}", outputHash.version)
|
|
return outputHash
|
|
}
|
|
|
|
def versionInfo = parseGitVersion()
|
|
|
|
version = versionInfo.version
|
|
def root = project
|
|
|
|
subprojects { Project ch ->
|
|
ch.version = root.version
|
|
ch.repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
tasks.register('clean', Delete) {
|
|
delete rootProject.buildDir
|
|
}
|