Pom of com.github.robozonky:robozonky:4.1.0

Back to com.github.robozonky:robozonky:4.1.0

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2017 The RoboZonky Project
  ~
  ~ Licensed 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.
  -->

<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>com.github.robozonky</groupId>
  <artifactId>robozonky</artifactId>
  <version>4.1.0</version>
  <modules>
    <module>robozonky-api</module>
    <module>robozonky-app</module>
    <module>robozonky-integration-zonkoid</module>
    <module>robozonky-notifications</module>
    <module>robozonky-extensions</module>
    <module>robozonky-marketplaces</module>
    <module>robozonky-installer</module>
    <module>robozonky-common</module>
    <module>robozonky-strategy-natural</module>
    <module>robozonky-test</module>
  </modules>
  <packaging>pom</packaging>
  <name>RoboZonky: Easy automated investing with Zonky</name>
  <description>Automated investing on Zonky. Define investment strategy, run, profit.</description>
  <url>http://www.robozonky.cz/</url>

  <properties>
    <project.automatic.module.name>${project.groupId}.${project.artifactId}</project.automatic.module.name>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <surefire.version>2.20.1</surefire.version>
    <version.org.jboss.resteasy>3.1.4.Final</version.org.jboss.resteasy>
    <version.org.slf4j>1.7.25</version.org.slf4j>
    <version.org.antlr>4.7</version.org.antlr>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-test</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-marketplaces</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-strategy-natural</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-integration-zonkoid</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-notifications</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-app</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-app</artifactId>
        <version>${project.version}</version>
        <classifier>dist</classifier>
        <type>zip</type>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-installer</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky.installer</groupId>
        <artifactId>robozonky-installer-panels</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky.installer</groupId>
        <artifactId>robozonky-installer-panels</artifactId>
        <version>${project.version}</version>
        <classifier>jar-with-dependencies</classifier>
      </dependency>
      <dependency>
        <groupId>com.github.robozonky</groupId>
        <artifactId>robozonky-extensions</artifactId>
        <version>${project.version}</version>
      </dependency>
      <!-- RESTEasy -->
      <dependency>
        <groupId>org.jboss.spec.javax.ws.rs</groupId>
        <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
        <version>1.0.1.Beta1</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>${version.org.jboss.resteasy}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson2-provider</artifactId>
        <version>${version.org.jboss.resteasy}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${version.org.jboss.resteasy}</version>
        <exclusions>
          <exclusion> <!-- needs to be replaced by SLF4J -->
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.3</version>
        <exclusions>
          <exclusion> <!-- needs to be replaced by SLF4J -->
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
      </dependency>
      <!-- Email notifications -->
      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.27-incubating</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.4</version>
      </dependency>
      <dependency>
        <groupId>com.icegreen</groupId>
        <artifactId>greenmail</artifactId>
        <version>1.5.5</version>
        <scope>test</scope>
      </dependency>
      <!-- Java 9 does not open this anymore -->
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.3.0</version>
      </dependency>
      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
      </dependency>
      <!-- Misc -->
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4-runtime</artifactId>
        <version>${version.org.antlr}</version>
      </dependency>
      <dependency> <!-- RoboZonky version comparisons -->
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-artifact</artifactId>
        <version>3.3.9</version>
      </dependency>
      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>1.72</version>
      </dependency>
      <dependency>
        <groupId>org.ini4j</groupId>
        <artifactId>ini4j</artifactId>
        <version>0.5.4</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.5</version>
      </dependency>
      <!-- testing -->
      <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>4.12.0-RC3</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>2.10.0</version>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.8.0</version>
      </dependency>
      <dependency>
        <groupId>com.github.stefanbirkner</groupId>
        <artifactId>system-rules</artifactId>
        <version>1.16.1</version>
      </dependency>
      <dependency>
        <groupId>org.mock-server</groupId>
        <artifactId>mockserver-netty</artifactId>
        <version>3.10.4</version>
        <exclusions> <!-- Was messing up tests -->
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- Logging -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>
      <dependency> <!-- commons-logging needs to be excluded everywhere in favor of this -->
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-gpg-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-pmd-plugin</artifactId>
        <executions>
          <execution>
            <id>fail-on-pmd</id>
            <goals>
              <goal>check</goal>
              <goal>cpd-check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <aggregate>true</aggregate>
          <minimumPriority>2</minimumPriority>
          <rulesets>
            <ruleset>/rulesets/java/basic.xml</ruleset>
            <ruleset>/rulesets/java/coupling.xml</ruleset>
            <ruleset>/rulesets/java/empty.xml</ruleset>
            <ruleset>/rulesets/java/imports.xml</ruleset>
            <ruleset>/rulesets/java/junit.xml</ruleset>
            <ruleset>/rulesets/java/optimizations.xml</ruleset>
            <ruleset>/rulesets/java/sunsecure.xml</ruleset>
            <ruleset>/rulesets/java/typeresolution.xml</ruleset>
            <ruleset>/rulesets/java/unnecessary.xml</ruleset>
            <ruleset>/rulesets/java/unusedcode.xml</ruleset>
          </rulesets>
          <excludes> <!-- skip generated -->
            <exclude>**/*Lexer*</exclude>
            <exclude>**/*Parser*</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <configuration>
          <effort>Max</effort>
          <threshold>High</threshold>
        </configuration>
        <executions>
          <execution>
            <id>fail-on-findbugs</id>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.pitest</groupId>
        <artifactId>pitest-maven</artifactId>
        <executions>
          <execution>
            <id>fail-on-coverage</id>
            <phase>post-integration-test</phase>
            <goals>
              <goal>mutationCoverage</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.antlr</groupId>
          <artifactId>antlr4-maven-plugin</artifactId>
          <version>${version.org.antlr}</version>
          <executions>
            <execution>
              <id>antlr</id>
              <goals>
                <goal>antlr4</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
          <configuration>
            <archive>
              <manifest> <!-- Will be used to read RoboZonky version at runtime code -->
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
              </manifest>
              <manifestEntries> <!-- Stable automatic module name on Java 9 -->
                <Automatic-Module-Name>${project.automatic.module.name}</Automatic-Module-Name>
              </manifestEntries>
            </archive>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>test-jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.3</version>
          <configuration>
            <autoVersionSubmodules>true</autoVersionSubmodules>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.6</version>
          <executions>
            <execution>
              <id>sign-artifacts</id>
              <phase>verify</phase>
              <goals>
                <goal>sign</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
          <configuration>
            <compilerArgument>-Werror</compilerArgument>
            <compilerVersion>${java.version}</compilerVersion>
            <fork>true</fork>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <testTarget>${java.version}</testTarget>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>3.0.5</version>
        </plugin>
        <plugin>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.8</version>
        </plugin>
        <plugin>
          <groupId>org.pitest</groupId>
          <artifactId>pitest-maven</artifactId>
          <version>1.2.4</version>
          <configuration>
            <skip>${skipTests}</skip>
            <timestampedReports>false</timestampedReports>
            <detectInlinedCode>true</detectInlinedCode>
            <mutationThreshold>85</mutationThreshold>
            <targetClasses>
              <param>com.github.robozonky.*</param>
            </targetClasses>
            <targetTests>
              <param>*Test</param> <!-- No IT -->
            </targetTests>
            <excludedMethods>
              <param>hashCode</param>
              <param>toString</param>
            </excludedMethods>
            <excludedClasses>
              <!-- Mostly getters; messing up stats -->
              <param>com.github.robozonky.api.remote.entities.*</param>
              <param>com.github.robozonky.api.notifications.*</param>
              <!-- Generated code; out of our control -->
              <param>com.github.robozonky.strategy.natural.*Lexer*</param>
              <param>com.github.robozonky.strategy.natural.*Parser*</param>
            </excludedClasses>
            <avoidCallsTo>
              <avoidCallsTo>java.util.logging</avoidCallsTo>
              <avoidCallsTo>org.apache.log4j</avoidCallsTo>
              <avoidCallsTo>org.slf4j</avoidCallsTo>
              <avoidCallsTo>org.apache.commons.logging</avoidCallsTo>
            </avoidCallsTo>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>surefire-for-java8</id>
      <activation>
        <jdk>1.8</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${surefire.version}</version>
            <configuration>
              <reuseForks>false</reuseForks>
              <redirectTestOutputToFile>true</redirectTestOutputToFile>
              <workingDirectory>${basedir}/target</workingDirectory>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>surefire-for-java9</id>
      <activation>
        <jdk>9</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${surefire.version}</version>
            <configuration>
              <reuseForks>false</reuseForks>
              <redirectTestOutputToFile>true</redirectTestOutputToFile>
              <workingDirectory>${basedir}/target</workingDirectory>
              <!-- Workaround so that we don't get CNFE on javax/annotation/Priority - see SUREFIRE-1424 for more. -->
              <argLine>--add-modules java.base</argLine>
            </configuration>
          </plugin>
          <plugin> <!-- Only run PITest on the primary platform; takes long and occasionally fails. -->
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <scm>
    <url>git@github.com:RoboZonky/robozonky.git</url>
    <connection>scm:git:git@github.com:RoboZonky/robozonky.git</connection>
    <developerConnection>scm:git:git@github.com:RoboZonky/robozonky.git</developerConnection>
    <tag>robozonky-4.1.0</tag>
  </scm>
  <issueManagement>
    <system>github</system>
    <url>https://github.com/RoboZonky/robozonky/issues</url>
  </issueManagement>
  <developers>
    <developer>
      <id>triceo</id>
      <name>Lukáš Petrovický</name>
      <email>lukas@petrovicky.net</email>
      <timezone>Europe/Prague</timezone>
    </developer>
  </developers>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
      <comments>A business-friendly OSS license</comments>
    </license>
  </licenses>
  <ciManagement>
    <system>travis</system>
    <url>https://travis-ci.org/RoboZonky/robozonky</url>
  </ciManagement>
  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>
  <repositories>
    <repository> <!-- for JCommander -->
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>bintray-cbeust-maven</id>
      <name>bintray</name>
      <url>https://dl.bintray.com/cbeust/maven</url>
    </repository>
  </repositories>
</project>