<?xml version="1.0" encoding="UTF-8"?>
<!--
	========================================================================
	PlantUML : a free UML diagram generator
	========================================================================
	(C) Copyright 2009, Arnaud Roques

	Project Info:  http://plantuml.sourceforge.net

	This file is part of PlantUML.

	PlantUML is free software; you can redistribute it and/or modify it
	under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	PlantUML distributed in the hope that it will be useful, but
	WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
	or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
	License for more details.

	You should have received a copy of the GNU General Public
	License along with this library; if not, write to the Free Software
	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
	USA.

	[Java is a trademark or registered trademark of Sun Microsystems, Inc.
	in the United States and other countries.]

	Script Author: Julien Eluard

-->
<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.sourceforge.plantuml</groupId>
  <artifactId>plantuml</artifactId>
  <version>1.2022.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>PlantUML</name>
  <description>
      PlantUML is a component that allows to quickly write :
        * sequence diagram,
        * use case diagram,
        * class diagram,
        * activity diagram,
        * component diagram,
        * state diagram
        * object diagram
    </description>
  <url>https://plantuml.com</url>
  <parent>
    <!-- TODO remove oss-parent https://central.sonatype.org/publish/publish-maven/#deprecated-oss-parent -->
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
  </parent>
  <properties>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <main.class>net.sourceforge.plantuml.Run</main.class>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>5.8.2</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
      <version>1.10.12</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <version>3.22.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.scilab.forge</groupId>
      <artifactId>jlatexmath</artifactId>
      <version>1.0.7</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <licenses>
    <license>
      <name>The GNU General Public License</name>
      <url>http://www.gnu.org/licenses/gpl.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:svn:svn://svn.code.sf.net/p/plantuml/code/trunk</connection>
    <developerConnection>scm:svn:https://svn.code.sf.net/p/plantuml/code/trunk</developerConnection>
    <url>svn://svn.code.sf.net/p/plantuml/code/trunk</url>
  </scm>
  <issueManagement>
    <system>Sourceforge</system>
    <url>http://sourceforge.net/tracker/?group_id=259736</url>
  </issueManagement>
  <developers>
    <developer>
      <id>arnaud.roques</id>
      <name>Arnaud Roques</name>
      <email>plantuml@gmail.com</email>
    </developer>
  </developers>
  <build>
    <finalName>${finalName}</finalName>
    <sourceDirectory>${project.basedir}/src</sourceDirectory>
    <testSourceDirectory>${project.basedir}/test</testSourceDirectory>
    <resources>
      <resource>
        <directory>${project.basedir}/src</directory>
        <includes>
          <include>net/sourceforge/plantuml/version/*.png</include>
          <include>net/sourceforge/plantuml/openiconic/data/*.txt</include>
          <include>net/sourceforge/plantuml/openiconic/data/*.svg</include>
          <include>net/sourceforge/plantuml/emoji/data/*.txt</include>
          <include>net/sourceforge/plantuml/emoji/data/*.svg</include>
          <include>net/sourceforge/plantuml/fun/*.png</include>
          <include>sprites/archimate/*.png</include>
          <include>net/sourceforge/plantuml/dedication/*.png</include>
          <include>net/sourceforge/plantuml/math/*.js</include>
          <include>net/sourceforge/plantuml/windowsdot/*.dat</include>
          <include>net/sourceforge/plantuml/utils/*.txt</include>
        </includes>
      </resource>
      <resource>
        <directory>${project.basedir}</directory>
        <includes>
          <include>stdlib/**/*.repx</include>
          <include>skin/**/*.skin</include>
          <include>themes/**/*.puml</include>
          <include>svg/**/*.css</include>
          <include>svg/**/*.js</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.9.0</version>
        <configuration>
          <debug>true</debug>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.2.0</version>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.2.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.3.1</version>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <additionalJOptions>
                <additionalJOption>-Xmaxwarns</additionalJOption>
                <additionalJOption>1</additionalJOption>
              </additionalJOptions>
              <doclint>none</doclint>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
          <archive>
            <manifestFile>manifest.txt</manifestFile>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M5</version>
        <configuration>
          <environmentVariables>
            <PLANTUML_SECURITY_PROFILE>UNSECURE</PLANTUML_SECURITY_PROFILE>
          </environmentVariables>
          <systemPropertyVariables>
            <java.awt.headless>true</java.awt.headless>
          </systemPropertyVariables>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
          <mavenExecutorId>forked-path</mavenExecutorId>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>2.9.0</version>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <!-- set the release flag only for jdk which do support it, plantuml should keep running with java8. -->
      <id>javac-release-flag</id>
      <activation>
        <jdk>[9,)</jdk>
      </activation>
      <properties>
        <maven.compiler.release>8</maven.compiler.release>
      </properties>
    </profile>
    <profile>
      <id>javac-source-flag</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <!-- maven-compiler-plugin source default with 3.9.0 is still 1.7, so set it for java8. -->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
      </properties>
    </profile>
    <profile>
      <id>pdf</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <archive>
                <manifest>
                  <mainClass>${main.class}</mainClass>
                </manifest>
              </archive>
            </configuration>
            <executions>
              <execution>
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <dependencies>
        <dependency>
          <groupId>org.apache.xmlgraphics</groupId>
          <artifactId>fop</artifactId>
          <version>2.7</version>
        </dependency>
        <dependency>
          <groupId>org.apache.xmlgraphics</groupId>
          <artifactId>batik-all</artifactId>
          <version>1.14</version>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>sign-artifacts</id>
      <activation>
        <property>
          <name>env.SIGN_ARTIFACTS</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
