metrics-portal
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-portal</artifactId> <version>0.10.77</version> </dependency>
<?xml version="1.0"?> <!-- ~ Copyright 2018 Dropbox ~ ~ 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"> <parent> <groupId>com.arpnetworking.build</groupId> <artifactId>arpnetworking-parent-pom</artifactId> <version>2.0.6</version> <relativePath /> </parent> <modelVersion>4.0.0</modelVersion> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-portal</artifactId> <packaging>play2</packaging> <name>Metrics Portal</name> <description>Web user interface for managing the metrics stack.</description> <version>0.10.77</version> <licenses> <license> <name>Apache 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> <developers> <developer> <id>barp</id> <name>Brandon Arp</name> <email>brandon.arp@inscopemetrics.io</email> <organization>Inscope Metrics</organization> <organizationUrl>http://www.inscopemetrics.io</organizationUrl> <roles> <role>developer</role> </roles> </developer> <developer> <id>vkoskela</id> <name>Ville Koskela</name> <email>ville.koskela@inscopemetrics.io</email> <organization>Inscope Metrics</organization> <organizationUrl>http://www.inscopemetrics.io</organizationUrl> <roles> <role>developer</role> </roles> </developer> </developers> <scm> <connection>scm:git:git@github.com:ArpNetworking/metrics-portal.git</connection> <developerConnection>scm:git:git@github.com:ArpNetworking/metrics-portal.git</developerConnection> <url>https://github.com/arpnetworking/metrics-portal</url> <tag>metrics-portal-0.10.77</tag> </scm> <properties> <!-- Dependency Versions --> <akka.version>2.5.20</akka.version> <akka.http.version>10.0.13</akka.http.version> <akka.persistence.cassandra.version>0.58</akka.persistence.cassandra.version> <akka.persistence.jdbc.version>3.5.0</akka.persistence.jdbc.version> <akka.persistence.inmemory.version>2.5.1.1</akka.persistence.inmemory.version> <anorm.version>2.6.2</anorm.version> <arpnetworking.commons.version>1.20.0</arpnetworking.commons.version> <aspectjrt.version>1.9.2</aspectjrt.version> <asynchttpclient.version>1.1.9</asynchttpclient.version> <cassandra.version>3.2.0</cassandra.version> <cdt.java.client.version>2.0.0</cdt.java.client.version> <cglib.version>3.2.1</cglib.version> <chrisomeara.pillar.version>2.3.0</chrisomeara.pillar.version> <commons.codec.version>1.15</commons.codec.version> <dkimutils.version>1.1.12</dkimutils.version> <dumbster.version>1.7.1</dumbster.version> <ebean.version>11.15.4</ebean.version> <ebean.annotation.version>3.11</ebean.annotation.version> <ebean.api.version>2.2.1</ebean.api.version> <flyway.core.version>4.2.0</flyway.core.version> <flyway.play.version>4.0.0</flyway.play.version> <guava.version>23.6.1-jre</guava.version> <guice.version>4.0</guice.version> <guice.assisted.version>4.1.0</guice.assisted.version> <hikaricp.version>2.7.9</hikaricp.version> <jackson.version>2.9.10</jackson.version> <javassist.maven.core.version>0.2.1</javassist.maven.core.version> <java.mail.version>5.0.0</java.mail.version> <java.websocket.version>1.3.0</java.websocket.version> <javax.inject.version>1</javax.inject.version> <jsr305.version>3.0.2</jsr305.version> <logback.steno.version>1.18.3</logback.steno.version> <metrics.client.version>0.11.3</metrics.client.version> <metrics.client.http.version>0.11.2</metrics.client.http.version> <metrics.incubator.extra.version>0.11.2</metrics.incubator.extra.version> <metrics.jvm.extra.version>0.11.2</metrics.jvm.extra.version> <netty.version>3.10.6.Final</netty.version> <oval.version>1.90</oval.version> <play2.version>2.6.23</play2.version> <play2-json.version>2.6.13</play2-json.version> <play2-ebean.version>4.1.3</play2-ebean.version> <play2-enhancer.version>1.2.2</play2-enhancer.version> <play2-jdbc-evolutions.version>2.6.13</play2-jdbc-evolutions.version> <postgresql.version>42.3.8</postgresql.version> <scala.version>2.11.12</scala.version> <scala.java8.version>0.8.0</scala.java8.version> <scala.xml.version>1.0.6</scala.xml.version> <simplejavamail.version>5.1.7</simplejavamail.version> <slf4j.version>1.7.25</slf4j.version> <spotbugs.annotations.version>3.1.12</spotbugs.annotations.version> <twirl.api.version>1.3.14</twirl.api.version> <typesafe.config.version>1.3.3</typesafe.config.version> <jug.version>4.0.1</jug.version> <!-- Test Dependency Versions --> <apache.http.client.version>4.5.13</apache.http.client.version> <apache.http.core.version>4.4.10</apache.http.core.version> <hamcrest.version>2.1</hamcrest.version> <jsonassert.version>1.5.0</jsonassert.version> <junit.version>4.12</junit.version> <mockito.version>2.23.4</mockito.version> <thrift.version>0.14.0</thrift.version> <wiremock.version>2.19.0</wiremock.version> <!-- Additional Plugins --> <aspectjtools.maven.plugin>1.9.1</aspectjtools.maven.plugin> <aspectj.maven.plugin.version>1.8</aspectj.maven.plugin.version> <build.helper.maven.plugin.version>1.10</build.helper.maven.plugin.version> <commons.io.version>2.7</commons.io.version> <docker.maven.plugin.version>0.27.2</docker.maven.plugin.version> <javassist.maven.plugin.version>0.1.2</javassist.maven.plugin.version> <maven.assembly.plugin.version>2.6</maven.assembly.plugin.version> <rpm.maven.plugin.version>2.1.5</rpm.maven.plugin.version> <play.maven.plugin.version>1.0.0-rc5</play.maven.plugin.version> <sbt.compiler.plugin.version>1.0.0</sbt.compiler.plugin.version> <sbtrun.maven.plugin.version>1.0.1</sbtrun.maven.plugin.version> <!-- Scala --> <scala.package.version>2.11</scala.package.version> <!-- Project Overrides --> <buildDirectory>${project.basedir}/target</buildDirectory> <maven.version>3.6.3</maven.version> <!-- Assembly Overrides --> <tgz.finalName>${project.build.finalName}</tgz.finalName> <!-- Checkstyle --> <checkstyleExtraSuppressions>${project.basedir}/extra-checkstyle-suppressions.xml</checkstyleExtraSuppressions> <!-- Spotbugs --> <spotbugs.exclude>${project.basedir}/spotbugs.exclude.xml</spotbugs.exclude> <!-- Code Coverage --> <jacoco.check.line.coverage>0.52</jacoco.check.line.coverage> <jacoco.check.branch.coverage>0.30</jacoco.check.branch.coverage> <!-- JVM --> <dockerJavaOptions /> <debugJavaPort>9002</debugJavaPort> <!-- Docker Overrides --> <skipDockerBuild>false</skipDockerBuild> <docker.skip.kairosdb>false</docker.skip.kairosdb> <docker.skip.postgres>false</docker.skip.postgres> <docker.skip.cassandra>false</docker.skip.cassandra> <docker.skip.metrics-portal>false</docker.skip.metrics-portal> <docker.kairosdb.version>2.1.7</docker.kairosdb.version> <docker.postgres.version>10.7</docker.postgres.version> <docker.cassandra.version>3.11</docker.cassandra.version> <!-- Assembly Overrides --> <tgz.finalName>${project.build.finalName}</tgz.finalName> </properties> <build> <sourceDirectory>${project.basedir}/app</sourceDirectory> <testSourceDirectory>${project.basedir}/test/java</testSourceDirectory> <resources> <resource> <directory>${project.basedir}/conf</directory> </resource> <resource> <directory>${project.basedir}/public</directory> <targetPath>public</targetPath> </resource> <resource> <directory>${project.basedir}/main/resources</directory> <filtering>true</filtering> </resource> </resources> <testResources> <testResource> <directory>${project.basedir}/test/resources</directory> </testResource> </testResources> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven.gpg.plugin.version}</version> <executions> <execution> <id>sign-artifacts</id> <configuration> <gpgArguments combine.children="append"> <!-- This is closely tied to the fact that Travis is configured to use Ubuntu 18.04: by default, Travis uses Ubuntu 16.04, which has GPG 1; but 18.04 has GPG 2, which does... something fancy to try to read the passphrase, resulting in an error "inappropriate ioctl for device". Googling suggested that `- -pinentry-mode loopback` would fix it. We'll see. --> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </plugin> </plugins> </pluginManagement> <plugins> <!-- Enable Inherited Plugins --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <excludePackageNames>controllers.javascript</excludePackageNames> <sourceFileExcludes> <sourceFileExclude>routes.java</sourceFileExclude> </sourceFileExcludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <systemPropertyVariables> <dockerHostAddress>${docker.host.address}</dockerHostAddress> </systemPropertyVariables> <trimStackTrace>false</trimStackTrace> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <configuration> <!-- TODO(ville): There is an issue where certain paths are excluded from coverage. These include at least: - controllers/* - global/* - models/ebean/* - models/cassandra/* The exclusions below are not responsible and they successfully filter out classes which we do want excluded from coverage (e.g. code generated classe). --> <excludes> <exclude>portal/*</exclude> <exclude>controllers/routes.class</exclude> <exclude>controllers/routes.class</exclude> <exclude>controllers/routes?javascript.class</exclude> <exclude>controllers/Reverse*.class</exclude> <exclude>controllers/javascript/*</exclude> <exclude>views/html/*</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${maven.versions.plugin.version}</version> <!-- Temporarily disable display-dependency-updates which does not work in GitHub Actions --> <!-- See: https://github.com/ArpNetworking/metrics-portal/issues/487 --> <executions> <execution> <id>default-display-dependency-updates</id> <phase>none</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> </plugin> <plugin> <groupId>com.rimerosolutions.maven.plugins</groupId> <artifactId>wrapper-maven-plugin</artifactId> <inherited>false</inherited> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <configuration> <ignoredDependencies combine.children="append"> <ignoredDependency>com.typesafe.play:play-java_${scala.package.version}:jar:*</ignoredDependency> </ignoredDependencies> </configuration> </plugin> <!-- Project Specific Plugins --> <plugin> <groupId>com.google.code.play2-maven-plugin</groupId> <artifactId>play2-maven-plugin</artifactId> <version>${play.maven.plugin.version}</version> <extensions>true</extensions> <configuration> <mainLang>java</mainLang> <routesGenerator>injected</routesGenerator> <httpPort>8080</httpPort> </configuration> <executions> <execution> <id>package-play-dist</id> <phase>package</phase> <goals> <goal>dist</goal> </goals> </execution> <execution> <id>default-play2-enhance</id> <goals> <goal>enhance</goal> <goal>ebean-enhance</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.google.code.sbt-compiler-maven-plugin</groupId> <artifactId>sbt-compiler-maven-plugin</artifactId> <version>${sbt.compiler.plugin.version}</version> <configuration> <!-- TODO: Remove '-Xlint:-path' once "bad path element" errors are fixed Removing these dependencies should do it: 1) xalan:xalan:2.7.2 (dependency of play-test) 2) org.apache.cassandra:cassandra-all:3.9 (direct test dependency) --> <javacOptions>-g -deprecation -Xlint:all -Xlint:-processing -Xlint:-path -Werror</javacOptions> </configuration> </plugin> <plugin> <groupId>com.google.code.sbtrun-maven-plugin</groupId> <artifactId>sbtrun-maven-plugin</artifactId> <version>${sbtrun.maven.plugin.version}</version> <executions> <execution> <id>compile-assets</id> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <args>web-assets:assets</args> <jvmArgs>-Dscala.version=${scala.version}</jvmArgs> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${build.helper.maven.plugin.version}</version> <executions> <execution> <id>add-web-assets-to-resources</id> <phase>generate-resources</phase> <goals> <goal>add-resource</goal> </goals> <configuration> <resources> <resource> <directory>${project.build.directory}/sbt/web/public/main</directory> <targetPath>public</targetPath> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.arpnetworking.commons</groupId> <artifactId>javassist-maven-plugin</artifactId> <version>${javassist.maven.plugin.version}</version> <executions> <execution> <id>javassist-process</id> <goals> <goal>process</goal> </goals> <configuration> <processor>com.arpnetworking.commons.builder.ValidationProcessor</processor> </configuration> </execution> <execution> <id>javassist-test-process</id> <goals> <goal>test-process</goal> </goals> <configuration> <processor>com.arpnetworking.commons.builder.ValidationProcessor</processor> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>${aspectj.maven.plugin.version}</version> <executions> <execution> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> </execution> </executions> <configuration> <source>1.8</source> <target>1.8</target> <complianceLevel>1.8</complianceLevel> <aspectLibraries> <aspectLibrary> <groupId>com.arpnetworking.logback</groupId> <artifactId>logback-steno</artifactId> </aspectLibrary> </aspectLibraries> <showWeaveInfo>true</showWeaveInfo> </configuration> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>${aspectjtools.maven.plugin}</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>${maven.clean.plugin.version}</version> <executions> <execution> <id>clean-assemblies</id> <phase>initialize</phase> <goals> <goal>clean</goal> </goals> <configuration> <excludeDefaultDirectories>true</excludeDefaultDirectories> <verbose>true</verbose> <filesets> <fileset> <directory>${project.build.directory}/docker-assembly</directory> <directory>${project.build.directory}/appassembler</directory> </fileset> </filesets> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <configuration> <programs> <program> <id>metrics-portal</id> <mainClass>play.core.server.ProdServerStart</mainClass> </program> </programs> <unixScriptTemplate>${project.build.directory}/appAssemblerUnixBinTemplate</unixScriptTemplate> <endorsedDir>lib/ext</endorsedDir> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven.assembly.plugin.version}</version> <executions> <execution> <id>docker-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <appendAssemblyId>false</appendAssemblyId> <finalName>docker-assembly</finalName> <attach>false</attach> <tarLongFileMode>posix</tarLongFileMode> <descriptors> <descripto>main/assembly/docker.xml</descripto> </descriptors> </configuration> </execution> <execution> <id>app-tgz</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <finalName>${tgz.finalName}</finalName> <appendAssemblyId>true</appendAssemblyId> <attach>false</attach> <tarLongFileMode>posix</tarLongFileMode> <descriptors> <descriptor>main/assembly/bin.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker.maven.plugin.version}</version> <extensions>true</extensions> <executions> <execution> <id>default-build</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>default-start</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> <configuration> <skip>${skipIntegrationTests}</skip> </configuration> </execution> <execution> <id>default-stop</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> <configuration> <skip>${skipIntegrationTests}</skip> </configuration> </execution> <execution> <id>default-push</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> <configuration> <filter>arpnetworking/metrics-portal:${project.version}</filter> </configuration> </execution> </executions> <configuration> <autoCreateCustomNetworks>true</autoCreateCustomNetworks> <showLogs>true</showLogs> <images> <!-- Postgresql --> <image> <name>postgres:${docker.postgres.version}</name> <alias>postgres</alias> <run> <skip>${docker.skip.postgres}</skip> <env> <POSTGRES_USER>root</POSTGRES_USER> <POSTGRES_PASSWORD>password</POSTGRES_PASSWORD> <POSTGRES_DB>postgres</POSTGRES_DB> <MAINTENANCE_WORK_MEM>64MB</MAINTENANCE_WORK_MEM> <SHARED_BUFFERS>128MB</SHARED_BUFFERS> <EFFECTIVE_CACHE_SIZE>256MB</EFFECTIVE_CACHE_SIZE> <MAX_CONNECTIONS>20</MAX_CONNECTIONS> </env> <network> <mode>custom</mode> <name>metrics-portal-net</name> <alias>postgres</alias> </network> <ports> <port>+postgres.ip:6432:5432</port> </ports> <volumes> <bind> <volume>${project.basedir}/main/postgres/initdb.d:/docker-entrypoint-initdb.d</volume> </bind> </volumes> <wait> <tcp> <mode>direct</mode> <ports> <port>5432</port> </ports> </tcp> <log>database system is ready to accept connections</log> <time>30000</time> </wait> </run> </image> <!-- Cassandra --> <image> <name>cassandra:${docker.cassandra.version}</name> <alias>cassandra</alias> <run> <skip>${docker.skip.cassandra}</skip> <network> <mode>custom</mode> <name>metrics-portal-net</name> <alias>cassandra</alias> </network> <ports> <port>+cassandra.ip:7000:7000</port> <port>+cassandra.ip:9042:9042</port> </ports> <wait> <log>Starting listening for CQL clients on</log> <time>30000</time> </wait> </run> </image> <!-- KairosDb (with extensions) --> <image> <name>inscopemetrics/kairosdb-extensions:${docker.kairosdb.version}</name> <alias>kairosdb</alias> <run> <skip>${docker.skip.kairosdb}</skip> <dependsOn> <container>cassandra</container> </dependsOn> <network> <mode>custom</mode> <name>metrics-portal-net</name> <alias>kairosdb</alias> </network> <ports> <port>+kairosdb.ip:8082:8080</port> </ports> <wait> <http> <url>http://${kairosdb.ip}:8082/api/v1/health/status</url> <method>GET</method> <status>200</status> </http> <time>30000</time> <kill>1000</kill> </wait> </run> </image> <!-- Metrics Portal --> <image> <name>arpnetworking/metrics-portal:${project.version}</name> <alias>metrics-portal</alias> <build> <dockerFile>${project.build.directory}/docker-assembly/Dockerfile</dockerFile> <tags> <tag>${buildNumber}</tag> </tags> </build> <run> <skip>${docker.skip.metrics-portal}</skip> <env> <METRICS_PORTAL_CONFIG>-Dconfig.resource=postgresql.application.conf -Dkairosdb.proxy.excludedTagNames.0=ignored</METRICS_PORTAL_CONFIG> <ADDITIONAL_JAVA_OPTS>${dockerJavaOptions}</ADDITIONAL_JAVA_OPTS> <KAIROSDB_HOST>kairosdb.</KAIROSDB_HOST> <KAIROSDB_PORT>8080</KAIROSDB_PORT> <PG_HOST>postgres.</PG_HOST> <CASSANDRA_HOST>cassandra.</CASSANDRA_HOST> </env> <dependsOn> <container>postgres</container> <container>kairosdb</container> </dependsOn> <network> <mode>custom</mode> <name>metrics-portal-net</name> <alias>metrics-portal</alias> </network> <ports> <port>+metrics-portal.ip:${debugJavaPort}:${debugJavaPort}</port> <port>+metrics-portal.ip:8080:8080</port> <port>+metrics-portal.ip:48928:48928</port> </ports> <volumes> <bind> <volume>${project.basedir}/logs/docker:/opt/metrics-portal/logs</volume> </bind> </volumes> <wait> <http> <url>http://${metrics-portal.ip}:8080/ping</url> <method>GET</method> <status>200</status> </http> <time>120000</time> <kill>1000</kill> </wait> </run> </image> </images> <skip>${skipDockerBuild}</skip> </configuration> </plugin> </plugins> </build> <dependencies> <!-- Play Framework --> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> <dependency> <groupId>org.scala-lang.modules</groupId> <artifactId>scala-xml_${scala.package.version}</artifactId> <version>${scala.xml.version}</version> </dependency> <dependency> <groupId>org.scala-lang.modules</groupId> <artifactId>scala-java8-compat_${scala.package.version}</artifactId> <version>${scala.java8.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play_${scala.package.version}</artifactId> <version>${play2.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-guice_${scala.package.version}</artifactId> <version>${play2.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-json_${scala.package.version}</artifactId> <version>${play2-json.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-ws_${scala.package.version}</artifactId> <version>${play2.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>filters-helpers_${scala.package.version}</artifactId> <version>${play2.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-java_${scala.package.version}</artifactId> <version>${play2.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-ebean_${scala.package.version}</artifactId> <version>${play2-ebean.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-jdbc-evolutions_${scala.package.version}</artifactId> <version>${play2-jdbc-evolutions.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>shaded-asynchttpclient</artifactId> <version>${asynchttpclient.version}</version> </dependency> <dependency> <groupId>io.ebean</groupId> <artifactId>ebean</artifactId> <version>${ebean.version}</version> </dependency> <dependency> <groupId>io.ebean</groupId> <artifactId>ebean-annotation</artifactId> <version>${ebean.annotation.version}</version> </dependency> <dependency> <groupId>io.ebean</groupId> <artifactId>persistence-api</artifactId> <version>${ebean.api.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-enhancer</artifactId> <version>${play2-enhancer.version}</version> </dependency> <dependency> <groupId>com.typesafe</groupId> <artifactId>config</artifactId> <version>${typesafe.config.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>twirl-api_${scala.package.version}</artifactId> <version>${twirl.api.version}</version> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-akka-http-server_${scala.package.version}</artifactId> <version>${play2.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-ahc-ws_${scala.package.version}</artifactId> <version>${play2.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-jdbc_${scala.package.version}</artifactId> <version>${play2.version}</version> <scope>runtime</scope> </dependency> <!-- Is this needed? --> <!--<dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-java-forms_${scala.package.version}</artifactId> <version>${play2.version}</version> <scope>runtime</scope> </dependency>--> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-logback_${scala.package.version}</artifactId> <version>${play2.version}</version> <scope>runtime</scope> </dependency> <!-- Reporting --> <dependency> <groupId>com.github.kklisura.cdt</groupId> <artifactId>cdt-java-client</artifactId> <version>${cdt.java.client.version}</version> </dependency> <dependency> <groupId>org.simplejavamail</groupId> <artifactId>simple-java-mail</artifactId> <version>${simplejavamail.version}</version> </dependency> <dependency> <groupId>net.markenwerk</groupId> <artifactId>utils-mail-dkim</artifactId> <version>${dkimutils.version}</version> <scope>runtime</scope> </dependency> <!-- Akka --> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-actor_${scala.package.version}</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-remote_${scala.package.version}</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-cluster_${scala.package.version}</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-cluster-sharding_${scala.package.version}</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-cluster-tools_${scala.package.version}</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-http_${scala.package.version}</artifactId> <version>${akka.http.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-http-core_${scala.package.version}</artifactId> <version>${akka.http.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-persistence_${scala.package.version}</artifactId> <version>${akka.version}</version> </dependency> <dependency> <!-- NOTE: Included for version pinning only --> <groupId>com.typesafe.akka</groupId> <artifactId>akka-persistence-query_${scala.package.version}</artifactId> <version>${akka.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-stream_${scala.package.version}</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-persistence-cassandra_${scala.package.version}</artifactId> <version>${akka.persistence.cassandra.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.github.dnvriend</groupId> <artifactId>akka-persistence-jdbc_${scala.package.version}</artifactId> <version>${akka.persistence.jdbc.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.github.dnvriend</groupId> <artifactId>akka-persistence-inmemory_${scala.package.version}</artifactId> <version>${akka.persistence.inmemory.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-slf4j_${scala.package.version}</artifactId> <version>${akka.version}</version> <scope>runtime</scope> </dependency> <!-- Logging and Metrics --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>com.arpnetworking.logback</groupId> <artifactId>logback-steno</artifactId> <version>${logback.steno.version}</version> </dependency> <dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-client</artifactId> <version>${metrics.client.version}</version> <exclusions> <!-- TODO(ville): Remove suppression once findbugs to spotbugs migration is complete --> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>findbugs-annotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.arpnetworking.metrics.extras</groupId> <artifactId>apache-http-sink-extra</artifactId> <version>${metrics.client.http.version}</version> <exclusions> <!-- TODO(ville): Remove suppression once findbugs to spotbugs migration is complete --> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>findbugs-annotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.arpnetworking.metrics.extras</groupId> <artifactId>jvm-extra</artifactId> <version>${metrics.jvm.extra.version}</version> <exclusions> <!-- TODO(ville): Remove suppression once findbugs to spotbugs migration is complete --> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>findbugs-annotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.arpnetworking.metrics.extras</groupId> <artifactId>incubator-extra</artifactId> <version>${metrics.incubator.extra.version}</version> <exclusions> <!-- TODO(ville): Remove suppression once findbugs to spotbugs migration is complete --> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>findbugs-annotations</artifactId> </exclusion> </exclusions> </dependency> <!-- Jackson --> <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-annotations</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-guava</artifactId> <version>${jackson.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> <version>${jackson.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>${jackson.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-guice</artifactId> <version>${jackson.version}</version> </dependency> <!-- Framework --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectjrt.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>${cglib.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.arpnetworking.commons</groupId> <artifactId>commons</artifactId> <version>${arpnetworking.commons.version}</version> <exclusions> <!-- TODO(ville): Remove suppression once findbugs to spotbugs migration is complete --> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>findbugs-annotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.arpnetworking.commons</groupId> <artifactId>javassist-maven-core</artifactId> <version>${javassist.maven.core.version}</version> </dependency> <dependency> <groupId>com.chrisomeara</groupId> <artifactId>pillar_${scala.package.version}</artifactId> <version>${chrisomeara.pillar.version}</version> </dependency> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>${jsr305.version}</version> </dependency> <dependency> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-annotations</artifactId> <version>${spotbugs.annotations.version}</version> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>${javax.inject.version}</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-assistedinject</artifactId> <version>${guice.assisted.version}</version> </dependency> <dependency> <groupId>net.sf.oval</groupId> <artifactId>oval</artifactId> <version>${oval.version}</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty</artifactId> <version>${netty.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons.codec.version}</version> </dependency> <dependency> <groupId>com.fasterxml.uuid</groupId> <artifactId>java-uuid-generator</artifactId> <version>${jug.version}</version> </dependency> <!-- Is this needed? --> <!--<dependency> <groupId>org.java-websocket</groupId> <artifactId>Java-WebSocket</artifactId> <version>${java.websocket.version}</version> <scope>runtime</scope> </dependency>--> <!-- Is this needed? --> <!--<dependency> <groupId>org.simplejavamail</groupId> <artifactId>simple-java-mail</artifactId> <version>${java.mail.version}</version> </dependency>--> <!-- Data Stores --> <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>${cassandra.version}</version> </dependency> <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-mapping</artifactId> <version>${cassandra.version}</version> </dependency> <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-extras</artifactId> <version>${cassandra.version}</version> </dependency> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>${flyway.core.version}</version> </dependency> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-play_${scala.package.version}</artifactId> <version>${flyway.play.version}</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${postgresql.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${hikaricp.version}</version> </dependency> <!-- Testing --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> <exclusions> <!-- TODO(ville): Remove once JUnit depends on modern hamcrest; see: http://hamcrest.org/JavaHamcrest/distributables --> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.typesafe.play</groupId> <artifactId>play-test_${scala.package.version}</artifactId> <version>${play2.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-testkit_${scala.package.version}</artifactId> <version>${akka.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.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>${hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>${hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock-standalone</artifactId> <version>${wiremock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${apache.http.client.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${apache.http.core.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons.io.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>${thrift.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.kirviq</groupId> <artifactId>dumbster</artifactId> <version>${dumbster.version}</version> <scope>test</scope> </dependency> </dependencies> <profiles> <profile> <id>rpm</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> <version>${rpm.maven.plugin.version}</version> <executions> <execution> <id>generate-rpm</id> <goals> <goal>rpm</goal> </goals> </execution> </executions> <configuration> <license>Apache 2 License</license> <group>System Environment/Daemons</group> <autoRequires>false</autoRequires> <preinstallScriptlet> <scriptFile>rpm/scripts/pre.sh</scriptFile> </preinstallScriptlet> <postinstallScriptlet> <scriptFile>rpm/scripts/post.sh</scriptFile> </postinstallScriptlet> <preremoveScriptlet> <scriptFile>rpm/scripts/preun.sh</scriptFile> </preremoveScriptlet> <postremoveScriptlet> <scriptFile>rpm/scripts/postun.sh</scriptFile> </postremoveScriptlet> <requires> <require>java >= ${jdk.version}</require> <require>initscripts</require> <require>which</require> </requires> <mappings> <mapping> <directory>/opt/metrics-portal</directory> <sources> <source> <location>${buildDirectory}/appassembler</location> </source> </sources> </mapping> <mapping> <directory>/opt/metrics-portal/config</directory> <sources> <source> <location>main/config</location> </source> </sources> </mapping> <mapping> <directory>/</directory> <sources> <source> <location>rpm/fs</location> </source> </sources> </mapping> <!-- symlink the start script --> <mapping> <directory>/usr/local/bin</directory> <sources> <softlinkSource> <location>/opt/metrics-portal/bin/metrics-portal</location> </softlinkSource> </sources> </mapping> </mappings> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>debug</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>debug</name> <value>true</value> </property> </activation> <properties> <dockerJavaOptions>-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=${debugJavaPort},suspend=n</dockerJavaOptions> </properties> </profile> <profile> <id>no-docker</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <skipIntegrationTests>true</skipIntegrationTests> <skipDockerBuild>true</skipDockerBuild> </properties> </profile> <profile> <id>dependenciesOnly</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <docker.skip.metrics-portal>true</docker.skip.metrics-portal> </properties> </profile> </profiles> </project>