Pom of com.deciphernow:gm-fabric:0.2.6

Back to com.deciphernow:gm-fabric:0.2.6

<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright 2017 Decipher Technology Studios LLC
   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.deciphernow</groupId>
    <artifactId>gm-fabric</artifactId>
    <version>0.2.6</version>
    <packaging>pom</packaging>

    <name>Microservice framework [Root]</name>
    <description>A microservice framework for the JVM.</description>
    <url>https://github.com/deciphernow/gm-fabric-jvm</url>

    <modules>
        <module>core</module>
        <module>cloudwatch</module>
        <module>archetype</module>
        <module>config</module>
    </modules>

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

    <scm>
        <connection>scm:git:git@github.com:deciphernow/gm-fabric-jvm.git</connection>
        <developerConnection>scm:git:git@github.com:deciphernow/gm-fabric-jvm.git</developerConnection>
        <url>https://github.com/deciphernow/gm-fabric-jvm</url>
    </scm>

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

    <developers>
        <developer>
            <name>Garth Hershfield</name>
            <organization>Decipher Technology Studios</organization>
            <email>garth.hershfield@deciphernow.com</email>
        </developer>
    </developers>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- Java -->
        <version.java.source>1.8</version.java.source>
        <version.java.target>1.8</version.java.target>

        <!-- Scala -->
        <version.scala.major>2.11</version.scala.major>
        <version.scala>${version.scala.major}.8</version.scala>

        <version.scala.test>3.0.0</version.scala.test>
        <version.scala.plugin>3.1.0</version.scala.plugin>
        <version.typesafe.scala-logging>2.1.2</version.typesafe.scala-logging>

        <version.twitter.scrooge>4.14.0</version.twitter.scrooge>
        <version.twitter.finagle>6.42.0</version.twitter.finagle>
        <version.twitter.util>6.41.0</version.twitter.util>
        <version.twitter.server>1.27.0</version.twitter.server>
        <version.twitter.finatra>2.8.0</version.twitter.finatra>

        <finatra.version>${version.twitter.finatra}</finatra.version>
        <version.finatra>${version.twitter.finatra}</version.finatra>
        <version.guice-injection>4.0</version.guice-injection>

        <version.httpclient>4.3.5</version.httpclient>
        <version.httpcore>4.3.2</version.httpcore>

        <!--<major.minor>0.1</major.minor>-->

        <!-- Generic Logging -->
        <version.logback>1.1.2</version.logback>
        <version.slf4j>1.7.9</version.slf4j>
        <version.log4j>1.2.17</version.log4j>

        <!-- Testing -->
        <maven.test.runOrder>hourly</maven.test.runOrder>
        <version.docker.plugin>0.20.1</version.docker.plugin>
        <version.junit>4.12</version.junit>
        <version.mockito>1.9.5</version.mockito>
        <version.surefire.plugin>2.20.1</version.surefire.plugin>
        <version.failsafe.plugin>${version.surefire.plugin}</version.failsafe.plugin>

        <!-- Plugins -->
        <version.scala-maven-plugin>3.1.0</version.scala-maven-plugin>

        <version.maven-enforcer-plugin>3.0.0-M1</version.maven-enforcer-plugin>
        <version.scalatest-maven-plugin>1.0</version.scalatest-maven-plugin>
        <version.rpm-maven-plugin>2.1.5</version.rpm-maven-plugin>
        <version.app-assembly-maven-plugin>1.10</version.app-assembly-maven-plugin>

        <!-- todo: Figure out what replaces the 'descriptor' -->
        <!--<version.maven-assembly-plugin>3.1.0</version.maven-assembly-plugin>-->
        <version.maven-assembly-plugin>2.5.2</version.maven-assembly-plugin>

        <version.buildnumber-maven-plugin>1.4</version.buildnumber-maven-plugin>
        <version.maven-dependency-plugin>2.9</version.maven-dependency-plugin>
        <version.maven-antrun-plugin>1.8</version.maven-antrun-plugin>
        <version.maven-compiler-plugin>3.7.0</version.maven-compiler-plugin>
        <version.maven-resources-plugin>3.0.2</version.maven-resources-plugin>
        <version.maven-archetype-packaging>3.0.1</version.maven-archetype-packaging>
        <version.maven-archetype-plugin>${version.maven-archetype-packaging}</version.maven-archetype-plugin>

        <!-- For compatability to possible previous references -->
        <!-- TODO: assign the newly created consistent variable definitions to the poorly defined definitions. -->

        <!-- Deployment -->
        <version.bouncycastle.plugin>1.0.0</version.bouncycastle.plugin>
        <version.maven-javadoc-plugin>3.0.0</version.maven-javadoc-plugin>
        <version.maven-source-plugin>3.0.1</version.maven-source-plugin>

    </properties>

    <repositories>
        <repository>
            <id>Sonatype</id>
            <name>Sonatype RSO</name>
            <layout>default</layout>
            <url>http://repository.sonatype.org/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
        </repository>
        <repository>
            <id>Search-Maven</id>
            <name>Search Maven</name>
            <layout>default</layout>
            <url>http://search.maven.org/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
        </repository>
        <repository>
            <id>Maven-Central</id>
            <name>Maven Central</name>
            <layout>default</layout>
            <url>http://central.maven.org/maven2/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
        </repository>
        <repository>
            <id>Twitter-Maven</id>
            <name>Twitter Maven</name>
            <layout>default</layout>
            <url>http://maven.twttr.com</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
        </repository>
    </repositories>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.deciphernow</groupId>
                <artifactId>gm-fabric-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.deciphernow</groupId>
                <artifactId>gm-fabric-jvm-config</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.deciphernow</groupId>
                <artifactId>gm-fabric-core-integration-setup</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.deciphernow</groupId>
                <artifactId>gm-fabric-core-integration-verify</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.typesafe.scala-logging</groupId>
                <artifactId>scala-logging-api_${version.scala.major}</artifactId>
                <version>${version.typesafe.scala-logging}</version>
            </dependency>
            <dependency>
                <groupId>com.typesafe.scala-logging</groupId>
                <artifactId>scala-logging-slf4j_${version.scala.major}</artifactId>
                <version>${version.typesafe.scala-logging}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>util-logging_${version.scala.major}</artifactId>
                <version>${version.twitter.util}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>finatra-http_${version.scala.major}</artifactId>
                <version>${version.twitter.finatra}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>finatra-thrift_${version.scala.major}</artifactId>
                <version>${version.twitter.finatra}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>finagle-core_${version.scala.major}</artifactId>
                <version>${version.twitter.finagle}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>util-core_${version.scala.major}</artifactId>
                <version>${version.twitter.util}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>finagle-thrift_${version.scala.major}</artifactId>
                <version>${version.twitter.finagle}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>finagle-serversets_${version.scala.major}</artifactId>
                <version>${version.twitter.finagle}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-jdk14</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>util-app_${version.scala.major}</artifactId>
                <version>${version.twitter.util}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>finagle-stats_${version.scala.major}</artifactId>
                <version>${version.twitter.finagle}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${version.slf4j}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${version.httpclient}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${version.httpcore}</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${version.log4j}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${version.slf4j}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${version.logback}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${version.logback}</version>
            </dependency>

            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${version.scala}</version>
            </dependency>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-compiler</artifactId>
                <version>${version.scala}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>finatra_${version.scala.major}</artifactId>
                <version>${version.finatra}</version>
            </dependency>
            <dependency>
                <groupId>com.twitter</groupId>
                <artifactId>twitter-server_${version.scala.major}</artifactId>
                <version>${version.twitter.server}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${version.junit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scalatest</groupId>
                <artifactId>scalatest_${version.scala.major}</artifactId>
                <version>${version.scala.test}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${version.maven-enforcer-plugin}</version>
                    <configuration>
                        <rules>
                            <bannedPlugins>
                                <level>WARN</level>
                            </bannedPlugins>
                            <requireReleaseDeps>
                                <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
                                <excludes>
                                    <exclude>com.deciphernow:*</exclude>
                                </excludes>
                            </requireReleaseDeps>
                            <dependencyConvergence/>
                        </rules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>${version.maven-dependency-plugin}</version>
                    <executions>
                        <execution>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>copy-dependencies</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.scalatest</groupId>
                    <artifactId>scalatest-maven-plugin</artifactId>
                    <version>${version.scalatest-maven-plugin}</version>
                    <configuration>
                        <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <id>test</id>
                            <goals>
                                <goal>test</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.deciphernow</groupId>
                    <artifactId>bouncycastle-maven-plugin</artifactId>
                    <version>${version.bouncycastle.plugin}</version>
                    <configuration>
                        <passphrase>${env.PGP_PASSPHRASE}</passphrase>
                        <rings>${env.PGP_RINGS}</rings>
                        <userId>${env.PGP_USER_ID}</userId>
                    </configuration>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>net.alchim31.maven</groupId>
                    <artifactId>scala-maven-plugin</artifactId>
                    <version>${version.scala-maven-plugin}</version>
                    <executions>
                        <execution>
                            <id>scala-compile-first</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>add-source</goal>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>scala-test-compile</id>
                            <phase>process-test-resources</phase>
                            <goals>
                                <goal>testCompile</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>scala-attach-scaladocs</id>
                            <phase>package</phase>
                            <goals>
                                <goal>doc-jar</goal>
                            </goals>
                            <configuration>
                                <args>
                                    <arg>-no-link-warnings</arg>
                                </args>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${version.maven-compiler-plugin}</version>
                    <configuration>
                        <source>${version.java.source}</source>
                        <target>${version.java.target}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${version.failsafe.plugin}</version>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <phase>integration-test</phase>
                            <goals>
                                <goal>integration-test</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>verify</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <runOrder>${maven.test.runOrder}</runOrder>
                        <includes>
                            <include>**/IntTest*</include>
                            <include>**/IntSpec*</include>
                        </includes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${version.surefire.plugin}</version>
                    <configuration>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <runOrder>${maven.test.runOrder}</runOrder>
                        <includes>
                            <include>**/*Test</include>
                            <include>**/*Spec</include>
                        </includes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${version.maven-javadoc-plugin}</version>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${version.maven-source-plugin}</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-archetype-plugin</artifactId>
                            <version>${version.maven-archetype-plugin}</version>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-resources-plugin</artifactId>
                            <version>${version.maven-resources-plugin}</version>
                            <configuration>
                                <escapeString>\</escapeString>
                            </configuration>
                        </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>reserve-network-port</id>
                            <goals>
                                <goal>reserve-network-port</goal>
                            </goals>
                            <phase>process-resources</phase>
                            <configuration>
                                <portNames>
                                    <portName>docker.zookeeper.port</portName>
                                </portNames>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>io.fabric8</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>${version.docker.plugin}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>deploy</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.deciphernow</groupId>
                        <artifactId>bouncycastle-maven-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>