<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>hu.computertechnika</groupId>
	<artifactId>paginationfx-parent</artifactId>
	<version>1.0.0</version>
	<packaging>pom</packaging>

	<name>PaginationFX</name>
	<description>Paginable Tableview component for JavaFX</description>
	<url>https://github.com/gbalanyi/PaginationFX</url>

	<developers>

		<developer>
			<id>gbalanyi</id>
			<name>Gábor Balanyi</name>
			<email>balanyi@computertechnika.hu</email>
			<organization>Computer Technika Kft.</organization>
		</developer>

	</developers>

	<scm>
		<connection>scm:git:git://github.com/gbalanyi/PaginationFX.git</connection>
		<developerConnection>scm:git:ssh://github.com:gbalanyi/PaginationFX.git</developerConnection>
		<url>https://github.com/gbalanyi/PaginationFX</url>
	</scm>

	<licenses>
		<license>
			<name>MIT</name>
			<url>https://opensource.org/licenses/MIT</url>
		</license>
	</licenses>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<lombok.version>1.18.2</lombok.version>
		<lombok.mvnplugin.version>1.18.0.0</lombok.mvnplugin.version>
		<junit.version>5.3.1</junit.version>
		<testfx.version>4.0.15-alpha</testfx.version>
		<slf4j.version>1.7.25</slf4j.version>
		<log4j.version>1.2.17</log4j.version>
		<h2.version>1.4.197</h2.version>
		<mvn.jarplugin.version>3.1.0</mvn.jarplugin.version>
		<mvn.sourceplugin.version>3.0.1</mvn.sourceplugin.version>
		<mvn.javadocplugin.version>3.0.1</mvn.javadocplugin.version>
		<mvn.gpgplugin.version>1.6</mvn.gpgplugin.version>
		<querydsl.version>4.2.1</querydsl.version>
		<eclipselink.version>2.7.1</eclipselink.version>
		<persistence.version>2.2.0</persistence.version>
	</properties>

	<modules>
		<module>paginationfx</module>
		<module>paginationfx-qdsl-common</module>
		<module>paginationfx-qdsl-jpa</module>
		<module>paginationfx-qdsl-jdbc</module>
	</modules>

	<dependencyManagement>

		<dependencies>

			<dependency>
				<groupId>org.projectlombok</groupId>
				<artifactId>lombok</artifactId>
				<version>${lombok.version}</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>

			<dependency>
				<groupId>org.eclipse.persistence</groupId>
				<artifactId>javax.persistence</artifactId>
				<version>${persistence.version}</version>
				<scope>provided</scope>
			</dependency>

			<!-- Internal dependencies -->

			<dependency>
				<groupId>hu.computertechnika</groupId>
				<artifactId>paginationfx</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>hu.computertechnika</groupId>
				<artifactId>paginationfx-qdsl-common</artifactId>
				<version>${project.version}</version>
			</dependency>

			<!-- Test dependencies -->

			<dependency>
				<groupId>org.junit.vintage</groupId>
				<artifactId>junit-vintage-engine</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.testfx</groupId>
				<artifactId>testfx-core</artifactId>
				<version>${testfx.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.testfx</groupId>
				<artifactId>testfx-junit</artifactId>
				<version>${testfx.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${slf4j.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>${log4j.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2</artifactId>
				<version>${h2.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.eclipse.persistence</groupId>
				<artifactId>org.eclipse.persistence.jpa</artifactId>
				<version>${eclipselink.version}</version>
				<scope>test</scope>
			</dependency>

		</dependencies>

	</dependencyManagement>

	<profiles>

		<profile>

			<id>snapshot</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>

			<distributionManagement>
				<snapshotRepository>
					<id>ossrh</id>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>

			<build>

				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
					</plugin>

				</plugins>

			</build>

		</profile>

		<profile>

			<id>release</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>

			<distributionManagement>
				<repository>
					<id>ossrh</id>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
				</repository>
			</distributionManagement>

			<build>

				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
					</plugin>

				</plugins>

			</build>

		</profile>

	</profiles>

	<build>

		<pluginManagement>

			<plugins>

				<plugin>
					<groupId>org.projectlombok</groupId>
					<artifactId>lombok-maven-plugin</artifactId>
					<version>${lombok.mvnplugin.version}</version>
					<executions>
						<execution>
							<phase>generate-sources</phase>
							<goals>
								<goal>delombok</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<addOutputDirectory>false</addOutputDirectory>
						<sourceDirectory>src/main/java</sourceDirectory>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${mvn.jarplugin.version}</version>
					<configuration>
						<archive>
							<manifest>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
							</manifest>
							<manifestEntries>
								<Built-By>${build.by}</Built-By>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>

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

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${mvn.javadocplugin.version}</version>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<windowtitle>PaginationFX ${project.version}</windowtitle>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>${mvn.gpgplugin.version}</version>
					<executions>
						<execution>
							<id>sign-artifacts</id>
							<phase>verify</phase>
							<goals>
								<goal>sign</goal>
							</goals>
							<configuration>
								<keyname>${gpg.keyname}</keyname>
								<passphraseServerId>${gpg.keyname}</passphraseServerId>
							</configuration>
						</execution>
					</executions>
				</plugin>

			</plugins>

		</pluginManagement>

		<plugins>

			<plugin>
				<groupId>org.projectlombok</groupId>
				<artifactId>lombok-maven-plugin</artifactId>
			</plugin>

		</plugins>

	</build>

</project>