<?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>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>
	<groupId>de.codecentric</groupId>
	<artifactId>cxf-spring-boot-starter</artifactId>
	<version>2.1.6.RELEASE</version>
	<name>cxf-spring-boot-starter</name>
	<description>Boot starter for SOAP-Webservices with Apache CXF using JAX-WS &amp; JAXB with Annotations only</description>
	<packaging>jar</packaging>
	<url>https://github.com/codecentric/cxf-spring-boot-starter</url>
	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://opensource.org/licenses/Apache-2.0</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<developers>
		<developer>
			<name>Jonas Hecht</name>
			<email>jonas.hecht@codecentric.de</email>
			<organization>codecentric AG</organization>
			<organizationUrl>http://www.codecentric.de</organizationUrl>
		</developer>
	</developers>
	<scm>
		<connection>scm:git:git://github.com/codecentric/cxf-spring-boot-starter.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/codecentric/cxf-spring-boot-starter.git</developerConnection>
		<url>git@github.com:/codecentric/cxf-spring-boot-starter.git</url>
	</scm>
	<distributionManagement>
	   <repository>
	     <id>oss.sonatype.org</id>
	     <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
	   </repository>
	   <snapshotRepository>
	     <id>oss.sonatype.org</id>
	     <url>https://oss.sonatype.org/content/repositories/snapshots</url>
	   </snapshotRepository>
	</distributionManagement>
	<properties>
		<java.version>1.8</java.version>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.source>1.8</maven.compiler.source>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<!-- Project dependencies -->
		<spring.boot.version>2.1.6.RELEASE</spring.boot.version>
		<cxf-spring-boot-starter-maven-plugin.version>2.1.7.RELEASE</cxf-spring-boot-starter-maven-plugin.version>
		<cxf.version>3.3.2</cxf.version>
		<fluent-hc.version>4.5.9</fluent-hc.version>
		<camunda.version>7.11.0</camunda.version>
		<logstash-logback-encoder.version>6.1</logstash-logback-encoder.version>
		<commons-io.version>2.6</commons-io.version>
		<spring.cloud.sleuth.version>2.1.1.RELEASE</spring.cloud.sleuth.version>
		<system-rules.version>1.19.0</system-rules.version>

		<!-- Analysis Tools for CI -->
		<build-plugin.jacoco.version>0.8.4</build-plugin.jacoco.version>
		<build-plugin.coveralls.version>4.3.0</build-plugin.coveralls.version>

		<!-- Maven Central Release tools -->
		<versions-maven-plugin.version>2.7</versions-maven-plugin.version>
		<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
		<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
		<maven-javadoc-plugin.version>3.0.1</maven-javadoc-plugin.version>
		<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>

		<!-- Exclude generated JAXB-Java-Classes from Sonar-Analysis -->
		<sonar.exclusions>**/target/generated-sources/wsdlimport/**</sonar.exclusions>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${spring.boot.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-sleuth</artifactId>
				<version>${spring.cloud.sleuth.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

        </dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<!-- Distributed tracing - http://cloud.spring.io/spring-cloud-sleuth/ -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-sleuth</artifactId>
		</dependency>
		<!-- Apache CXF -->
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxws</artifactId>
			<version>${cxf.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-transports-http</artifactId>
			<version>${cxf.version}</version>
		</dependency>
		<!-- camunda DMN Engine -->
		<dependency>
			<groupId>org.camunda.bpm.dmn</groupId>
			<artifactId>camunda-engine-dmn-bom</artifactId>
			<version>${camunda.version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
		<dependency>
			<groupId>org.camunda.bpm.dmn</groupId>
			<artifactId>camunda-engine-dmn</artifactId>
			<version>${camunda.version}</version>
		</dependency>
		<!-- Logging with ELK -->
		<dependency>
			<groupId>net.logstash.logback</groupId>
			<artifactId>logstash-logback-encoder</artifactId>
			<version>${logstash-logback-encoder.version}</version>
		</dependency>
		<!-- Fileconverting for PDF-reading -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>${commons-io.version}</version>
		</dependency>
		<!-- SoapRawClient -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>fluent-hc</artifactId>
			<version>${fluent-hc.version}</version>
		</dependency>

        <!-- Autodetection of Endpoints -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>cxf-spring-boot-starter-maven-plugin</artifactId>
			<version>${cxf-spring-boot-starter-maven-plugin.version}</version>
			<scope>runtime</scope>
		</dependency>

        <!-- Test -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.github.stefanbirkner</groupId>
			<artifactId>system-rules</artifactId>
			<version>${system-rules.version}</version>
			<scope>test</scope>
		</dependency>

	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<!-- Used for testing purposes. -->
			<plugin>
				<groupId>de.codecentric</groupId>
				<artifactId>cxf-spring-boot-starter-maven-plugin</artifactId>
				<version>${cxf-spring-boot-starter-maven-plugin.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${build-plugin.jacoco.version}</version>
				<executions>
					<!-- Prepares the property pointing to the JaCoCo
                    runtime agent which is passed as VM argument when Maven the Surefire plugin
                    is executed. -->
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<!-- Ensures that the code coverage report for
                    unit tests is created after unit tests have been run. -->
					<execution>
						<id>post-unit-test</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.eluder.coveralls</groupId>
				<artifactId>coveralls-maven-plugin</artifactId>
				<version>${build-plugin.coveralls.version}</version>
			</plugin>
		</plugins>
	</build>
	
	<profiles>
		<!-- plugins needed to deploy to Maven Central -->
		<profile>
			<id>central-deploy</id>
			<build>
				<plugins>
					<plugin>
				        <artifactId>maven-gpg-plugin</artifactId>
				        <version>${maven-gpg-plugin.version}</version>
				        <executions>
				          <execution>
				            <id>sign-artifacts</id>
				            <phase>verify</phase>
				            <goals>
				              <goal>sign</goal>
				            </goals>
							<configuration>
							  <gpgArguments>
								  <arg>--pinentry-mode</arg>
								  <arg>loopback</arg>
							  </gpgArguments>
							</configuration>
				          </execution>
				        </executions>
				    </plugin>
				    <plugin>
				        <groupId>org.codehaus.mojo</groupId>
				        <artifactId>versions-maven-plugin</artifactId>
				        <version>${versions-maven-plugin.version}</version>
				        <configuration>
				          <generateBackupPoms>false</generateBackupPoms>
				        </configuration>
				    </plugin>
				    <plugin>
				        <artifactId>maven-deploy-plugin</artifactId>
				        <configuration>
				          <skip>true</skip>
				        </configuration>
				    </plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>${maven-source-plugin.version}</version>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven-javadoc-plugin.version}</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
				        <groupId>org.sonatype.plugins</groupId>
				        <artifactId>nexus-staging-maven-plugin</artifactId>
				        <version>${nexus-staging-maven-plugin.version}</version>
				        <extensions>true</extensions>
				        <configuration>
				          <serverId>oss.sonatype.org</serverId>
				          <nexusUrl>https://oss.sonatype.org/</nexusUrl>
				          <description>${project.version}</description>
				        </configuration>
				        <executions>
				          <execution>
				            <id>deploy-to-sonatype</id>
				            <phase>deploy</phase>
				            <goals>
				              <goal>deploy</goal>
				              <goal>release</goal>
				            </goals>
				          </execution>
				        </executions>
				    </plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>