diff --git a/gradle/build-version.gradle b/gradle/build-version.gradle new file mode 100644 index 0000000..e14be95 --- /dev/null +++ b/gradle/build-version.gradle @@ -0,0 +1,58 @@ +/* + * Enables version handling on build process + * + * Project: gradle + * Author: Marc Böhm + * License: MIT License (see LICENSE.md) + * + * Copyright (c) captica GmbH est. 2021 + */ + + +// Setup versions handling +gitVersioning.apply { + refs { + branch('(feature|bugfix)/(?.+)') { + version = '${ref.feature}-SNAPSHOT' + } + branch('release/v(?.*)') { + version = '${ref.version}-RC' + } + branch('.+') { + version = '${ref}-SNAPSHOT' + } + tag('v(?.*)') { + 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 +} \ No newline at end of file