<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>
	<groupId>org.joml</groupId>
	<artifactId>joml</artifactId>
	<version>1.10.4</version>
	<name>JOML</name>
	<description>Java OpenGL Math Library</description>
	<inceptionYear>2015</inceptionYear>
	<url>http://joml.org</url>
	<organization>
		<name>JOML</name>
		<url>http://joml.org</url>
	</organization>
	<licenses>
		<license>
			<name>MIT License</name>
			<url>http://www.opensource.org/licenses/mit-license.php</url>
		</license>
	</licenses>
	<scm>
		<url>https://github.com/JOML-CI/JOML</url>
		<connection>scm:git:https://github.com/JOML-CI/JOML.git</connection>
		<developerConnection>scm:git:https://github.com/JOML-CI/JOML.git</developerConnection>
	</scm>
	<developers>
		<developer>
			<id>rgreenlees</id>
			<name>Richard Greenlees</name>
			<email>r_ja_greenlees@hotmail.com</email>
			<organization>JOML</organization>
			<organizationUrl>http://joml.org</organizationUrl>
		</developer>
		<developer>
			<id>kburjack</id>
			<name>Kai Burjack</name>
			<email>kburjack@googlemail.com</email>
			<organization>JOML</organization>
			<organizationUrl>http://joml.org</organizationUrl>
		</developer>
	</developers>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.compiler.source>1.2</maven.compiler.source>
		<maven.compiler.target>1.2</maven.compiler.target>
		<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
		<maven-enforcer-plugin.version>3.0.0</maven-enforcer-plugin.version>
		<maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
		<maven-antrun-plugin.version>3.0.0</maven-antrun-plugin.version>
		<maven-javadoc-plugin.version>3.0.1</maven-javadoc-plugin.version>
		<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
		<maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
		<maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
		<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
		<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
		<maven-source-plugin.version>3.2.0</maven-source-plugin.version>
		<buildnumber-maven-plugin.version>1.4</buildnumber-maven-plugin.version>
		<build-helper-maven-plugin.version>3.2.0</build-helper-maven-plugin.version>
		<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
		<httpclient.version>4.5.13</httpclient.version>
		<asm.version>9.2</asm.version>
		<javassist.version>3.28.0-GA</javassist.version>
		<gwt-user.version>2.5.0</gwt-user.version>
		<junit.version>3.8.2</junit.version>
		<jcp.version>6.1.4</jcp.version>
		<platform>__JRE__</platform>
		<hasNio>__HAS_NIO__</hasNio>
		<hasUnsafe>__HAS_UNSAFE__</hasUnsafe>
		<hasMathFma>__HAS_MATH_FMA__</hasMathFma>
		<hasIntegerSignum>__HAS_INTEGER_SIGNUM__</hasIntegerSignum>
		<hasVectorApi>__NHAS_VECTOR_API__</hasVectorApi>
		<javaExclude>org/joml/jre/**</javaExclude>
		<moduleInfoExclude>nonExisting</moduleInfoExclude>
		<variant>joml</variant>
	</properties>
	<distributionManagement>
		<snapshotRepository>
			<id>oss.sonatype.org</id>
			<name>Sonatype Snapshot Repository</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>oss.sonatype.org</id>
			<name>Sonatype Staging Repository</name>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
	</distributionManagement>
	<profiles>
		<profile>
			<id>jdk3</id>
			<activation>
				<property>
					<name>jdk3</name>
				</property>
			</activation>
			<properties>
				<variant>joml-jdk3</variant>
				<hasNio>__NHAS_NIO__</hasNio>
				<hasMathFma>__NHAS_MATH_FMA__</hasMathFma>
				<hasIntegerSignum>__NHAS_INTEGER_SIGNUM__</hasIntegerSignum>
				<javaExclude>org/joml/jre/**</javaExclude>
				<moduleInfoExclude>module-info.class</moduleInfoExclude>
			</properties>
		</profile>
		<profile>
			<id>jdk8</id>
			<activation>
				<property>
					<name>jdk8</name>
				</property>
			</activation>
			<properties>
				<variant>joml-jdk8</variant>
				<moduleInfoExclude>module-info.class</moduleInfoExclude>
			</properties>
		</profile>
		<profile>
			<id>jdk9</id>
			<activation>
				<jdk>[9,)</jdk>
			</activation>
			<properties>
				<!-- JDK9 cannot handle < 1.6 anymore -->
				<maven.compiler.source>1.6</maven.compiler.source>
				<maven.compiler.target>1.6</maven.compiler.target>
			</properties>
			<build>
				<plugins>
					<!-- Make sure the jdk9 profile is only used with a 1.9 JDK, and not 
						forcefully enabled via -Pjdk9, because antrun will not work on earlier JDKs, 
						because of missing tools.jar. -->
					<plugin>
						<artifactId>maven-enforcer-plugin</artifactId>
						<version>${maven-enforcer-plugin.version}</version>
						<executions>
							<execution>
								<id>enforce-versions</id>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<requireJavaVersion>
											<version>1.9</version>
										</requireJavaVersion>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- Use the antrun plugin to build and run a post-processing Java application 
						to rewrite the Java class file version from 1.6 back to 1.2 in all compiled 
						class files. -->
					<plugin>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<executions>
							<execution>
								<phase>process-classes</phase>
								<configuration>
									<target>
										<echo message="Post-process compiled class files..."></echo>
										<mkdir dir="${project.build.directory}/buildhelper" />
										<javac srcdir="buildhelper"
											destdir="${project.build.directory}/buildhelper"
											includeantruntime="false">
											<include name="Java6to2.java" />
											<include name="ModuleInfoGenerator.java" />
											<classpath refid="maven.plugin.classpath" />
										</javac>
										<java classname="Java6to2"
											classpathref="maven.plugin.classpath">
											<classpath>
												<pathelement
													location="${project.build.directory}/buildhelper" />
											</classpath>
											<arg value="${project.build.outputDirectory}" />
										</java>
										<echo message="Post-processing done."></echo>
										<echo message="Generate Java 9 module-info.class..."></echo>
										<java classname="ModuleInfoGenerator"
											classpathref="maven.plugin.classpath">
											<classpath>
												<pathelement
													location="${project.build.directory}/buildhelper" />
											</classpath>
											<arg value="${project.build.outputDirectory}" />
											<arg value="${project.version}" />
										</java>
										<echo message="Java 9 module-info.class generated."></echo>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
						<dependencies>
							<dependency>
								<groupId>org.ow2.asm</groupId>
								<artifactId>asm</artifactId>
								<version>${asm.version}</version>
							</dependency>
						</dependencies>
					</plugin>
					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven-javadoc-plugin.version}</version>
						<configuration>
							<additionalOptions>
								<additionalOption>-html5</additionalOption>
							</additionalOptions>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>jdk12</id>
			<activation>
				<jdk>[12,)</jdk>
			</activation>
			<properties>
				<!-- JDK12 cannot handle < 1.7 anymore -->
				<maven.compiler.source>1.7</maven.compiler.source>
				<maven.compiler.target>1.7</maven.compiler.target>
			</properties>
		</profile>
		<profile>
			<id>panama-vector</id>
			<activation>
				<property>
					<name>panama-vector</name>
				</property>
			</activation>
			<properties>
				<!-- Right now, we need at least Java 9 for activating the jdk.incubator.vector module -->
				<maven.compiler.source>9</maven.compiler.source>
				<maven.compiler.target>9</maven.compiler.target>
				<hasVectorApi>__HAS_VECTOR_API__</hasVectorApi>
			</properties>
			<build>
				<plugins>
					<!-- Make sure the panama-vector profile is only used with a 18 JDK. -->
					<plugin>
						<artifactId>maven-enforcer-plugin</artifactId>
						<version>${maven-enforcer-plugin.version}</version>
						<executions>
							<execution>
								<id>enforce-versions</id>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<requireJavaVersion>
											<version>18</version>
										</requireJavaVersion>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<artifactId>maven-compiler-plugin</artifactId>
						<version>${maven-compiler-plugin.version}</version>
						<configuration>
							<excludes>
								<exclude>org/joml/jre/**</exclude>
							</excludes>
							<compilerArgs>
								<compilerArg>--add-modules</compilerArg>
								<compilerArg>jdk.incubator.vector</compilerArg>
							</compilerArgs>
						</configuration>
					</plugin>
					<!-- Use the antrun plugin to build and run a post-processing Java application 
						to rewrite the Java class file version from 9 back to 1.2 in all compiled 
						class files. -->
					<plugin>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<executions>
							<execution>
								<phase>process-classes</phase>
								<configuration>
									<target>
										<echo message="Post-process compiled class files..."></echo>
										<mkdir dir="${project.build.directory}/buildhelper" />
										<javac srcdir="buildhelper"
											destdir="${project.build.directory}/buildhelper"
											includeantruntime="false">
											<include name="Java6to2.java" />
											<include name="ModuleInfoGenerator.java" />
											<classpath refid="maven.plugin.classpath" />
										</javac>
										<java classname="Java6to2"
											classpathref="maven.plugin.classpath">
											<classpath>
												<pathelement
													location="${project.build.directory}/buildhelper" />
											</classpath>
											<arg value="${project.build.outputDirectory}" />
										</java>
										<echo message="Post-processing done."></echo>
										<echo message="Generate Java 9 module-info.class..."></echo>
										<java classname="ModuleInfoGenerator"
											classpathref="maven.plugin.classpath">
											<classpath>
												<pathelement
													location="${project.build.directory}/buildhelper" />
											</classpath>
											<arg value="${project.build.outputDirectory}" />
											<arg value="${project.version}" />
										</java>
										<echo message="Java 9 module-info.class generated."></echo>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
						<dependencies>
							<dependency>
								<groupId>org.ow2.asm</groupId>
								<artifactId>asm</artifactId>
								<version>${asm.version}</version>
							</dependency>
						</dependencies>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>${maven-surefire-plugin.version}</version>
						<configuration>
							<forkCount>1</forkCount>
							<argLine>--add-modules jdk.incubator.vector</argLine>
						</configuration>
						<executions>
							<execution>
								<id>forceunsafe</id>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<forkCount>1</forkCount>
									<argLine>-Djoml.forceUnsafe --add-modules jdk.incubator.vector</argLine>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven-javadoc-plugin.version}</version>
						<configuration>
							<additionalOptions>
								<additionalOption>-html5</additionalOption>
								<additionalOption>--add-modules</additionalOption>
								<additionalOption>jdk.incubator.vector</additionalOption>
							</additionalOptions>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>preJdk9</id>
			<activation>
				<jdk>[1.3,1.8]</jdk>
			</activation>
			<properties>
				<hasMathFma>__NHAS_MATH_FMA__</hasMathFma>
			</properties>
			<build>
				<plugins>
					<!-- Generate module-info.class for Java 9. -->
					<plugin>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<executions>
							<execution>
								<phase>process-classes</phase>
								<configuration>
									<target>
										<echo message="Generate Java 9 module-info.class..."></echo>
										<mkdir dir="${project.build.directory}/buildhelper" />
										<javac srcdir="buildhelper"
											destdir="${project.build.directory}/buildhelper"
											includeantruntime="false">
											<include name="ModuleInfoGenerator.java" />
											<classpath refid="maven.plugin.classpath" />
										</javac>
										<java classname="ModuleInfoGenerator"
											classpathref="maven.plugin.classpath">
											<classpath>
												<pathelement
													location="${project.build.directory}/buildhelper" />
											</classpath>
											<arg value="${project.build.outputDirectory}" />
											<arg value="${project.version}" />
										</java>
										<echo message="Java 9 module-info.class generated."></echo>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
						<dependencies>
							<dependency>
								<groupId>org.ow2.asm</groupId>
								<artifactId>asm</artifactId>
								<version>${asm.version}</version>
							</dependency>
							<dependency>
								<groupId>com.sun</groupId>
								<artifactId>tools</artifactId>
								<version>1.8.0</version>
								<scope>system</scope>
								<systemPath>${java.home}/../lib/tools.jar</systemPath>
							</dependency>
						</dependencies>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<!-- Builds a GWT module JAR file by preprocessing with the __GWT__ define. -->
			<id>gwt</id>
			<activation>
				<property>
					<name>gwt</name>
				</property>
			</activation>
			<properties>
				<variant>joml-gwt</variant>
				<platform>__GWT__</platform>
				<hasNio>__NHAS_NIO__</hasNio>
				<hasUnsafe>__NHAS_UNSAFE__</hasUnsafe>
				<hasMathFma>__NHAS_MATH_FMA__</hasMathFma>
				<javaExclude>nonExisting</javaExclude>
				<moduleInfoExclude>module-info.class</moduleInfoExclude>
			</properties>
			<build>
				<!-- Add the sources to the jar artifact -->
				<resources>
					<resource>
						<directory>${project.build.directory}/generated-sources/preprocessed</directory>
						<includes>
							<include>**/*.java</include>
						</includes>
						<filtering>false</filtering>
					</resource>
					<resource>
						<directory>${project.build.sourceDirectory}</directory>
						<includes>
							<include>org/joml/JOML.gwt.xml</include>
						</includes>
						<filtering>false</filtering>
					</resource>
				</resources>
			</build>
		</profile>
		<profile>
			<id>graal</id>
			<activation>
				<property>
					<name>graal</name>
				</property>
			</activation>
			<properties>
				<variant>joml-graal</variant>
				<platform>__GRAAL__</platform>
				<hasUnsafe>__NHAS_UNSAFE__</hasUnsafe>
				<moduleInfoExclude>module-info.class</moduleInfoExclude>
			</properties>
		</profile>
		<profile>
			<id>verify</id>
			<activation>
				<property>
					<name>verify</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<executions>
							<execution>
								<id>validate</id>
								<phase>validate</phase>
								<configuration>
									<target>
										<mkdir dir="${project.build.directory}/buildhelper" />
										<javac srcdir="buildhelper"
											destdir="${project.build.directory}/buildhelper"
											includeantruntime="false">
											<classpath refid="maven.plugin.classpath" />
											<include name="UrlChecker.java" />
										</javac>
										<java classname="UrlChecker"
											classpathref="maven.plugin.classpath" failonerror="yes">
											<classpath>
												<pathelement
													location="${project.build.directory}/buildhelper" />
											</classpath>
										</java>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
						<dependencies>
							<dependency>
								<groupId>org.apache.httpcomponents</groupId>
								<artifactId>httpclient</artifactId>
								<version>${httpclient.version}</version>
							</dependency>
						</dependencies>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>deployment</id>
			<activation>
				<property>
					<name>deployment</name>
				</property>
			</activation>
			<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>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<artifactId>maven-deploy-plugin</artifactId>
						<version>${maven-deploy-plugin.version}</version>
						<configuration>
							<skip>true</skip>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>${nexus-staging-maven-plugin.version}</version>
						<extensions>true</extensions>
						<executions>
							<execution>
								<id>default-deploy</id>
								<phase>deploy</phase>
								<goals>
									<goal>deploy</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<serverId>oss.sonatype.org</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>buildhelper</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>build-helper-maven-plugin</artifactId>
						<version>${build-helper-maven-plugin.version}</version>
						<executions>
							<execution>
								<id>add-source</id>
								<phase>generate-sources</phase>
								<goals>
									<goal>add-source</goal>
								</goals>
								<configuration>
									<sources>
										<source>${basedir}/buildhelper</source>
									</sources>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<dependencies>
				<dependency>
					<groupId>org.javassist</groupId>
					<artifactId>javassist</artifactId>
					<version>${javassist.version}</version>
				</dependency>
				<dependency>
					<groupId>org.ow2.asm</groupId>
					<artifactId>asm</artifactId>
					<version>${asm.version}</version>
				</dependency>
				<dependency>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
					<version>${httpclient.version}</version>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<id>inlinecheck</id>
			<activation>
				<property>
					<name>inlinecheck</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<executions>
							<execution>
								<configuration>
									<target>
										<mkdir dir="${project.build.directory}/buildhelper" />
										<javac srcdir="buildhelper"
											destdir="${project.build.directory}/buildhelper"
											includeantruntime="false">
											<include name="InlineAdvisor.java" />
											<classpath refid="maven.plugin.classpath" />
										</javac>
										<java classname="InlineAdvisor"
											classpathref="maven.plugin.classpath"
											fork="true">
											<classpath>
												<pathelement
													location="${project.build.directory}/buildhelper" />
											</classpath>
											<arg value="${project.build.outputDirectory}" />
											<jvmarg value="-DInlineAdvisor.FreqInlineThreshold=325"/>
										</java>
									</target>
								</configuration>
							</execution>
						</executions>
						<dependencies>
							<dependency>
								<groupId>org.javassist</groupId>
								<artifactId>javassist</artifactId>
								<version>${javassist.version}</version>
							</dependency>
						</dependencies>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<testSourceDirectory>test</testSourceDirectory>
		<finalName>${variant}-${project.version}</finalName>
		<plugins>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>${maven-enforcer-plugin.version}</version>
				<executions>
					<execution>
						<id>enforce-versions</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireJavaVersion>
									<!-- To successfully compile JOML, we need at least a JDK6 because 
										conditionally loaded classes use > 1.4 features. -->
									<version>1.6</version>
								</requireJavaVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.igormaznitsa</groupId>
				<artifactId>jcp</artifactId>
				<version>${jcp.version}</version>
				<executions>
					<execution>
						<id>preprocessSources</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>preprocess</goal>
						</goals>
						<configuration>
							<source>src</source>
						</configuration>
					</execution>
					<execution>
						<id>processTestSources</id>
						<phase>generate-test-sources</phase>
						<goals>
							<goal>preprocess</goal>
						</goals>
						<configuration>
							<useTestSources>true</useTestSources>
							<source>test</source>
						</configuration>
					</execution>
					<execution>
						<id>clearGeneratedFolders</id>
						<goals>
							<goal>clear</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<processing>java</processing>
					<keepLines>false</keepLines>
					<verbose>false</verbose>
					<globalVars>
						<property>
							<name>${platform}</name>
							<value>1</value>
						</property>
						<property>
							<name>${hasNio}</name>
							<value>1</value>
						</property>
						<property>
							<name>${hasMathFma}</name>
							<value>1</value>
						</property>
						<property>
							<name>${hasIntegerSignum}</name>
							<value>1</value>
						</property>
						<property>
							<name>${hasUnsafe}</name>
							<value>1</value>
						</property>
						<property>
							<name>${hasVectorApi}</name>
							<value>1</value>
						</property>
					</globalVars>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>${maven-checkstyle-plugin.version}</version>
				<executions>
					<execution>
						<id>validate-java</id>
						<phase>validate</phase>
						<configuration>
							<includeTestSourceDirectory>true</includeTestSourceDirectory>
							<excludes>org/joml/jre/**/*.java</excludes>
							<configLocation>config/checkstyle.xml</configLocation>
							<encoding>UTF-8</encoding>
							<consoleOutput>true</consoleOutput>
							<failsOnError>true</failsOnError>
							<linkXRef>false</linkXRef>
						</configuration>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
				<configuration>
					<excludes>
						<exclude>org/joml/jre/**</exclude>
						<exclude>org/joml/experimental/**</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>${maven-resources-plugin.version}</version>
				<executions>
					<execution>
						<id>copy-resources</id>
						<phase>validate</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.outputDirectory}/META-INF</outputDirectory>
							<resources>
								<resource>
									<directory>${basedir}</directory>
									<filtering>false</filtering>
									<include>LICENSE</include>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<version>${buildnumber-maven-plugin.version}</version>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>create</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<doCheck>false</doCheck>
					<doUpdate>false</doUpdate>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
				<configuration>
					<forkCount>1</forkCount>
					<argLine>-Djoml.nounsafe</argLine>
				</configuration>
				<executions>
					<execution>
						<id>forceunsafe</id>
						<goals>
							<goal>test</goal>
						</goals>
						<configuration>
							<forkCount>1</forkCount>
							<argLine>-Djoml.forceUnsafe</argLine>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<version>${maven-jar-plugin.version}</version>
				<configuration>
					<excludes>
						<!-- Exclude the Java 1.4 API classes when javaExclude is set -->
						<exclude>${javaExclude}</exclude>
						<!-- Exclude the Java 9 module-info.class when moduleInfoExclude is 
							set -->
						<exclude>${moduleInfoExclude}</exclude>
					</excludes>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
						<manifestEntries>
							<!-- Add Git commit hash -->
							<Implementation-Build>${buildNumber}</Implementation-Build>
							<!-- Add OSGi meta-information -->
							<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
							<Bundle-Name>${project.name}</Bundle-Name>
							<Bundle-SymbolicName>${project.groupId}</Bundle-SymbolicName>
							<Bundle-Version>${project.version}</Bundle-Version>
							<Export-Package>org.joml,org.joml.sampling</Export-Package>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<version>${maven-source-plugin.version}</version>
				<configuration>
					<excludes>
						<!-- Exclude the Java 1.4 API classes from the sources jar -->
						<exclude>org/joml/jre/**</exclude>
						<!-- Exclude GWT config -->
						<exclude>org/joml/JOML.gwt.xml</exclude>
						<!-- Exclude experimental -->
						<exclude>org/joml/experimental/**</exclude>
					</excludes>
				</configuration>
				<executions>
					<execution>
						<id>package-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${maven-javadoc-plugin.version}</version>
				<configuration>
					<!-- Exclude the Java 1.4 API classes from the javadoc jar -->
					<excludePackageNames>org.joml.jre:org.joml.experimental</excludePackageNames>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.google.gwt</groupId>
			<artifactId>gwt-user</artifactId>
			<version>${gwt-user.version}</version>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<groupId>javax.validation</groupId>
					<artifactId>validation-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.json</groupId>
					<artifactId>json</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
</project>
