<?xml version="1.0" encoding="UTF-8"?>

<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>uk.ac.liv.gdsl</groupId>
	<artifactId>GeoMason-light</artifactId>
	<version>2.2.2</version>

	<name>${project.groupId}:${project.artifactId}</name>

	<description>
		GeoMason-light is an advanced and optional extension of MASON, a popular agent-based
		modeling toolkit. This extension enriches MASON's capabilities by introducing robust
		support for both vector and raster geospatial data. By building upon the functionality
		of its predecessor, GeoMason, the new GeoMason-light framework offers a lighter,
		more efficient, and versatile approach to integrate geospatial data into
		agent-based simulations.
	</description>

	<url>https://github.com/g-filomena/GeoMason-light</url>

	<developers>
		<developer>
			<name>Gabriele Filomena</name>
			<email>gabriele.filomena@liverpool.ac.uk</email>
			<organization>University of Liverpool, Geographic Data Science Lab</organization>
			<organizationUrl>https://www.liverpool.ac.uk/geographic-data-science/</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:https://github.com/g-filomena/GeoMason-light.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/g-filomena/GeoMason-light.git</developerConnection>
		<url>https://github.com/g-filomena/GeoMason-light/tree/main</url>
	</scm>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
	</properties>

	<dependencies>
		<!-- Commons Math -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-math3</artifactId>
			<version>3.6.1</version>
		</dependency>

		<!-- JavaTuples -->
		<dependency>
			<groupId>org.javatuples</groupId>
			<artifactId>javatuples</artifactId>
			<version>1.2</version>
		</dependency>

		<!-- JTS Core -->
		<dependency>
			<groupId>org.locationtech.jts</groupId>
			<artifactId>jts-core</artifactId>
			<version>1.19.0</version>
		</dependency>

		<!-- GeoPackage -->
		<dependency>
			<groupId>mil.nga.geopackage</groupId>
			<artifactId>geopackage</artifactId>
			<version>6.6.5</version>
		</dependency>

		<dependency>
			<groupId>mil.nga.geopackage</groupId>
			<artifactId>geopackage-core</artifactId>
			<version>6.6.7</version>
		</dependency>

		<dependency>
			<groupId>mil.nga</groupId>
			<artifactId>sf</artifactId>
			<version>2.2.2</version>
		</dependency>

		<dependency>
			<groupId>mil.nga</groupId>
			<artifactId>wkb</artifactId>
			<version>1.0.6</version>
		</dependency>

		<dependency>
			<groupId>mil.nga</groupId>
			<artifactId>crs</artifactId>
			<version>1.1.5</version>
		</dependency>

		<dependency>
			<groupId>mil.nga</groupId>
			<artifactId>proj</artifactId>
			<version>1.1.4</version>
		</dependency>

		<dependency>
			<groupId>org.locationtech.proj4j</groupId>
			<artifactId>proj4j</artifactId>
			<version>1.4.0</version>
		</dependency>

		<dependency>
			<groupId>com.j256.ormlite</groupId>
			<artifactId>ormlite-jdbc</artifactId>
			<version>6.1</version>
		</dependency>

		<dependency>
			<groupId>org.xerial</groupId>
			<artifactId>sqlite-jdbc</artifactId>
			<version>3.49.1.0</version>
		</dependency>

		<!-- MASON is required at compile/runtime, but it is not available from Maven Central. -->
		<dependency>
			<groupId>sim</groupId>
			<artifactId>mason</artifactId>
			<version>21</version>
			<scope>provided</scope>
		</dependency>

		<!-- Testing -->
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter</artifactId>
			<version>5.10.2</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<!-- Compiler -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<source>${maven.compiler.source}</source>
					<target>${maven.compiler.target}</target>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>

			<!-- Tests -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>3.2.5</version>
			</plugin>

			<!-- Javadoc -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.3.0</version>
				<configuration>
					<doclint>all,-missing</doclint>
					<encoding>${project.build.sourceEncoding}</encoding>
					<charset>${project.build.sourceEncoding}</charset>
					<docencoding>${project.build.sourceEncoding}</docencoding>
					<quiet>true</quiet>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Sources -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.2.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Copy POM to target -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>3.2.0</version>
				<executions>
					<execution>
						<id>copy-pom</id>
						<phase>initialize</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}</outputDirectory>
							<resources>
								<resource>
									<directory>${project.basedir}</directory>
									<includes>
										<include>pom.xml</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Checksum -->
			<plugin>
				<groupId>net.ju-n.maven.plugins</groupId>
				<artifactId>checksum-maven-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<id>generate-artifact-checksum</id>
						<phase>package</phase>
						<goals>
							<goal>files</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<algorithms>
						<algorithm>MD5</algorithm>
						<algorithm>SHA-1</algorithm>
					</algorithms>
					<fileSets>
						<fileSet>
							<directory>${project.build.directory}</directory>
							<includes>
								<include>${project.build.finalName}.jar</include>
								<include>${project.build.finalName}-javadoc.jar</include>
								<include>${project.build.finalName}-sources.jar</include>
							</includes>
						</fileSet>
					</fileSets>
				</configuration>
			</plugin>

			<!-- Signing -->
			<plugin>
				<groupId>org.simplify4u.plugins</groupId>
				<artifactId>sign-maven-plugin</artifactId>
				<version>1.0.1</version>
				<executions>
					<execution>
						<goals>
							<goal>sign</goal>
						</goals>
						<configuration>
							<serverId>sign-key-id</serverId>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Maven Central Portal publishing -->
			<plugin>
				<groupId>org.sonatype.central</groupId>
				<artifactId>central-publishing-maven-plugin</artifactId>
				<version>0.10.0</version>
				<extensions>true</extensions>
				<configuration>
					<publishingServerId>central</publishingServerId>
					<autoPublish>true</autoPublish>
					<waitUntil>published</waitUntil>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<licenses>
		<license>
			<name>GNU General Public License, Version 3.0</name>
			<url>https://www.gnu.org/licenses/gpl-3.0.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<organization>
		<name>University of Liverpool, Department of Geography and Planning, Geographic Data Science Lab</name>
		<url>https://www.liverpool.ac.uk/geography-and-planning/</url>
	</organization>

</project>
