<?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>net.finmath</groupId>
	<artifactId>finmath-lib-plot-extensions</artifactId>
	<version>0.5.7</version>
	<packaging>jar</packaging>

	<name>finmath lib plot extensions</name>
	<description>
		finmath lib plot extensions provide convenient
		plotting methods by providing consistent wrappers
		to plot libraries (like JFreeChart or JavaFX).
	</description>
	<url>http://www.finmath.net/finmath-lib-plot-extensions</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<src.main.java.dir>src/main/java</src.main.java.dir>
		<src.test.java.dir>src/test/java</src.test.java.dir>
		<envSource>11</envSource>
		<!-- libs -->
		<finmath-lib.version>6.0.19</finmath-lib.version>
		<commons-math.version>3.6.1</commons-math.version>
		<commons-lang.version>3.10</commons-lang.version>
		<jfreechart.version>1.5.2</jfreechart.version>
		<junit.version>5.6.2</junit.version>
		<!-- maven plugins -->
		<maven.compiler-plugin.version>3.8.1</maven.compiler-plugin.version>
		<maven.surefire-plugin.version>3.0.0-M5</maven.surefire-plugin.version>
		<maven.surefire-report-plugin.version>3.0.0-M5</maven.surefire-report-plugin.version>
		<maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
		<maven-central-publishing-maven.version>0.8.0</maven-central-publishing-maven.version>
		<maven-buildnumber-maven-plugin.version>1.4</maven-buildnumber-maven-plugin.version>
		<javadoc-plugin.version>3.2.0</javadoc-plugin.version>
		<jar-plugin.version>3.2.0</jar-plugin.version>
		<source-plugin.version>3.2.1</source-plugin.version>
		<site-plugin.version>3.9.0</site-plugin.version>
		<checkstyle-plugin.version>3.1.1</checkstyle-plugin.version>
		<clover-plugin.version>4.4.1</clover-plugin.version>
		<maven-project-info-reports-plugin.version>3.0.0</maven-project-info-reports-plugin.version>
		<maven-scm-publish-plugin.version>3.0.0</maven-scm-publish-plugin.version>
		<maven-release-plugin.version>2.5.3</maven-release-plugin.version>
	</properties>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<organization>
		<name>finmath.net</name>
		<url>http://finmath.net</url>
	</organization>

	<developers>
		<developer>
			<id>fries</id>
			<name>Christian Fries</name>
			<email>email@christian-fries.de</email>
			<url>http://www.christian-fries.de</url>
			<timezone>1</timezone>
		</developer>
	</developers>

	<dependencies>
		<!-- Java FX -->
		<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-base -->
		<dependency>
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-base</artifactId>
			<version>19</version>
		</dependency>
		<dependency>
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-controls</artifactId>
			<version>19</version>
		</dependency>
		<dependency>
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-swing</artifactId>
			<version>19</version>
		</dependency>

		<dependency>
			<groupId>org.jfree</groupId>
			<artifactId>jfreechart</artifactId>
			<version>${jfreechart.version}</version>
		</dependency>

		<!-- SVG and PDF -->

		<dependency>
		  <groupId>org.apache.xmlgraphics</groupId>
		  <artifactId>batik-all</artifactId>
		  <version>1.17</version>
		</dependency>

		<dependency>
		<groupId>org.apache.xmlgraphics</groupId>
			<artifactId>fop</artifactId>
			<version>2.9</version>
		</dependency>

		<!-- Math (for demos) -->
		
		<dependency>
			<groupId>net.finmath</groupId>
			<artifactId>finmath-lib</artifactId>
			<version>${finmath-lib.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-math3</artifactId>
			<version>${commons-math.version}</version>
		</dependency>

		<!-- Testing -->
		
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.jogamp.jogl/jogl-all-main -->
		<dependency>
			<groupId>org.jogamp.jogl</groupId>
			<artifactId>jogl-all</artifactId>
			<version>2.3.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.jogamp.jogl/newt-main -->
		<dependency>
			<groupId>org.jogamp.gluegen</groupId>
			<artifactId>gluegen-rt-main</artifactId>
			<version>2.3.2</version>
		</dependency>

	</dependencies>

	<build>
		<defaultGoal>clean install javadoc:javadoc</defaultGoal>
		<finalName>${project.artifactId}-${project.version}</finalName>
		<sourceDirectory>${src.main.java.dir}</sourceDirectory>
		<testSourceDirectory>${src.test.java.dir}</testSourceDirectory>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven.compiler-plugin.version}</version>
				<configuration>
					<release>11</release>
					<source>11</source>
					<target>11</target>
				</configuration>
			</plugin>

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

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc-plugin.version}</version>
				<configuration>
					<source>${envSource}</source>
					<doctitle>${project.name} (${project.version}) documentation</doctitle>
					<stylesheetfile>stylesheet.css</stylesheetfile>
					<docfilessubdirs>true</docfilessubdirs>
					<header>
			   			<![CDATA[
						<span class="logo-white">finMath</span><span class="logo-red"> lib plot-extensions</span> documentation
						<script type="text/javascript" src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
			   			]]>
					</header>
					<footer>
			   			<![CDATA[
						<i>Copyright &copy; 2022 Christian&nbsp;P.&nbsp;Fries.</i>
			   			]]>
					</footer>
					<tags>
						<tag>
							<name>TODO</name>
							<placement>a</placement>
							<head>To dos:</head>
						</tag>
						<tag>
							<name>date</name>
							<placement>a</placement>
							<head>Date:</head>
						</tag>
					</tags>
					<links>
					</links>
					<detectLinks>false</detectLinks>
					<additionalOptions>
						<additionalOption>--allow-script-in-comments</additionalOption>
					</additionalOptions>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven.surefire-plugin.version}</version>
				<configuration>
					<forkCount>1</forkCount>
					<reuseForks>false</reuseForks>
					<argLine>-mx6G</argLine>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>${checkstyle-plugin.version}</version>
				<configuration>
					<configLocation>finmath-checkstyle.xml</configLocation>
					<excludes>**/module-info.java</excludes>
				</configuration>
			</plugin>

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

			<!-- Publish the site to GitHub gh-pages: use mvn site site:deploy site-deploy -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>${site-plugin.version}</version>
				<configuration>
					<skipDeploy>true</skipDeploy>
				</configuration>
				<dependencies>
					<dependency>
						<!-- add support for ssh/scp -->
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-ssh</artifactId>
						<version>3.3.4</version>
					</dependency>
					<dependency>
						<groupId>org.apache.maven.doxia</groupId>
						<artifactId>doxia-module-markdown</artifactId>
						<version>1.9</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<executions>
					<execution>
						<id>stage-for-scm-publish</id>
						<phase>post-site</phase>
						<goals>
							<goal>stage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-scm-publish-plugin</artifactId>
				<version>${maven-scm-publish-plugin.version}</version>
				<configuration>
					<scmBranch>gh-pages</scmBranch>
				</configuration>
				<executions>
					<execution>
						<id>scm-publish</id>
						<phase>site-deploy</phase>
						<goals>
							<goal>publish-scm</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<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>
				<groupId>org.sonatype.central</groupId>
				<artifactId>central-publishing-maven-plugin</artifactId>
				<version>${maven-central-publishing-maven.version}</version>
				<extensions>true</extensions>
				<configuration>
					<publishingServerId>central</publishingServerId>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<version>${maven-buildnumber-maven-plugin.version}</version>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>create</goal>
						</goals>
					</execution>
				</executions>
				<!-- Allow local modifications. The build number is reliable only in 
					releases obtained via Maven central. -->
				<configuration>
					<doCheck>false</doCheck>
					<doUpdate>false</doUpdate>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc-plugin.version}</version>
				<configuration>
					<source>${envSource}</source>
					<doctitle>${project.name} (${project.version}) documentation</doctitle>
					<stylesheetfile>stylesheet.css</stylesheetfile>
					<docfilessubdirs>true</docfilessubdirs>
					<header>
			   			<![CDATA[
						<span class="logo-white">finMath</span><span class="logo-red"> lib plot-extensions</span> documentation
						<script type="text/javascript" src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
			   			]]>
					</header>
					<footer>
			   			<![CDATA[
						<i>Copyright &copy; 2022 Christian&nbsp;P.&nbsp;Fries.</i>
			   			]]>
					</footer>
					<tags>
						<tag>
							<name>TODO</name>
							<placement>a</placement>
							<head>To dos:</head>
						</tag>
						<tag>
							<name>date</name>
							<placement>a</placement>
							<head>Date:</head>
						</tag>
					</tags>
					<links>
					</links>
					<detectLinks>false</detectLinks>
					<additionalOptions>
						<additionalOption>--allow-script-in-comments</additionalOption>
					</additionalOptions>
				</configuration>
				<reportSets>
					<reportSet>
						<reports>
							<report>javadoc</report>
							<!-- <report>test-javadoc</report> -->
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
			<plugin>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>${maven-project-info-reports-plugin.version}</version>
				<reportSets>
					<reportSet>
						<reports>
							<!-- <report>index</report> -->
							<report>summary</report>
							<report>scm</report>
							<report>distribution-management</report>
							<report>dependency-info</report>
							<report>dependencies</report>
							<report>issue-management</report>
							<report>ci-management</report>
							<report>licenses</report>
							<report>team</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
				<version>${maven.surefire-report-plugin.version}</version>
			</plugin>
			<plugin>
				<groupId>org.openclover</groupId>
				<artifactId>clover-maven-plugin</artifactId>
				<version>${clover-plugin.version}</version>
				<configuration>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>${checkstyle-plugin.version}</version>
				<configuration>
					<configLocation>finmath-checkstyle.xml</configLocation>
					<excludes>**/module-info.java</excludes>
				</configuration>
				<reportSets>
					<reportSet>
						<reports>
							<report>checkstyle</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>

	<repositories>
		<repository>
			<id>jzy3d-snapshots</id>
			<name>Jzy3d Snapshots</name>
			<url>http://maven.jzy3d.org/snapshots</url>
		</repository>
		<repository>
			<id>jzy3d-releases</id>
			<name>Jzy3d Releases</name>
			<url>http://maven.jzy3d.org/releases</url>
		</repository>
	</repositories>

	<distributionManagement>
		<site>
			<id>github</id>
			<url>scm:git:https://github.com/finmath/finmath-lib-plot-extensions.git</url>
		</site>
		<!-- <site> <id>finmath-site</id> <url>scp://www.finmath.net/var/www/vhosts/finmath.net/httpdocs/finmath-lib-plot-extensions/</url> 
			</site> -->
	</distributionManagement>

	<scm>
		<url>https://github.com/finmath/finmath-lib-plot-extensions</url>
		<connection>scm:git:https://github.com/finmath/finmath-lib-plot-extensions.git</connection>
		<developerConnection>scm:git:https://github.com/finmath/finmath-lib-plot-extensions.git</developerConnection>
		<tag>finmath-lib-plot-extensions-0.5.7</tag>
	</scm>
</project>
