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

    <parent>
        <groupId>org.symphonyoss</groupId>
        <artifactId>symphonyoss</artifactId>
        <version>2</version>
    </parent>

    <groupId>org.symphonyoss.symphony</groupId>
    <artifactId>messageml</artifactId>
    <version>0.9.76</version>
    <name>MessageML Utils</name>
    <url>https://github.com/symphonyoss/messageml-utils</url>
    <description>A set of utilities for parsing, processing and rendering of MessageML messages</description>

    <!--
  ~
  ~ Copyright 2016 The Symphony Software Foundation
  ~
  ~ Licensed to The Symphony Software Foundation (SSF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The SSF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

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

    <scm>
        <connection>scm:git:git://github.com/symphonyoss/messageml-utils.git</connection>
        <developerConnection>scm:git:https://github.com/symphonyoss/messageml-utils.git</developerConnection>
        <url>https://github.com/symphonyoss/messageml-utils</url>
        <tag>messageml-0.9.76</tag>
    </scm>

    <developers>
        <developer>
            <id>ldrozdz</id>
            <name>Łukasz Dróżdż</name>
            <email>lukasz@symphony.com</email>
            <url>http://github.com/ldrozdz</url>
            <organization>Symphony Communication Services LLC</organization>
            <organizationUrl>http://symphony.com</organizationUrl>
            <roles>
                <role>Senior Developer Platform</role>
            </roles>
        </developer>
        <developer>
            <id>bruceskingle</id>
            <name>Bruce Skingle</name>
            <email>bruce.skingle@symphony.com</email>
            <url>http://github.com/bruceskingle</url>
            <organization>Symphony Communication Services LLC</organization>
            <organizationUrl>http://symphony.com</organizationUrl>
            <roles>
                <role>Principal Software Engineer</role>
            </roles>
        </developer>
        <developer>
            <id>cristiadu</id>
            <name>Cristiano Faustino</name>
            <email>cristiano.faustino@symphony.com</email>
            <url>http://github.com/cristiadu</url>
            <organization>Symphony Communication Services LLC</organization>
            <organizationUrl>http://symphony.com</organizationUrl>
            <roles>
                <role>Software Developer</role>
            </roles>
        </developer>
        <developer>
            <id>miltongq</id>
            <name>Milton Gonçalves Quilzini</name>
            <email>mquilzini@symphony.com</email>
            <url>http://github.com/miltongq</url>
            <organization>Symphony Communication Services LLC</organization>
            <organizationUrl>http://symphony.com</organizationUrl>
            <roles>
                <role>Software Developer</role>
            </roles>
        </developer>
    </developers>

    <contributors>
        <contributor>
            <name>Daniel Nathanson</name>
            <email>daniel.nathanson@symphony.com</email>
            <organization>Symphony Communication Services LLC</organization>
            <roles>
                <role>Senior Director Platform Engineering</role>
            </roles>
        </contributor>
    </contributors>

    <properties>
        <json.schema.validator.version>2.2.14</json.schema.validator.version>
        <jackson.version>2.10.1</jackson.version>
        <jackson.databind.version>2.10.5.1</jackson.databind.version>
        <commons.io.version>2.10.0</commons.io.version>
        <commons.lang3.version>3.12.0</commons.lang3.version>
        <freemarker.version>2.3.31</freemarker.version>
        <commonmark.version>0.15.1</commonmark.version>
        <mozilla.rhino.version>1.7.12</mozilla.rhino.version>
        <junit.version>4.13.2</junit.version>
        <junit.jupiter.params.version>5.7.1</junit.jupiter.params.version>
        <mockito.version>3.11.2</mockito.version>
        <slf4j.version>1.7.31</slf4j.version>
        <jmh.version>1.32</jmh.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.jar.version>3.1.2</maven.jar.version>
    </properties>

    <profiles>
        <profile>
            <id>disable-java8-doclint</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <additionalparam>-Xdoclint:none</additionalparam>
            </properties>
        </profile>
        <profile>
            <id>sonar</id>
            <activation>
                <!-- Automatically run Sonar when credentials are set, i.e master branch, internal PRs -->
                <property>
                    <name>env.SONAR_LOGIN</name>
                </property>
            </activation>
            <properties>
                <sonar.projectKey>symphonyoss_messageml-utils</sonar.projectKey>
                <sonar.organization>finos-symphonyoss</sonar.organization>
                <sonar.host.url>https://sonarcloud.io</sonar.host.url>
                <sonar.login>${env.SONAR_LOGIN}</sonar.login>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>${maven.jar.version}</version>
                        <configuration>
                            <archive>
                                <manifest>
                                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                </manifest>
                                <manifestEntries>
                                    <Implementation-Title>${project.name}</Implementation-Title>
                                    <Implementation-Version>${project.version}</Implementation-Version>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </plugin>
                    <!-- Configure Jacoco to report coverage in Sonar -->
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>report</id>
                                <phase>prepare-package</phase>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.sonarsource.scanner.maven</groupId>
                        <artifactId>sonar-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>sonar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh-distro</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-release-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>com.github.java-json-tools</groupId>
            <artifactId>json-schema-validator</artifactId>
            <version>${json.schema.validator.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mozilla</groupId>
                    <artifactId>rhino</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mozilla</groupId>
            <artifactId>rhino</artifactId>
            <version>${mozilla.rhino.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.databind.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${commons.io.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons.lang3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>${freemarker.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>com.atlassian.commonmark</groupId>
            <artifactId>commonmark</artifactId>
            <version>${commonmark.version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>${junit.jupiter.params.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-core</artifactId>
            <version>${jmh.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-generator-annprocess</artifactId>
            <version>${jmh.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <!-- Use recent versions of the plugins -->
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.6</version>
                </plugin>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>3.7.0.1746</version>
                </plugin>
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-staging-maven-plugin</artifactId>
                    <version>1.6.8</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
