<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>com.heronarts</groupId>
    <artifactId>glx</artifactId>
    <version>1.2.1</version>
	<packaging>jar</packaging>
	
	<name>GLX</name>
	<description>UI harness for the LX framework based upon LWJGL + bgfx.</description>
	<url>https://chromatik.co/</url>

	<licenses>
		<license>
			<name>Chromatik / LX Software License and Distribution Agreement</name>
			<url>https://chromatik.co/license/</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Mark Slee</name>
			<email>mark@heronarts.com</email>
			<organization>Heron Arts</organization>
			<organizationUrl>http://github.com/heronarts/</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:git://github.com/heronarts/GLX.git</connection>
		<developerConnection>scm:git:git://github.com/heronarts/GLX.git</developerConnection>
		<url>http://github.com/heronarts/GLX/tree/master</url>
	</scm>

    <properties>
        <maven.compiler.release>21</maven.compiler.release>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <maven-assembly-plugin.version>3.6.0</maven-assembly-plugin.version>
		<exec-maven-plugin.version>3.1.1</exec-maven-plugin.version>
		<maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
		<maven-source-plugin.version>3.3.0</maven-source-plugin.version>
		<maven-compiler-plugin.version>3.12.1</maven-compiler-plugin.version>
        
        <lwjgl.version>3.3.6</lwjgl.version>
        <joml.version>1.10.7</joml.version>
	
    </properties>
    
    <profiles>
		<profile>
			<id>lwjgl-natives-linux-amd64</id>
			<activation>
				<os>
					<family>unix</family>
					<name>linux</name>
					<arch>amd64</arch>
				</os>
			</activation>
			<properties>
				<lwjgl.natives>natives-linux</lwjgl.natives>
			</properties>
		</profile>
		<profile>
			<id>lwjgl-natives-linux-aarch64</id>
			<activation>
				<os>
					<family>unix</family>
					<name>linux</name>
					<arch>aarch64</arch>
				</os>
			</activation>
			<properties>
				<lwjgl.natives>natives-linux-arm64</lwjgl.natives>
			</properties>
		</profile>
		<profile>
			<id>lwjgl-natives-macos-x86_64</id>
			<activation>
				<os>
					<family>mac</family>
					<arch>x86_64</arch>
				</os>
			</activation>
			<properties>
				<lwjgl.natives>natives-macos</lwjgl.natives>
			</properties>
		</profile>
		<profile>
			<id>lwjgl-natives-macos-aarch64</id>
			<activation>
				<os>
					<family>mac</family>
					<arch>aarch64</arch>
				</os>
			</activation>
			<properties>
				<lwjgl.natives>natives-macos-arm64</lwjgl.natives>
			</properties>
		</profile>
		<profile>
			<id>lwjgl-natives-windows-amd64</id>
			<activation>
				<os>
					<family>windows</family>
					<arch>amd64</arch>
				</os>
			</activation>
			<properties>
				<lwjgl.natives>natives-windows</lwjgl.natives>
			</properties>
		</profile>
	    <profile>
            <id>deploy</id>
            <build>
	            <plugins>
	            	<plugin>
						<groupId>org.sonatype.central</groupId>
						<artifactId>central-publishing-maven-plugin</artifactId>
						<version>0.7.0</version>
						<extensions>true</extensions>
						<configuration>
							<publishingServerId>central</publishingServerId>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>3.1.0</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
	            </plugins>
            </build>
        </profile>
	</profiles>
    
    <dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.lwjgl</groupId>
				<artifactId>lwjgl-bom</artifactId>
				<version>${lwjgl.version}</version>
				<scope>import</scope>
				<type>pom</type>
			</dependency>
		</dependencies>
	</dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>com.heronarts</groupId>
            <artifactId>lx</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        
        <dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-bgfx</artifactId>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-glfw</artifactId>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-nanovg</artifactId>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-stb</artifactId>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-tinyfd</artifactId>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-assimp</artifactId>
		</dependency>
		<dependency>
			<groupId>org.joml</groupId>
			<artifactId>joml</artifactId>
			<version>${joml.version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl</artifactId>
			<classifier>${lwjgl.natives}</classifier>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-bgfx</artifactId>
			<classifier>${lwjgl.natives}</classifier>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-glfw</artifactId>
			<classifier>${lwjgl.natives}</classifier>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-nanovg</artifactId>
			<classifier>${lwjgl.natives}</classifier>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-stb</artifactId>
			<classifier>${lwjgl.natives}</classifier>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-tinyfd</artifactId>
			<classifier>${lwjgl.natives}</classifier>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.lwjgl</groupId>
			<artifactId>lwjgl-assimp</artifactId>
			<classifier>${lwjgl.natives}</classifier>
			<scope>provided</scope>
		</dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <compilerArgs>
                        <arg>-Xlint:all,-this-escape</arg>
                        <arg>-Xpkginfo:always</arg>
                    </compilerArgs>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven-javadoc-plugin.version}</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <bottom>GLX library by Mark C. Slee. (C) 2012-2025</bottom>
                    <verbose>false</verbose>
                    <doclint>all,-missing</doclint>
                    <stylesheetfile>build/stylesheet.css</stylesheetfile>
                    <doctitle>GLX API Specification</doctitle>
                    <version>false</version>
                    <windowtitle>GLX API</windowtitle>
                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>${maven-source-plugin.version}</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>     

        </plugins>
    </build>

</project>