<!--

    ﻿Copyright (C) 2020 52°North Initiative for Geospatial Open Source
    Software GmbH

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<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.n52</groupId>
            <artifactId>parent</artifactId>
            <version>19</version>
        </parent>
	<groupId>org.n52.geoprocessing</groupId>
	<artifactId>wps-client-lib</artifactId>
	<version>1.1.0</version>
	<name>52 North WPS Client library</name>
	<inceptionYear>2017</inceptionYear>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<slf4j.version>1.7.30</slf4j.version>
		<arctic-sea.version>7.3.1</arctic-sea.version>
		<common-xml.version>2.3.0</common-xml.version>
		<logback.version>1.0.13</logback.version>
		<javaps.version>1.5.0</javaps.version>
		<org.springframework.version>4.1.6.RELEASE</org.springframework.version>
		<org.spring-security.version>4.0.1.RELEASE</org.spring-security.version>
		<maven.build.timestamp.format>yyyy</maven.build.timestamp.format>
		<currentYear>2020</currentYear>
	</properties>
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
			<comments>A business-friendly OSS license</comments>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>bpross-52n</id>
			<name>Benjamin Pross</name>
			<email>b.pross@52north.org</email>
			<organization>${project.organization.name}</organization>
			<organizationUrl>${project.organization.url}</organizationUrl>
			<timezone>GMT+1</timezone>
		</developer>
	</developers>

	<scm>
		<url>https://github.com/52North/wps-client-lib</url>
		<connection>scm:git:git://github.com/52North/wps-client-lib.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/52North/wps-client-lib.git</developerConnection>
		<tag>v1.1.0</tag>
	</scm>

	<issueManagement>
		<system>GitHub issues</system>
		<url>https://github.com/52North/wps-client-lib/issues?state=open</url>
	</issueManagement>

	<dependencies>
		<!-- logging -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${logback.version}</version>
			<scope>runtime</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.2</version>
			<!-- provided due to use of slf4j bridge -->
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.xmlbeans</groupId>
			<artifactId>xmlbeans</artifactId>
			<version>3.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-configuration2</artifactId>
			<version>2.7</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.10.3</version>
			<exclusions>
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-annotations</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.6</version>
			<exclusions>
				<exclusion>
					<groupId>commons-codec</groupId>
					<artifactId>commons-codec</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpcore</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>4.4.10</version>
		</dependency>
		<dependency>
			<groupId>org.n52.wps</groupId>
			<artifactId>iceland-stream</artifactId>
			<version>${javaps.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring-web</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring-beans</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpcore</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.quartz-scheduler</groupId>
					<artifactId>quartz</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.n52.wps</groupId>
			<artifactId>xml</artifactId>
			<version>${javaps.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring-webmvc</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring-web</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring-beans</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring-context</artifactId>
				</exclusion>
				<exclusion>
					<groupId>commons-codec</groupId>
					<artifactId>commons-codec</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-databind</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.commons</groupId>
					<artifactId>commons-configuration2</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>
		<!-- arctic sea -->
		<dependency>
			<groupId>org.n52.arctic-sea</groupId>
			<artifactId>shetland</artifactId>
			<version>${arctic-sea.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpcore</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.n52.arctic-sea</groupId>
			<artifactId>svalbard</artifactId>
			<version>${arctic-sea.version}</version>
		</dependency>
		<dependency>
			<groupId>org.n52.arctic-sea</groupId>
			<artifactId>janmayen</artifactId>
			<version>${arctic-sea.version}</version>
			<exclusions>
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-databind</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
			<version>1.4.01</version>
		</dependency>
		<dependency>
			<groupId>stax</groupId>
			<artifactId>stax-api</artifactId>
			<version>1.0.1</version>
			<scope>runtime</scope>
		</dependency>
		<!-- test dependencies -->
		<dependency>
			<groupId>org.n52.sensorweb</groupId>
			<artifactId>52n-xml-ows-v20</artifactId>
			<version>${common-xml.version}</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.xmlbeans</groupId>
					<artifactId>xmlbeans</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.n52.wps</groupId>
			<artifactId>52n-xml-wps-v20</artifactId>
			<version>${common-xml.version}</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.xmlbeans</groupId>
					<artifactId>xmlbeans</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.n52.sensorweb</groupId>
			<artifactId>52n-xml-ows-v110</artifactId>
			<version>${common-xml.version}</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.xmlbeans</groupId>
					<artifactId>xmlbeans</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.n52.sensorweb</groupId>
			<artifactId>52n-xml-wps-v100</artifactId>
			<version>${common-xml.version}</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.xmlbeans</groupId>
					<artifactId>xmlbeans</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
         </dependency>
	</dependencies>
	
	<repositories>		
	    <repository>
			<id>n52-releases</id>
			<name>52n Releases</name>
			<url>https://52north.org/maven/repo/releases</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
        </repository>
	</repositories>
	<build>
		<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireNoRepositories>
                                    <!-- Allow repositories -->
                                    <banRepositories>false</banRepositories>
                                    <!-- Allow SNAPSHOT repositories -->
                                    <allowSnapshotRepositories>true</allowSnapshotRepositories>
                                    <!-- Define allowed repositories, use repo id -->
                                    <allowedRepositories>
                                        <id>n52-releases</id>
                                    </allowedRepositories>
                                </requireNoRepositories>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

			<plugin>
				<groupId>com.mycila</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<inherited>false</inherited>
				<configuration>
					<aggregate>true</aggregate>
					<header>etc/license-header.txt</header>
					<includes>
						<include>**/*.java</include>
						<include>**/*.xml</include>
					</includes>
					<strictCheck>true</strictCheck>
					<properties>
						<year>${currentYear}</year>
					</properties>
					<mapping>
						<java>SLASHSTAR_STYLE</java>
					</mapping>
				</configuration>
				<executions>
					<execution>
						<id>format-license-headers</id>
						<phase>process-resources</phase>
						<goals>
							<goal>format</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.jasig.maven</groupId>
				<artifactId>maven-notice-plugin</artifactId>
				<inherited>false</inherited>
				<configuration>
					<noticeTemplate>etc/notice-template.txt</noticeTemplate>
					<licenseMapping>
						<param>http://52north.github.io/cdn/licenses/license-mappings.xml</param>
					</licenseMapping>
					<generateChildNotices>false</generateChildNotices>
				</configuration>
				<executions>
					<!-- <execution> <id>check-notice</id> <phase>initialize</phase> <goals> 
						<goal>check</goal> </goals> </execution> -->
					<execution>
						<id>generate-notice</id>
						<phase>initialize</phase>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
                    <dependency>
                        <groupId>com.sun.istack</groupId>
                        <artifactId>istack-commons-runtime</artifactId>
                        <version>3.0.10</version>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
			</plugin>
		</plugins>
	</build>
	<profiles>
        <profile>
            <id>create-license-list</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <version>1.5</version>
                        <configuration>
                            <useMissingFile>true</useMissingFile>
                            <fileTemplate>etc/license-as-csv.ftl</fileTemplate>
                        </configuration>
                        <executions>
                            <execution>
                                <id>first</id>
                                <goals>
                                    <goal>aggregate-add-third-party</goal>
                                </goals>
                                <phase>generate-resources</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
		<profile>
			<id>with-dependencies</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-assembly-plugin</artifactId>
						<executions>
							<execution>
								<configuration>
									<descriptors>
										<descriptor>src/main/config/assemble.xml</descriptor>
									</descriptors>
								</configuration>
								<goals>
									<goal>single</goal>
								</goals>
								<phase>install</phase>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>