<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.esotericsoftware</groupId>
		<artifactId>kryo-parent</artifactId>
		<version>5.1.0</version>
		<relativePath>./pom.xml</relativePath>
	</parent>

	<groupId>com.esotericsoftware.kryo</groupId>
	<artifactId>kryo${kryo.major.version}</artifactId>
	<packaging>jar</packaging>

	<name>Kryo ${kryo.major.version}</name>
	<description>Fast, efficient Java serialization. This is the version specific Kryo artifact.</description>

	<dependencies>
		<dependency>
			<groupId>com.esotericsoftware</groupId>
			<artifactId>kryo</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
						<manifestEntries>
							<Automatic-Module-Name>com.esotericsoftware.kryo.kryo${kryo.major.version}
							</Automatic-Module-Name>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<!-- remove all classes of dependencies that are not used by the project -->
							<minimizeJar>false</minimizeJar>
							<createSourcesJar>true</createSourcesJar>
							<shadedArtifactAttached>false</shadedArtifactAttached>
							<createDependencyReducedPom>true</createDependencyReducedPom>
							<dependencyReducedPomLocation>${project.build.directory}/kryo${kryo.major.version}-${project.version}.pom</dependencyReducedPomLocation>
							<artifactSet>
								<excludes>
									<exclude>com.esotericsoftware:kryo</exclude>
								</excludes>
							</artifactSet>
							<filters>
								<filter>
									<artifact>com.esotericsoftware:minlog</artifact>
									<excludes>
										<exclude>META-INF/MANIFEST.MF</exclude>
									</excludes>
								</filter>
								<filter>
									<artifact>com.esotericsoftware:reflectasm</artifact>
									<excludes>
										<exclude>META-INF/MANIFEST.MF</exclude>
									</excludes>
								</filter>
								<filter>
									<artifact>org.objenesis:objenesis</artifact>
									<excludes>
										<exclude>META-INF/MANIFEST.MF</exclude>
									</excludes>
								</filter>
							</filters>
							<relocations>
								<relocation>
									<pattern>com.esotericsoftware.kryo</pattern>
									<shadedPattern>com.esotericsoftware.kryo.kryo${kryo.major.version}</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.esotericsoftware.minlog</pattern>
									<shadedPattern>com.esotericsoftware.kryo.kryo${kryo.major.version}.minlog</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.esotericsoftware.reflectasm</pattern>
									<shadedPattern>com.esotericsoftware.kryo.kryo${kryo.major.version}.reflectasm</shadedPattern>
								</relocation>
								<relocation>
									<pattern>com.esotericsoftware.asm</pattern>
									<shadedPattern>com.esotericsoftware.kryo.kryo${kryo.major.version}.asm</shadedPattern>
								</relocation>
								<relocation>
									<pattern>org.objenesis</pattern>
									<shadedPattern>com.esotericsoftware.kryo.kryo${kryo.major.version}.objenesis</shadedPattern>
								</relocation>
							</relocations>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<executions>
					<execution>
						<id>bundle-manifest</id>
						<phase>process-classes</phase>
						<goals>
							<goal>manifest</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<instructions>
						<Import-Package><![CDATA[
						COM.jrockit*;resolution:=optional,
						COM.newmonics*;resolution:=optional,
						jrockit*;resolution:=optional,
						sun.reflect;resolution:=optional,
						sun.misc;resolution:=optional,
						sun.nio.ch;resolution:=optional
						]]>
						</Import-Package>
						<Export-Package>
						com.esotericsoftware.kryo.kryo${kryo.major.version},
						com.esotericsoftware.kryo.kryo${kryo.major.version}.io,
						com.esotericsoftware.kryo.kryo${kryo.major.version}.serializers,
						com.esotericsoftware.kryo.kryo${kryo.major.version}.unsafe,
						com.esotericsoftware.kryo.kryo${kryo.major.version}.util,
						com.esotericsoftware.kryo.kryo${kryo.major.version}.objenesis,
						com.esotericsoftware.kryo.kryo${kryo.major.version}.objenesis.instantiator,
						com.esotericsoftware.kryo.kryo${kryo.major.version}.objenesis.strategy
						</Export-Package>
					</instructions>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>
