From 852ef73cc49321605c7fbd7f31a7dc2bf416da4a Mon Sep 17 00:00:00 2001 From: Fiete Ostkamp Date: Tue, 7 May 2024 11:59:06 +0200 Subject: Initial preferences release - add version.properties file - use version defined there in the buildinfo - resolve logback + slf4j conflict Issue-ID: PORTALNG-91 Change-Id: Ie30edcbe664a6890243660b9ce5ff95bad1df7d1 Signed-off-by: Fiete Ostkamp --- app/build.gradle | 58 ++++++++++++++++++++++++++++++++-------------------- openapi/build.gradle | 6 +++--- version | 1 - version.properties | 13 ++++++++++++ 4 files changed, 52 insertions(+), 26 deletions(-) delete mode 100644 version create mode 100644 version.properties diff --git a/app/build.gradle b/app/build.gradle index d8aff4d..6b88c6a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,38 +8,47 @@ plugins { id 'com.gorylenko.gradle-git-properties' } +def appVersion = getAppVersion() group = 'org.onap' -version = '0.1.1' +version = appVersion sourceCompatibility = '17' targetCompatibility = '17' +springBoot { + buildInfo { + properties { + artifact = "onap-portal-ng-preferences" + version = appVersion + group = "org.onap.portalng" + name = "Portal-ng user preferences service" + } + } +} + application { - mainClass = 'org.onap.portalng.preferences.PreferencesApplication' + mainClass = 'org.onap.portalng.preferences.PreferencesApplication' } configurations { compileOnly { extendsFrom annotationProcessor } - - // avoid "LoggerFactory is not a Logback LoggerContext but Logback is on the classpath" error - all*.exclude module : 'logback-classic' } repositories { mavenCentral() maven { - url "https://plugins.gradle.org/m2/" + url "https://plugins.gradle.org/m2/" } } ext { - problemVersion = '0.27.1' - logstashLogbackVersion = '7.2' - embedMongoVersion = '4.7.0' - embedMongoIntegrationVersion = '4.7.0' - springCloudWiremockVersion = '4.0.3' - micrometerVersion = '1.0.0' + problemVersion = '0.27.1' + logstashLogbackVersion = '7.2' + embedMongoVersion = '4.7.0' + embedMongoIntegrationVersion = '4.7.0' + springCloudWiremockVersion = '4.0.3' + micrometerVersion = '1.0.0' } dependencies { @@ -90,16 +99,21 @@ configurations.implementation.setCanBeResolved(true) // avoid generating X.X.X-plain.jar jar { - enabled = false + enabled = false } -springBoot { - buildInfo { - properties { - artifact = "onap-portal-ng-preferences" - version = rootProject.file('version').text.trim() - group = "org.onap.portalng" - name = "Portal-ng user preferences service" - } - } +def String getAppVersion() { + Properties versionProperties = getVersionProperties() + String major = versionProperties.getProperty('major') + String minor = versionProperties.getProperty('minor') + String patch = versionProperties.getProperty('patch') + return major + '.' + minor + '.' + patch } + +def Properties getVersionProperties() { + def versionProperties = new Properties() + rootProject.file('version.properties').withInputStream { + versionProperties.load(it) + } + return versionProperties +} \ No newline at end of file diff --git a/openapi/build.gradle b/openapi/build.gradle index fc5e1dc..61358ee 100644 --- a/openapi/build.gradle +++ b/openapi/build.gradle @@ -9,9 +9,9 @@ repositories { } dependencies { - implementation 'org.openapitools:openapi-generator:7.0.0-beta' - implementation 'org.springframework.boot:spring-boot-starter-webflux:3.1.2' - implementation 'jakarta.validation:jakarta.validation-api:3.0.2' + compileOnly 'org.openapitools:openapi-generator:7.0.0-beta' + compileOnly 'org.springframework.boot:spring-boot-starter-webflux:3.1.2' + compileOnly 'jakarta.validation:jakarta.validation-api:3.0.2' constraints { implementation('io.swagger.core.v3:swagger-annotations:2.2.5') { diff --git a/version b/version deleted file mode 100644 index 17e51c3..0000000 --- a/version +++ /dev/null @@ -1 +0,0 @@ -0.1.1 diff --git a/version.properties b/version.properties new file mode 100644 index 0000000..47d1d40 --- /dev/null +++ b/version.properties @@ -0,0 +1,13 @@ +# Versioning variables +# Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... ) +# because they are used in Jenkins, whose plug-in doesn't support + +major=0 +minor=1 +patch=0 + +base_version=${major}.${minor}.${patch} + +# Release must be completed with git revision # in Jenkins +release_version=${base_version} +snapshot_version=${base_version}-SNAPSHOT \ No newline at end of file -- cgit 1.2.3-korg