<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>net.tascalate.instrument</groupId>
		<artifactId>net.tascalate.instrument.parent</artifactId>
		<version>1.0.0</version>
		<relativePath>../</relativePath>
	</parent>

	<artifactId>net.tascalate.instrument.attach</artifactId>
	<packaging>jar</packaging>

	<name>Tascalate Instrument / Attach / Multi-version</name>

	<dependencies>
		<dependency>
			<groupId>net.tascalate.instrument</groupId>
			<artifactId>net.tascalate.instrument.attach9</artifactId>
			<version>${project.version}</version>
			<scope>compile</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>net.java.dev.jna</groupId>
			<artifactId>jna</artifactId>
			<version>${jna.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>6</source>
					<target>6</target>
					<debug>true</debug>
					<debuglevel>none</debuglevel>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>3.1.1</version>
				<executions>
					<execution>
						<id>unpack-binaries-9</id>
						<phase>process-classes</phase>
						<goals>
							<goal>unpack-dependencies</goal>
						</goals>
						<configuration>
							<includeGroupIds>${project.groupId}</includeGroupIds>
							<includeArtifactIds>net.tascalate.instrument.attach9</includeArtifactIds>
							<type>jar</type>
							<outputDirectory>${project.build.outputDirectory}/META-INF/versions/9</outputDirectory>
							<includes>**/CurrentProcess.class,**/LocalAgentLoader.class</includes>
							<failOnMissingClassifierArtifact>true</failOnMissingClassifierArtifact>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- It's impossible to just extract module-info.class from attach9 -->
			<!-- Otherwise all plugins are shocked (JavaDoc, AnimalSniffer)     -->
			<!-- So we rebuid module-info from the very same source             -->                                       
			<plugin>
				<groupId>org.moditect</groupId>
				<artifactId>moditect-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>add-module-infos</id>
						<phase>package</phase>
						<goals>
							<goal>add-module-info</goal>
						</goals>
						<configuration>
							<jvmVersion>9</jvmVersion>
							<module>
								<moduleInfoFile>../net.tascalate.instrument.attach9/src/main/java/module-info.java</moduleInfoFile>
							</module>
							<version>${project.version}</version>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!--
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<compress>true</compress>
						<manifestEntries>
							<Multi-Release>true</Multi-Release>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			-->
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>animal-sniffer-maven-plugin</artifactId>
					<configuration>
						<!-- False alarm for classes shaded from attach9 -->
						<ignores>
							<ignore>java.lang.ProcessHandle</ignore>
							<ignore>java.lang.ProcessBuilder</ignore>
							<ignore>java.lang.ProcessBuilder$Redirect</ignore>
							<ignore>com.sun.tools.attach.VirtualMachine</ignore>
						</ignores>
						<signature>
							<groupId>org.codehaus.mojo.signature</groupId>
							<artifactId>java15</artifactId>
							<version>1.0</version>
						</signature>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<configuration> 
						<release>6</release> 
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

</project>
