<?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>

	<!-- For publishing to sonatype / central maven repo -->
	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<groupId>net.finmath</groupId>
	<artifactId>finmath-lib-plot-extensions</artifactId>
	<version>0.3.3</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>
		<!-- libs -->
		<finmath-lib.version>4.1.7</finmath-lib.version>
		<junit.version>4.12</junit.version>
		<!-- maven plugins -->
		<surefire.version>3.0.0-M4</surefire.version>
		<javadoc.version>3.0.1</javadoc.version>
		<checkstyle.version>3.1.1</checkstyle.version>
		<clover.version>4.4.1</clover.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>11.0.2</version>
		</dependency>
		<dependency>
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-controls</artifactId>
			<version>11.0.2</version>
		</dependency>
		<dependency>
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-swing</artifactId>
			<version>11.0.2</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jfree</groupId>
			<artifactId>jfreechart</artifactId>
			<version>1.5.0</version>
		</dependency>
		<dependency>
			<groupId>org.jzy3d</groupId>
			<artifactId>jzy3d-api</artifactId>
			<version>1.0.1</version>
		</dependency>
		<dependency>
			<groupId>com.itextpdf</groupId>
			<artifactId>itextpdf</artifactId>
			<version>5.5.13</version>
		</dependency>
		<dependency>
			<groupId>org.jfree</groupId>
			<artifactId>jfreesvg</artifactId>
			<version>3.3</version>
		</dependency>

		<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>3.6.1</version>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>28.2-jre</version>
		</dependency>

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

	<build>
		<defaultGoal>clean install</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>3.8.1</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>3.0.1</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.version}</version>
				<configuration>
					<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; 2020 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>${surefire.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.version}</version>
				<configuration>
					<configLocation>finmath-checkstyle.xml</configLocation>
			        <excludes>**/module-info.java</excludes>
				</configuration>
			</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>3.8.2</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>
						<configuration>
							<skipDeploy>false</skipDeploy><!-- MSITE-652: configuration won't 
								be necessary with m-site-p 3.2 -->
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-scm-publish-plugin</artifactId>
				<version>3.0.0</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.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>create</goal>
						</goals>
					</execution>
				</executions>
				<!-- We 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.version}</version>
				<configuration>
					<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; 2020 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>
			</plugin>
			<plugin>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>3.0.0</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>${surefire.version}</version>
			</plugin>
			<plugin>
				<groupId>org.openclover</groupId>
				<artifactId>clover-maven-plugin</artifactId>
				<version>${clover.version}</version>
				<configuration>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>${checkstyle.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>
	</scm>
</project>
