CAPAUT-353 Externalize gradle build parts
This commit is contained in:
58
gradle/build-version.gradle
Normal file
58
gradle/build-version.gradle
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Enables version handling on build process
|
||||
*
|
||||
* Project: gradle
|
||||
* Author: Marc Böhm <marc.boehm@captica.de>
|
||||
* License: MIT License (see LICENSE.md)
|
||||
*
|
||||
* Copyright (c) captica GmbH est. 2021
|
||||
*/
|
||||
|
||||
|
||||
// Setup versions handling
|
||||
gitVersioning.apply {
|
||||
refs {
|
||||
branch('(feature|bugfix)/(?<feature>.+)') {
|
||||
version = '${ref.feature}-SNAPSHOT'
|
||||
}
|
||||
branch('release/v(?<version>.*)') {
|
||||
version = '${ref.version}-RC'
|
||||
}
|
||||
branch('.+') {
|
||||
version = '${ref}-SNAPSHOT'
|
||||
}
|
||||
tag('v(?<version>.*)') {
|
||||
version = '${ref.version}'
|
||||
}
|
||||
}
|
||||
// optional fallback configuration in case of no matching ref configuration
|
||||
rev {
|
||||
version = '${commit}'
|
||||
}
|
||||
}
|
||||
|
||||
task writeVersionFile() {
|
||||
doLast {
|
||||
new File(buildDir, 'env-setup.sh').text = """
|
||||
#!/bin/sh
|
||||
|
||||
# Default env vars
|
||||
export CAPTICA_APPLICATION_VERSION=${version}
|
||||
export CAPTICA_APPLICATION_NAME=${project.name}
|
||||
export CAPTICA_APPLICATION_FILE_BINARY=${bootJar.archiveFileName.get()}
|
||||
export CAPTICA_APPLICATION_PORT=${applicationPort}
|
||||
export CAPTICA_APPLICATION_JAVA_VERSION=${java.sourceCompatibility}
|
||||
|
||||
# Gitea/Github specific env variables
|
||||
echo "CAPTICA_APPLICATION_VERSION=\$CAPTICA_APPLICATION_VERSION" >> \$GITHUB_ENV
|
||||
echo "CAPTICA_APPLICATION_FILE_BINARY=\$CAPTICA_APPLICATION_FILE_BINARY" >> \$GITHUB_ENV
|
||||
echo "CAPTICA_APPLICATION_NAME=\$CAPTICA_APPLICATION_NAME" >> \$GITHUB_ENV
|
||||
echo "CAPTICA_APPLICATION_PORT=\$CAPTICA_APPLICATION_PORT" >> \$GITHUB_ENV
|
||||
echo "CAPTICA_APPLICATION_JAVA_VERSION=\$CAPTICA_APPLICATION_JAVA_VERSION" >> \$GITHUB_ENV
|
||||
"""
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named('bootJar').configure {
|
||||
dependsOn writeVersionFile
|
||||
}
|
||||
Reference in New Issue
Block a user