<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>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<groupId>io.github.jmtanguy</groupId>
	<artifactId>docking-frames-base</artifactId>
	<version>2.0.0</version>
	<packaging>pom</packaging>

	<modules>

		<module>docking-frames-core</module>
		<module>docking-frames-common</module>
		<module>docking-frames-ext-toolbar</module>
		<module>docking-frames-ext-toolbar-common</module>
		<module>docking-frames-ext-css-theme</module>

		<!-- TODO ask Steffen Kux, software@kuxfamily.de to publish glasslib.jar
			on maven -->
		<module>docking-frames-ext-glass</module>

		<!-- TODO activate this later -->

		<module>docking-frames-demo-app-ice</module>
		<module>docking-frames-demo-chess</module>
		<module>docking-frames-demo-layouts</module>
		<module>docking-frames-demo-notes</module>
		<module>docking-frames-demo-paint</module>
		<module>docking-frames-demo-size-and-color</module>

		<module>docking-frames-demo-tutorial</module>
		<module>docking-frames-ext-toolbar-tutorial</module>
	</modules>

	<name>${project.artifactId}</name>
	<description>${project.name}</description>

	<!-- TODO is this correct? -->
	<url>http://www.docking-frames.org//</url>

	<!-- TODO is this correct? -->
	<organization>
		<name>Docking Frames</name>
		<url>http://www.docking-frames.org</url>
	</organization>

	<scm>
		<url>https://github.com/jmtanguy/dockingframes-sunshine</url>
		<connection>scm:git:git://github.com/jmtanguy/dockingframes-sunshine.git</connection>
		<developerConnection>scm:git:git@github.com:jmtanguy/dockingframes-sunshine.git</developerConnection>
	</scm>

	<licenses>
		<license>
			<name>GNU Lesser General Public License, version 2.1</name>
			<url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>benjamin_sigg@gmx.ch</id>
			<email>benjamin_sigg@gmx.ch</email>
			<name>Benjamin Sigg</name>
			<properties>
				<credits>the creator</credits>
			</properties>
			<roles>
				<role>owner</role>
			</roles>
		</developer>
		<developer>
			<id>Janni Kovacs</id>
			<email>Janni Kovacs</email>
			<name>Janni Kovacs</name>
			<properties>
				<credits>By finding bugs I didn't imagine that they even could
					exist, by asking for features I considered nonsense, by writing the
					first StackDockComponent, and by having a critical question for
					every change I made.By writing the initial version of the
					EclipseTheme.</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>Ivan Seidl</id>
			<email>Ivan Seidl</email>
			<name>Ivan Seidl</name>
			<properties>
				<credits>By helping me understand, how hard it is to get into
					DockingFrames without proper tutorials or guides. By contributing a
					new set of icons for the BubbleTheme.</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>scrnick</id>
			<email>scrnick</email>
			<name>scrnick</name>
			<properties>
				<credits>By being the first one writing a non-trivial patch.
				</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>Parag Shah</id>
			<email>Parag Shah</email>
			<name>Parag Shah</name>
			<properties>
				<credits>By contributing a new split-layout-manager (which will be
					made available in v1.0.7).</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>Steffen Kux</id>
			<email>Steffen Kux</email>
			<name>Steffen Kux</name>
			<properties>
				<credits>Steffen wrote a library producing glass effects, this
					library was used by Thomas.</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>Thomas Hilbert</id>
			<email>Thomas Hilbert</email>
			<name>Thomas Hilbert</name>
			<properties>
				<credits>Thomas wrote a new fancy tab for the EclipseTheme. He also
					provided a new set of icons for the EclipseTheme.</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>andrei.pozolotin@gmail.com</id>
			<email>andrei.pozolotin@gmail.com</email>
			<name>Andrei Pozolotin</name>
			<properties>
				<credits>converted project to maven and published to central repo</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>krijnschaap@gmail.com</id>
			<email>krijnschaap@gmail.com</email>
			<name>Krijn Schaap</name>
			<properties>
				<credits>Maintenance of maven build system</credits>
			</properties>
			<roles>
				<role>contributor</role>
			</roles>
		</developer>
		<developer>
			<id>tanguy.studio@hotmail.com</id>
			<email>tanguy.studio@hotmail.com</email>
			<name>JM Tanguy</name>
			<properties>
				<credits>Fork du projet</credits>
			</properties>
			<roles>
				<role>maintainer</role>
			</roles>
		</developer>
	</developers>

	<properties>
		<javaVersion>17</javaVersion>
		<maven.compiler.release>${javaVersion}</maven.compiler.release>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
	</properties>

	<distributionManagement>
		<repository>
			<id>central</id>
			<url>https://central.sonatype.com/api/v1/publisher/upload</url>
		</repository>
	</distributionManagement>

	<build>
		<finalName>${project.artifactId}</finalName>


		<!-- TODO change to maven convention src/main/java; then remove this -->
		<sourceDirectory>src</sourceDirectory>

		<!-- TODO change to maven convention src/main/resources; then remove this -->
		<resources>
			<resource>
				<directory>src</directory>
				<includes>
					<include>data/**/*.*</include>
				</includes>
			</resource>
		</resources>

		<testSourceDirectory>testing</testSourceDirectory>

		<pluginManagement>

			<plugins>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>2.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-scm-plugin</artifactId>
					<version>1.9.5</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.11.0</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.1</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>wagon-maven-plugin</artifactId>
					<version>1.0-beta-3</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.8.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>

				<plugin>
					<groupId>com.coderplus.maven.plugins</groupId>
					<artifactId>copy-rename-maven-plugin</artifactId>
					<version>1.0</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>

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

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

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

				<plugin>
					<groupId>org.sonatype.central</groupId>
					<artifactId>central-publishing-maven-plugin</artifactId>
					<version>0.6.0</version>
				</plugin>

			</plugins>

		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<addMavenDescriptor>false</addMavenDescriptor>
						<manifest>
							<classpathLayoutType>custom</classpathLayoutType>
							<customClasspathLayout>$${artifact.artifactId}.$${artifact.extension}</customClasspathLayout>
							<addClasspath>true</addClasspath>
						</manifest>
					</archive>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.sonatype.central</groupId>
				<artifactId>central-publishing-maven-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<publishingServerId>central</publishingServerId>
					<autoPublish>true</autoPublish>
				</configuration>
			</plugin>
		</plugins>

	</build>

	<profiles>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<quiet>true</quiet>
							<verbose>false</verbose>
							<links>
								<link>https://docs.oracle.com/en/java/javase/17/docs/api/</link>
								<show>public</show>
							</links>
							<excludePackageNames>bibliothek.gui.dock.station.split.layout</excludePackageNames>
							<failOnError>false</failOnError>
						</configuration>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<gpgArguments>
										<arg>--pinentry-mode</arg>
										<arg>loopback</arg>
									</gpgArguments>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<reporting>

		<!-- TODO generate & publish full project site -->

		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.9</version>
				<reportSets>
					<reportSet>
						<reports>
							<report>index</report>
							<report>summary</report>
							<report>dependencies</report>
							<report>project-team</report>
							<report>license</report>
							<report>issue-tracking</report>
							<report>mailing-list</report>
							<report>scm</report>
						</reports>
					</reportSet>
				</reportSets>
				<configuration>
					<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<linkJavadoc>true</linkJavadoc>
					<!-- <javadocDir>/path/to/javadocs</javadocDir> -->
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.6.3</version>
				<configuration>
					<quiet>true</quiet>
					<verbose>false</verbose>
					<links>
						<link>https://docs.oracle.com/en/java/javase/17/docs/api/</link>
						<show>public</show>
					</links>
					<excludePackageNames>bibliothek.gui.dock.station.split.layout</excludePackageNames>
					<failOnError>false</failOnError>
				</configuration>
				<reportSets>
					<reportSet>
						<reports>
							<report>javadoc</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>

			<!-- <plugin> -->
			<!-- <groupId>org.apache.maven.plugins</groupId> -->
			<!-- <artifactId>maven-surefire-report-plugin</artifactId> -->
			<!-- <version>2.6</version> -->
			<!-- <reportSets> -->
			<!-- <reportSet> -->
			<!-- <reports> -->
			<!-- <report>report-only</report> -->
			<!-- </reports> -->
			<!-- </reportSet> -->
			<!-- </reportSets> -->
			<!-- </plugin> -->

			<!-- <plugin> -->
			<!-- <groupId>org.apache.maven.plugins</groupId> -->
			<!-- <artifactId>maven-checkstyle-plugin</artifactId> -->
			<!-- <version>2.5</version> -->
			<!-- <configuration> -->
			<!-- <configLocation>checkstyle/checkstyle_checks.xml</configLocation> -->
			<!-- </configuration> -->
			<!-- </plugin> -->

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.3.1</version>
			</plugin>

		</plugins>

	</reporting>

</project>
