Skip to content
Snippets Groups Projects
pom.xml 6.49 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<parent>
    		<groupId>de.ozgcloud.common</groupId>
    		<artifactId>ozgcloud-common-parent</artifactId>
    
    		<relativePath />
    	</parent>
    	<groupId>de.ozgcloud</groupId>
    	<artifactId>administration</artifactId>
    
    Jan Zickermann's avatar
    Jan Zickermann committed
    	<version>0.2.0</version>
    
    	<name>Administration</name>
    
    	<description>Administration Backend Project</description>
    
    		<imageName>docker.ozg-sh.de/administration</imageName>
    
    		<imageTag>build-latest</imageTag>
    
    		<publishImage>false</publishImage>
    
    		<build.number>SET_BY_JENKINS</build.number>	
    
    		<spring-cloud-config-server.version>4.1.0</spring-cloud-config-server.version>
    
    		<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>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-actuator</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-data-mongodb</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-data-rest</artifactId>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-hateoas</artifactId>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-config-server</artifactId>
    
    			<version>${spring-cloud-config-server.version}</version>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-security</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-validation</artifactId>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
    		</dependency>
    
    		<dependency>
    		    <groupId>org.springframework.boot</groupId>
    		    <artifactId>spring-boot-configuration-processor</artifactId>
    		    <optional>true</optional>
    		</dependency>
    
    		<!-- mongock -->
    		<dependency>
    			<groupId>io.mongock</groupId>
    			<artifactId>mongock-springboot-v3</artifactId>
    			<version>${mongock.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>io.mongock</groupId>
    			<artifactId>mongodb-springdata-v4-driver</artifactId>
    			<version>${mongock.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-devtools</artifactId>
    			<scope>runtime</scope>
    			<optional>true</optional>
    		</dependency>
    		<dependency>
    			<groupId>org.projectlombok</groupId>
    			<artifactId>lombok</artifactId>
    			<optional>true</optional>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-test</artifactId>
    			<scope>test</scope>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-testcontainers</artifactId>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.testcontainers</groupId>
    			<artifactId>mongodb</artifactId>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.testcontainers</groupId>
    			<artifactId>junit-jupiter</artifactId>
    			<scope>test</scope>
    		</dependency>
    
    			<groupId>org.springframework.security</groupId>
    			<artifactId>spring-security-test</artifactId>
    			<scope>test</scope>
    
    		<dependency>
    			<groupId>org.testcontainers</groupId>
    			<artifactId>testcontainers</artifactId>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>com.github.dasniko</groupId>
    			<artifactId>testcontainers-keycloak</artifactId>
    			<version>${testcontainers-keycloak.version}</version>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.keycloak</groupId>
    			<artifactId>keycloak-admin-client</artifactId>
    			<version>${keycloak-admin-client.version}</version>
    			<scope>test</scope>
    		</dependency>
    
    	<profiles>
    		<profile>
    			<id>dev</id>
    			<build>
    				<plugins>
    					<plugin>
    						<groupId>org.springframework.boot</groupId>
    						<artifactId>spring-boot-maven-plugin</artifactId>
    						<configuration>
    
    							<image>
    								<tags>${imageName}:snapshot-latest</tags>
    							</image>
    
    						</configuration>
    					</plugin>
    				</plugins>
    
    		</profile>
    		<profile>
    			<id>release</id>
    			<build>
    				<plugins>
    					<plugin>
    						<groupId>org.springframework.boot</groupId>
    						<artifactId>spring-boot-maven-plugin</artifactId>
    						<configuration>
    
    							<image>
    								<tags>${imageName}:latest</tags>
    							</image>
    
    						</configuration>
    					</plugin>
    				</plugins>
    
    			<plugin>
    				<groupId>org.sonarsource.scanner.maven</groupId>
    				<artifactId>sonar-maven-plugin</artifactId>
    			</plugin>
    
    			<plugin>
    				<groupId>org.jacoco</groupId>
    				<artifactId>jacoco-maven-plugin</artifactId>
    			</plugin>
    
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-failsafe-plugin</artifactId>
    			</plugin>
    
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    				<configuration>
    
    					<name>${imageName}:${imageTag}</name>
    
    					<publish>${publishImage}</publish>
    
    				</image>
    				<docker>
    					<publishRegistry>
    
    						<username>${docker.publishRegistry.username}</username>
    						<password>${docker.publishRegistry.password}</password>
    
    					</publishRegistry>
    
    				<excludes>
    					<exclude>
    						<groupId>org.projectlombok</groupId>
    						<artifactId>lombok</artifactId>
    					</exclude>
    				</excludes>
    
    				<executions>
    					<execution>
    						<id>build-info</id>
    						<goals>
    							<goal>build-info</goal>
    						</goals>
    						<configuration>
    							<additionalProperties>
    								<number>${build.number}</number>
    							</additionalProperties>
    						</configuration>
    					</execution>
    				</executions>