<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>com.github.docker-java</groupId>
		<artifactId>docker-java-parent</artifactId>
		<version>3.2.0</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<artifactId>docker-java-api</artifactId>
	<packaging>jar</packaging>

	<name>docker-java-api</name>
	<url>https://github.com/docker-java/docker-java</url>
	<description>Java API Client for Docker</description>

	<dependencies>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>${jackson.version}</version>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j-api.version}</version>
		</dependency>

		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>annotations</artifactId>
			<version>3.0.1u2</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.10</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<instructions>
						<Export-Package>com.github.dockerjava.api.*</Export-Package>
					</instructions>
				</configuration>
			</plugin>

			<plugin>
				<!-- use with "mvn -DskipTests clean verify" -->
				<groupId>com.github.siom79.japicmp</groupId>
				<artifactId>japicmp-maven-plugin</artifactId>
				<version>0.14.3</version>
				<configuration>
					<oldVersion>
						<dependency>
							<groupId>com.github.docker-java</groupId>
							<artifactId>docker-java</artifactId>
							<version>3.1.5</version>
							<type>jar</type>
						</dependency>
					</oldVersion>
					<newVersion>
						<file>
							<path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
						</file>
					</newVersion>
					<parameter>
						<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
						<accessModifier>public</accessModifier>
						<onlyBinaryIncompatible>true</onlyBinaryIncompatible>
						<includes>
							<include>com.github.dockerjava.api</include>
						</includes>
						<excludes>
							<!-- TODO? -->
							<exclude>com.github.dockerjava.api.model.*$Serializer</exclude>
							<exclude>com.github.dockerjava.api.model.*$Deserializer</exclude>
							<!-- Known 3.2.0 breaking changes: -->
							<exclude>com.github.dockerjava.api.command.DockerCmdExecFactory#init(com.github.dockerjava.core.DockerClientConfig)</exclude>
							<exclude>com.github.dockerjava.api.model.Identifier#tag</exclude>
						</excludes>
						<overrideCompatibilityChangeParameters>
							<overrideCompatibilityChangeParameter>
								<compatibilityChange>METHOD_NEW_DEFAULT</compatibilityChange>
								<binaryCompatible>true</binaryCompatible>
								<sourceCompatible>true</sourceCompatible>
							</overrideCompatibilityChangeParameter>
							<overrideCompatibilityChangeParameter>
								<compatibilityChange>METHOD_ABSTRACT_NOW_DEFAULT</compatibilityChange>
								<binaryCompatible>true</binaryCompatible>
								<sourceCompatible>true</sourceCompatible>
							</overrideCompatibilityChangeParameter>
						</overrideCompatibilityChangeParameters>
					</parameter>
				</configuration>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>cmp</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
