diff --git a/Jenkinsfile b/Jenkinsfile index 38190aad4b2000b439a34a9fcdfb373734aa3222..d66a3db106a9013a3e4ade5ae85ed682ab07cdda 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,6 +40,26 @@ pipeline { } } } + stage('Set Version') { + when { + not { + anyOf { + branch 'master' + branch 'release' + } + } + } + steps { + script { + FAILED_STAGE=env.STAGE_NAME + JAR_TAG = getPomVersion().replace("SNAPSHOT", "${env.BRANCH_NAME}-SNAPSHOT") + } + configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { + sh "mvn -s $MAVEN_SETTINGS versions:set -DnewVersion=${JAR_TAG} -DprocessAllModules=true" + + } + } + } stage('Build Administration') { steps { @@ -54,18 +74,13 @@ pipeline { } stage('Deploy to Nexus'){ - when { - anyOf { - branch 'master' - branch 'release' - } - } steps { script { FAILED_STAGE = env.STAGE_NAME } configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { sh 'mvn -s $MAVEN_SETTINGS -DskipTests deploy -Dmaven.wagon.http.retryHandler.count=3' + sh "mvn -s $MAVEN_SETTINGS versions:revert" } } } diff --git a/pom.xml b/pom.xml index f67e8eb4f65816f11bc4d182e8ab724f6d67c661..4f9cac8ea40a20602e04d02de0944bb894b54031 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ </parent> <groupId>de.ozgcloud</groupId> <artifactId>administration</artifactId> - <version>0.5.0</version> + <version>0.6.0-SNAPSHOT</version> <name>Administration</name> <description>Administration Backend Project</description> @@ -24,7 +24,7 @@ <testcontainers-keycloak.version>3.2.0</testcontainers-keycloak.version> <keycloak-admin-client.version>23.0.6</keycloak-admin-client.version> <mongock.version>5.4.0</mongock.version> - <lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version> + <lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version> <mapstruct-processor.version>1.5.5.Final</mapstruct-processor.version> </properties> @@ -69,9 +69,9 @@ <artifactId>spring-boot-starter-oauth2-resource-server</artifactId> </dependency> <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-configuration-processor</artifactId> - <optional>true</optional> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + <optional>true</optional> </dependency> <!-- tools --> <dependency> @@ -205,22 +205,22 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> - <image> - <name>${imageName}:${imageTag}</name> - <publish>${publishImage}</publish> - </image> - <docker> - <publishRegistry> - <username>${docker.publishRegistry.username}</username> - <password>${docker.publishRegistry.password}</password> - </publishRegistry> - </docker> - <excludes> - <exclude> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - </exclude> - </excludes> + <image> + <name>${imageName}:${imageTag}</name> + <publish>${publishImage}</publish> + </image> + <docker> + <publishRegistry> + <username>${docker.publishRegistry.username}</username> + <password>${docker.publishRegistry.password}</password> + </publishRegistry> + </docker> + <excludes> + <exclude> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + </exclude> + </excludes> </configuration> <executions> <execution> @@ -239,27 +239,27 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <annotationProcessorPaths> - <path> - <groupId>org.mapstruct</groupId> - <artifactId>mapstruct-processor</artifactId> - <version>${mapstruct-processor.version}</version> - </path> - <path> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - <version>${lombok.version}</version> - </path> - <path> - <groupId>org.projectlombok</groupId> - <artifactId>lombok-mapstruct-binding</artifactId> - <version>${lombok-mapstruct-binding.version}</version> - </path> - </annotationProcessorPaths> - </configuration> + <configuration> + <annotationProcessorPaths> + <path> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct-processor</artifactId> + <version>${mapstruct-processor.version}</version> + </path> + <path> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>${lombok.version}</version> + </path> + <path> + <groupId>org.projectlombok</groupId> + <artifactId>lombok-mapstruct-binding</artifactId> + <version>${lombok-mapstruct-binding.version}</version> + </path> + </annotationProcessorPaths> + </configuration> </plugin> </plugins> </build> -</project> +</project> \ No newline at end of file diff --git a/src/main/java/de/ozgcloud/admin/setting/Setting.java b/src/main/java/de/ozgcloud/admin/setting/Setting.java index 6bf42c624ded3481ee4d976352d8cece48fd6fee..7613af8dc342370ed48bbe86a98247c79c2e2902 100644 --- a/src/main/java/de/ozgcloud/admin/setting/Setting.java +++ b/src/main/java/de/ozgcloud/admin/setting/Setting.java @@ -24,6 +24,7 @@ package de.ozgcloud.admin.setting; import jakarta.validation.Valid; import org.springframework.data.annotation.Id; +import org.springframework.data.annotation.TypeAlias; import org.springframework.data.mongodb.core.mapping.Document; import com.fasterxml.jackson.annotation.JsonTypeInfo; @@ -37,6 +38,7 @@ import lombok.extern.jackson.Jacksonized; @Getter @Jacksonized @Document(Setting.COLLECTION_NAME) +@TypeAlias("Setting") public class Setting { static final String COLLECTION_NAME = "settings"; diff --git a/src/main/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBody.java b/src/main/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBody.java index 85f55727e2d62161d31ad2a1418c9fd6bf1ce836..43a536c9a5dd81d4bdb8700e3766c804e4cb4463 100644 --- a/src/main/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBody.java +++ b/src/main/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBody.java @@ -2,6 +2,9 @@ package de.ozgcloud.admin.setting.postfach; import jakarta.validation.Valid; +import org.springframework.data.annotation.TypeAlias; +import org.springframework.data.mongodb.core.mapping.Document; + import de.ozgcloud.admin.setting.SettingBody; import lombok.Builder; import lombok.Getter; @@ -10,6 +13,8 @@ import lombok.extern.jackson.Jacksonized; @Getter @Jacksonized @Builder +@Document +@TypeAlias("PostfachSettingBody") public class PostfachSettingBody implements SettingBody { @Valid private Absender absender;