Skip to content
Snippets Groups Projects
pom.xml 10.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jörg Bolay's avatar
    Jörg Bolay committed
    <?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 http://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>
    		<version>4.3.0</version>
    
    	</parent>
    	<groupId>de.ozgcloud.xta</groupId>
    	<artifactId>xta-client-lib</artifactId>
    
    	<version>0.3.0-SNAPSHOT</version>
    
    		<cxf.version>4.0.5</cxf.version>
    
    		<cxf-xjc.version>4.0.0</cxf-xjc.version>
    
    		<jsr305.version>3.0.2</jsr305.version>
    
    
    		<!-- Build settings -->
    		<timestamp>${maven.build.timestamp}</timestamp>
    		<maven.build.timestamp.format>yyyy-MM-dd'T'HHmmss</maven.build.timestamp.format>
    
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    	</properties>
    
    	<dependencies>
    
    		<!-- CXF-->
    		<dependency>
    			<groupId>org.apache.cxf</groupId>
    			<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
    			<version>${cxf.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf.xjcplugins</groupId>
    			<artifactId>cxf-xjc-ts</artifactId>
    			<version>${cxf-xjc.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf.xjcplugins</groupId>
    			<artifactId>cxf-xjc-dv</artifactId>
    			<version>${cxf-xjc.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf.xjcplugins</groupId>
    			<artifactId>cxf-xjc-boolean</artifactId>
    			<version>${cxf-xjc.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf.xjc-utils</groupId>
    			<artifactId>cxf-xjc-runtime</artifactId>
    			<version>${cxf-xjc.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf</groupId>
    			<artifactId>cxf-rt-features-logging</artifactId>
    			<version>${cxf.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf</groupId>
    			<artifactId>cxf-rt-ws-security</artifactId>
    			<version>${cxf.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.httpcomponents.client5</groupId>
    			<artifactId>httpclient5</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf.services.xkms</groupId>
    			<artifactId>cxf-services-xkms-common</artifactId>
    			<version>${cxf.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.cxf.services.sts</groupId>
    			<artifactId>cxf-services-sts-core</artifactId>
    			<version>${cxf.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.google.code.findbugs</groupId>
    			<artifactId>jsr305</artifactId>
    			<version>${jsr305.version}</version>
    		</dependency>
    
    
    		<dependency>
    			<groupId>org.mapstruct</groupId>
    			<artifactId>mapstruct</artifactId>
    		</dependency>
    
    
    		<dependency>
    			<groupId>org.projectlombok</groupId>
    			<artifactId>lombok</artifactId>
    			<scope>provided</scope>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.logging.log4j</groupId>
    			<artifactId>log4j-core</artifactId>
    		</dependency>
    
    
    			<groupId>org.apache.commons</groupId>
    			<artifactId>commons-collections4</artifactId>
    
    			<groupId>org.assertj</groupId>
    			<artifactId>assertj-core</artifactId>
    
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    
    			<groupId>org.bouncycastle</groupId>
    			<artifactId>bcprov-jdk18on</artifactId>
    			<scope>test</scope>
    
    			<groupId>org.bouncycastle</groupId>
    			<artifactId>bcpkix-jdk18on</artifactId>
    
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.junit.jupiter</groupId>
    			<artifactId>junit-jupiter-engine</artifactId>
    			<scope>test</scope>
    		</dependency>
    
    			<groupId>org.mockito</groupId>
    			<artifactId>mockito-core</artifactId>
    
    		<dependency>
    			<groupId>org.mockito</groupId>
    			<artifactId>mockito-junit-jupiter</artifactId>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.yaml</groupId>
    			<artifactId>snakeyaml</artifactId>
    			<scope>test</scope>
    		</dependency>
    
    	</dependencies>
    
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-compiler-plugin</artifactId>
    
    				<executions>
    					<execution>
    						<id>log4j2-plugin-processor</id>
    						<goals>
    							<goal>compile</goal>
    						</goals>
    						<phase>process-classes</phase>
    						<configuration>
    							<proc>only</proc>
    							<annotationProcessorPaths>
    								<path>
    									<groupId>org.apache.logging.log4j</groupId>
    									<artifactId>log4j-core</artifactId>
    									<version>${log4j2.version}</version>
    								</path>
    							</annotationProcessorPaths>
    							<annotationProcessors>
    								<processor>org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor</processor>
    							</annotationProcessors>
    						</configuration>
    					</execution>
    				</executions>
    
    			</plugin>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-failsafe-plugin</artifactId>
    
    				<executions>
    					<execution>
    						<goals>
    							<goal>integration-test</goal>
    							<goal>verify</goal>
    						</goals>
    					</execution>
    				</executions>
    
    			</plugin>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-surefire-plugin</artifactId>
    			</plugin>
    			<plugin>
    				<groupId>org.jacoco</groupId>
    				<artifactId>jacoco-maven-plugin</artifactId>
    			</plugin>
    			<plugin>
    
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>build-helper-maven-plugin</artifactId>
    
    				<executions>
    					<execution>
    						<id>add-source</id>
    						<phase>generate-sources</phase>
    						<goals>
    							<goal>add-source</goal>
    						</goals>
    						<configuration>
    							<sources>
    								<source>${project.build.directory}/cxf</source>
    							</sources>
    						</configuration>
    					</execution>
    				</executions>
    			</plugin>
    
    			<plugin>
    				<groupId>org.apache.cxf</groupId>
    				<artifactId>cxf-codegen-plugin</artifactId>
    				<version>${cxf.version}</version>
    				<configuration>
    					<defaultOptions>
    						<noAddressBinding>true</noAddressBinding>
    					</defaultOptions>
    					<sourceRoot>${project.build.directory}/cxf</sourceRoot>
    					<wsdlOptions>
    						<wsdlOption>
    							<wsdl>
    								${project.basedir}/src/main/resources/wsdl/XTA.wsdl
    							</wsdl>
    							<wsdlLocation>classpath:wsdl/XTA.wsdl</wsdlLocation>
    							<markGenerated>true</markGenerated>
    							<extraargs>
    								<!--- Map XTA namespaces to their respective package in java -->
    								<extraarg>-p</extraarg>
    								<extraarg>
    
    									http://www.w3.org/2004/06/xmlmime=de.ozgcloud.xta.client.gen.v3.org.w3.x2004.x06.xmlmime
    
    								</extraarg>
    								<extraarg>-p</extraarg>
    								<extraarg>
    
    									http://xoev.de/transport/xta/211=de.ozgcloud.xta.client.gen.v3.de.xoev.transport.xta.x211
    
    								</extraarg>
    								<extraarg>-p</extraarg>
    								<extraarg>
    
    									http://xoev.de/schemata/basisdatentypen/1_1=de.ozgcloud.xta.client.gen.v3.de.xoev.schemata.basisdatentypen.x11
    
    								</extraarg>
    								<extraarg>-p</extraarg>
    								<extraarg>
    
    									http://www.osci.eu/ws/2008/05/transport=de.ozgcloud.xta.client.gen.v3.eu.osci.ws.x2008.x05.transport
    
    								</extraarg>
    								<extraarg>-p</extraarg>
    								<extraarg>
    
    									http://www.osci.eu/ws/2014/10/transport=de.ozgcloud.xta.client.gen.v3.eu.osci.ws.x2014.x10.transport
    
    								</extraarg>
    								<extraarg>-p</extraarg>
    								<extraarg>
    
    									http://www.w3.org/2003/05/soap-envelope=de.ozgcloud.xta.client.gen.v3.org.w3.x2003.x05.soapEnvelope
    
    								</extraarg>
    
    								<!-- exclude not needed schemas to generate -->
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://schemas.xmlsoap.org/soap/encoding/
    								</extraarg>
    
    								<!-- Use cxf provided schemas where available
    								and exclude from generation -->
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://www.w3.org/2000/09/xmldsig#=org.apache.cxf.xkms.model.xmldsig
    								</extraarg>
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://www.w3.org/2001/04/xmlenc#=org.apache.cxf.xkms.model.xmlenc
    								</extraarg>
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://www.w3.org/2005/08/addressing=org.apache.cxf.ws.addressing
    								</extraarg>
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd
    								</extraarg>
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd=org.apache.cxf.ws.security.sts.provider.model.utility
    								</extraarg>
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd=org.apache.cxf.ws.security.sts.provider.model.secext
    								</extraarg>
    								<extraarg>-nexclude</extraarg>
    								<extraarg>
    									http://www.w3.org/ns/ws-policy=org.apache.cxf.ws.policy.v200607
    								</extraarg>
    								<!--- Do verbose output -->
    								<extraarg>-verbose</extraarg>
    
    								<!-- Generate client side code -->
    								<extraarg>-client</extraarg>
    
    								<!--- Enable header processing even if not defined in port section of wsdl -->
    
    								<extraarg>-exsh</extraarg>
    								<extraarg>true</extraarg>
    								<!--- Generate a default to String method in each class -->
    								<extraarg>-xjc-Xts</extraarg>
    								<!--- Enable default values on classes if they exist -->
    								<extraarg>-xjc-Xdv:optional</extraarg>
    							</extraargs>
    						</wsdlOption>
    					</wsdlOptions>
    
    				<executions>
    					<execution>
    						<goals>
    							<goal>wsdl2java</goal>
    						</goals>
    						<phase>generate-sources</phase>
    					</execution>
    				</executions>
    
    			</plugin>
    		</plugins>
    	</build>
    
    	<profiles>
    		<!-- Deployment Profiles -->
    		<profile>
    
    			<id>gitlab-deploy</id>
    
    			<activation>
    				<activeByDefault>false</activeByDefault>
    			</activation>
    			<distributionManagement>
    				<repository>
    
    					<id>codesh-gitlab-maven</id>
    					<url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url>
    
    					<id>codesh-gitlab-maven</id>
    					<url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url>
    
    				</snapshotRepository>
    			</distributionManagement>
    		</profile>
    		<profile>
    			<id>nexus-deploy</id>
    			<activation>
    				<activeByDefault>false</activeByDefault>
    			</activation>
    			<distributionManagement>
    				<repository>
    					<id>ozg-nexus</id>
    					<name>ozg-releases</name>
    					<url>https://nexus.ozg-sh.de/repository/ozg-releases/</url>
    				</repository>
    				<snapshotRepository>
    					<id>ozg-snapshots-nexus</id>
    					<name>ozg-snapshots</name>
    					<url>https://nexus.ozg-sh.de/repository/ozg-snapshots/</url>
    				</snapshotRepository>
    			</distributionManagement>
    		</profile>
    	</profiles>