metrics-cluster-aggregator
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-cluster-aggregator</artifactId> <version>1.13.6</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright 2015 Groupon.com ~ ~ 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>3.3.4</version> <relativePath /> </parent> <modelVersion>4.0.0</modelVersion> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-cluster-aggregator</artifactId> <packaging>jar</packaging> <name>Metrics Cluster Aggregator</name> <description>(Re)Aggregates host level statistics across clusters and writes both host and cluster statistics to various destinations.</description> <version>1.13.6</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>brandonarp</id> <name>Brandon Arp</name> <email>brandon.arp@inscopemetrics.com</email> <organization>Inscope Metrics</organization> <organizationUrl>http://www.inscopemetrics.com</organizationUrl> <roles> <role>developer</role> </roles> </developer> <developer> <id>danielguerrero</id> <name>Daniel Guerrero</name> <email>dguerreromartin@groupon.com</email> <organization>Groupon</organization> <organizationUrl>http://www.groupon.com</organizationUrl> <roles> <role>developer</role> </roles> </developer> <developer> <id>deepikamisra</id> <name>Deepika Misra</name> <email>deepika@groupon.com</email> <organization>Groupon</organization> <organizationUrl>http://www.groupon.com</organizationUrl> <roles> <role>developer</role> </roles> </developer> <developer> <id>gilmarkham</id> <name>Gil Markham</name> <email>gil@groupon.com</email> <organization>Groupon</organization> <organizationUrl>http://www.groupon.com</organizationUrl> <roles> <role>developer</role> </roles> </developer> <developer> <id>villekoskela</id> <name>Ville Koskela</name> <email>ville.koskela@inscopemetrics.com</email> <organization>Inscope Metrics</organization> <organizationUrl>https://www.inscopemetrics.com</organizationUrl> <roles> <role>developer</role> </roles> </developer> </developers> <scm> <connection>scm:git:git@github.com:ArpNetworking/metrics-cluster-aggregator.git</connection> <developerConnection>scm:git:git@github.com:ArpNetworking/metrics-cluster-aggregator.git</developerConnection> <url>https://github.com/arpnetworking/metrics-cluster-aggregator</url> <tag>metrics-cluster-aggregator-1.13.6</tag> </scm> <properties> <!--Dependency versions--> <pekko.version>1.0.3</pekko.version> <pekko.http.version>1.0.1</pekko.http.version> <pekko.persistence.cassandra.version>1.0.0</pekko.persistence.cassandra.version> <apache.httpclient.version>4.5.14</apache.httpclient.version> <apache.httpcore.version>4.4.16</apache.httpcore.version> <arpnetworking.commons.version>3.1.1</arpnetworking.commons.version> <aspectjrt.version>1.9.22.1</aspectjrt.version> <asynchttpclient.version>3.0.0</asynchttpclient.version> <awaitility.version>4.2.2</awaitility.version> <commons.codec.version>1.17.1</commons.codec.version> <ebean.version>15.5.0</ebean.version> <ebean.annotation.version>8.4</ebean.annotation.version> <jakarta.persistence.api.version>3.0</jakarta.persistence.api.version> <flyway.version>10.17.2</flyway.version> <guava.version>33.3.0-jre</guava.version> <guice.version>7.0.0</guice.version> <hamcrest.version>3.0</hamcrest.version> <hikari.version>5.1.0</hikari.version> <fastutil.version>8.5.14</fastutil.version> <h2.version>2.3.232</h2.version> <jackson.version>2.17.2</jackson.version> <javassist.version>3.30.2-GA</javassist.version> <javassist.maven.core.version>0.2.8</javassist.maven.core.version> <javax.persistence.version>1.0.2</javax.persistence.version> <javax.xml.version>2.3.1</javax.xml.version> <jsr305.version>3.0.2</jsr305.version> <junit.version>4.13.2</junit.version> <junitparams.version>1.1.1</junitparams.version> <logback.version>1.5.7</logback.version> <logback.steno.version>2.1.2</logback.steno.version> <log4j.over.slf4j.version>2.0.16</log4j.over.slf4j.version> <metrics.client.version>0.13.0</metrics.client.version> <metrics.client.incubator.version>0.13.0</metrics.client.incubator.version> <metrics.jvm.extra.version>0.13.1</metrics.jvm.extra.version> <metrics.http.extra.version>0.13.1</metrics.http.extra.version> <metrics.aggregator.protocol.version>1.2.1</metrics.aggregator.protocol.version> <mockito.version>5.13.0</mockito.version> <netty.version>4.0.56.Final</netty.version> <netty.all.version>4.0.21.Final</netty.all.version> <ning.http.client.version>1.9.31</ning.http.client.version> <oval.version>3.2.1</oval.version> <play.ws.version>3.0.5</play.ws.version> <postgresql.version>42.7.4</postgresql.version> <protobuf.version>3.25.3</protobuf.version> <reflections.version>0.11.7</reflections.version> <scala.version>2.13</scala.version> <scala.library.version>2.13.14</scala.library.version> <signalfx.protoc.version>1.0.45</signalfx.protoc.version> <slf4j.version>2.0.16</slf4j.version> <spotbugs.annotations.version>4.8.6</spotbugs.annotations.version> <typesafe.config.version>1.4.3</typesafe.config.version> <typesafe.ssl.config.version>0.6.1</typesafe.ssl.config.version> <wiremock.version>2.27.2</wiremock.version> <!--Plugin versions--> <avaje.ebeanorm.mavenenhancer.version>15.5.0</avaje.ebeanorm.mavenenhancer.version> <aspectjtools.maven.plugin>1.9.22.1</aspectjtools.maven.plugin> <aspectj.maven.plugin.version>1.15.0</aspectj.maven.plugin.version> <docker.maven.plugin.version>0.45.0</docker.maven.plugin.version> <javassist.maven.plugin.version>0.2.8</javassist.maven.plugin.version> <maven.assembly.plugin.version>3.7.1</maven.assembly.plugin.version> <rpm.maven.plugin.version>2.3.0</rpm.maven.plugin.version> <!-- Findbugs --> <spotbugs.exclude>${project.basedir}/spotbugs.exclude.xml</spotbugs.exclude> <!-- Code Coverage --> <jacoco.check.line.coverage>0.25</jacoco.check.line.coverage> <jacoco.check.branch.coverage>0.25</jacoco.check.branch.coverage> <!-- JVM Debug --> <debugJavaOptions /> <debugJavaPort>9000</debugJavaPort> <!-- Docker Overrides --> <skipDockerBuild>false</skipDockerBuild> <!-- Assembly Overrides --> <tgz.finalName>${project.build.finalName}</tgz.finalName> <!-- Project Overrides --> <buildDirectory>${project.basedir}/target</buildDirectory> </properties> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> <resource> <directory>config</directory> <includes> <include>**/*.conf</include> </includes> </resource> </resources> <plugins> <!-- Enable Inherited Plugins --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-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-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> <configuration> <argLine>${argLine} -Xms512m -Xmx1024m -ea -Duser.timezone="UTC"</argLine> <trimStackTrace>false</trimStackTrace> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <!-- TODO: Upgrade parent pom and inherit this block --> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> <configuration> <systemPropertyVariables> <dockerHostAddress>${docker.host.address}</dockerHostAddress> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </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> <!-- Project Specific Plugins --> <plugin> <artifactId>maven-clean-plugin</artifactId> <!-- TODO(ville): Cannot upgrade parent pom to latest without some major cleanup in this project (which is underway separately) but fixing the docker build in the short-term is more important. --> <!--<version>${maven.clean.plugin.version}</version>--> <version>3.4.0</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>cluster-aggregator</id> <mainClass>com.arpnetworking.clusteraggregator.Main</mainClass> </program> </programs> <unixScriptTemplate>${project.build.directory}/appAssemblerUnixBinTemplate</unixScriptTemplate> <endorsedDir>lib/ext</endorsedDir> </configuration> </plugin> <plugin> <groupId>io.ebean</groupId> <artifactId>ebean-maven-plugin</artifactId> <version>${avaje.ebeanorm.mavenenhancer.version}</version> <configuration> <packages>com.arpnetworking.clusteraggregator.models.ebean.**</packages> <transformArgs>debug=1</transformArgs> </configuration> <executions> <execution> <id>main</id> <phase>process-classes</phase> <goals> <goal>enhance</goal> </goals> </execution> </executions> </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>src/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>src/main/assembly/bin.xml</descriptor> </descriptors> </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>17</source> <target>17</target> <complianceLevel>17</complianceLevel> <aspectLibraries> <aspectLibrary> <groupId>com.arpnetworking.logback</groupId> <artifactId>logback-steno</artifactId> </aspectLibrary> </aspectLibraries> <excludes> <exclude>com/arpnetworking/clusteraggregator/client/AggClientConnection.java</exclude> <exclude>com/arpnetworking/tsdcore/model/AggregationMessage.java</exclude> <exclude>com/arpnetworking/utility/ParallelLeastShardAllocationStrategy.java</exclude> <exclude>com/arpnetworking/utility/ParallelLeastShardAllocationStrategyTest.java</exclude> </excludes> <showWeaveInfo>true</showWeaveInfo> </configuration> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>${aspectjtools.maven.plugin}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker.maven.plugin.version}</version> <extensions>true</extensions> <executions> <execution> <id>build</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>pre-build-remove</id> <phase>validate</phase> <goals> <goal>remove</goal> </goals> <configuration> <removeAll>true</removeAll> </configuration> </execution> <execution> <id>start</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> <configuration> <skip>${skipIntegrationTests}</skip> </configuration> </execution> <execution> <id>stop</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> <configuration> <skip>${skipIntegrationTests}</skip> </configuration> </execution> <execution> <id>push</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> </execution> </executions> <configuration> <autoCreateCustomNetworks>true</autoCreateCustomNetworks> <showLogs>true</showLogs> <images> <image> <name>arpnetworking/cluster-aggregator:${project.version}</name> <alias>cagg</alias> <build> <dockerFile>${project.build.directory}/docker-assembly/Dockerfile</dockerFile> <tags> <tag>${buildNumber}</tag> </tags> </build> <run> <network> <mode>custom</mode> <name>cagg-net</name> <alias>cagg</alias> </network> <ports> <port>+cagg.ip:${debugJavaPort}:${debugJavaPort}</port> <port>+cagg.ip:7066:7066</port> <port>+cagg.ip:7065:7065</port> </ports> <env> <JAVA_OPTS>${debugJavaOptions}</JAVA_OPTS> <!-- TODO(ville): Obtain these from the current user! --> <!-- Ref: https://github.com/rynr/user-id-maven-plugin --> <CAGG_UID>1000</CAGG_UID> <CAGG_GID>1000</CAGG_GID> </env> <volumes> <bind> <volume>${project.basedir}/logs/docker:/opt/cluster-aggregator/logs</volume> </bind> </volumes> <wait> <http> <url>http://${cagg.ip}:7066/ping</url> <method>GET</method> <status>200</status> </http> <!-- NOTE: The service is _really_ slow to start-up under native docker --> <time>150000</time> <kill>1000</kill> </wait> </run> </image> </images> <skip>${skipDockerBuild}</skip> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>17</source> <target>17</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <configuration> <ignoredUnusedDeclaredDependencies> <ignoredUnusedDeclaredDependency>io.ebean:ebean:jar:${ebean.version}</ignoredUnusedDeclaredDependency> </ignoredUnusedDeclaredDependencies> </configuration> </plugin> </plugins> </build> <dependencies> <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>com.arpnetworking.logback</groupId> <artifactId>logback-steno</artifactId> <version>${logback.steno.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>${log4j.over.slf4j.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-slf4j_${scala.version}</artifactId> <version>${pekko.version}</version> <scope>runtime</scope> </dependency> <!-- Metrics --> <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 in CAGG --> <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.http.extra.version}</version> <exclusions> <!-- TODO(ville): Remove suppression once findbugs to spotbugs migration is complete in CAGG --> <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.client.incubator.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> </dependency> <!-- Google --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <!-- TODO(ville): Remove me once Guava is fixed. --> <!-- See: https://github.com/google/guava/issues/2721 --> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>2.31.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf.version}</version> </dependency> <!-- Jackson --> <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-core</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.module</groupId> <artifactId>jackson-module-guice7</artifactId> <version>${jackson.version}</version> </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.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> <version>${jackson.version}</version> <scope>runtime</scope> </dependency> <!-- Pekko --> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-actor_${scala.version}</artifactId> <version>${pekko.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-http-core_${scala.version}</artifactId> <version>${pekko.http.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-stream_${scala.version}</artifactId> <version>${pekko.version}</version> </dependency> <dependency> <groupId>com.typesafe</groupId> <artifactId>config</artifactId> <version>${typesafe.config.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-cluster_${scala.version}</artifactId> <version>${pekko.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-remote_${scala.version}</artifactId> <version>${pekko.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-cluster-sharding_${scala.version}</artifactId> <version>${pekko.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-distributed-data_${scala.version}</artifactId> <version>${pekko.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.typesafe</groupId> <artifactId>ssl-config-core_${scala.version}</artifactId> <version>${typesafe.ssl.config.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-persistence-cassandra_${scala.version}</artifactId> <version>${pekko.persistence.cassandra.version}</version> <scope>runtime</scope> <exclusions> <exclusion> <groupId>org.apache.pekko</groupId> <artifactId>pekko-persistence-query</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-persistence-query_${scala.version}</artifactId> <version>${pekko.version}</version> <scope>runtime</scope> </dependency> <!-- Database --> <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>${javax.persistence.version}</version> </dependency> <dependency> <groupId>io.ebean</groupId> <artifactId>ebean</artifactId> <version>${ebean.version}</version> </dependency> <dependency> <groupId>io.ebean</groupId> <artifactId>jakarta-persistence-api</artifactId> <version>${jakarta.persistence.api.version}</version> </dependency> <dependency> <groupId>io.ebean</groupId> <artifactId>ebean-api</artifactId> <version>${ebean.version}</version> </dependency> <dependency> <groupId>io.ebean</groupId> <artifactId>ebean-annotation</artifactId> <version>${ebean.annotation.version}</version> </dependency> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>${flyway.version}</version> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${hikari.version}</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${postgresql.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2.version}</version> <scope>runtime</scope> </dependency> <!-- General --> <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>net.sf.oval</groupId> <artifactId>oval</artifactId> <version>${oval.version}</version> </dependency> <dependency> <groupId>it.unimi.dsi</groupId> <artifactId>fastutil</artifactId> <version>${fastutil.version}</version> <!-- Jackson support not yet available: https://github.com/FasterXML/jackson-datatypes-collections/issues/38 --> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>${javassist.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>javax.xml.ws</groupId> <artifactId>jaxws-api</artifactId> <version>${javax.xml.version}</version> </dependency> <dependency> <groupId>com.arpnetworking.commons</groupId> <artifactId>javassist-maven-core</artifactId> <version>${javassist.maven.core.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>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.library.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons.codec.version}</version> </dependency> <dependency> <groupId>org.asynchttpclient</groupId> <artifactId>async-http-client</artifactId> <version>${asynchttpclient.version}</version> </dependency> <dependency> <groupId>org.playframework</groupId> <artifactId>play-ahc-ws-standalone_${scala.version}</artifactId> <version>${play.ws.version}</version> </dependency> <dependency> <groupId>org.playframework</groupId> <artifactId>play-ws-standalone_${scala.version}</artifactId> <version>${play.ws.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${apache.httpclient.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${apache.httpcore.version}</version> </dependency> <dependency> <groupId>net.oneandone.reflections8</groupId> <artifactId>reflections8</artifactId> <version>${reflections.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectjrt.version}</version> <scope>runtime</scope> </dependency> <!-- Aggregator Protocol --> <dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-aggregator-protocol</artifactId> <version>${metrics.aggregator.protocol.version}</version> </dependency> <!-- Signal FX Protocol --> <dependency> <groupId>com.signalfx.public</groupId> <artifactId>signalfx-protoc</artifactId> <version>${signalfx.protoc.version}</version> </dependency> <!-- Test - General --> <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>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>pl.pragmatists</groupId> <artifactId>JUnitParams</artifactId> <version>${junitparams.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.pekko</groupId> <artifactId>pekko-testkit_${scala.version}</artifactId> <version>${pekko.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-persistence-cassandra-launcher_${scala.version}</artifactId> <version>${pekko.persistence.cassandra.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> <version>${awaitility.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> <name>cluster-aggregator</name> <license>Apache 2 License</license> <autoRequires>false</autoRequires> <group>System Environment/Daemons</group> <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> </requires> <mappings> <mapping> <directory>/opt/cluster-aggregator</directory> <sources> <source> <location>${buildDirectory}/appassembler</location> </source> </sources> </mapping> <mapping> <directory>/opt/cluster-aggregator/config</directory> <sources> <source> <location>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/cluster-aggregator/bin/cluster-aggregator</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> <debugJavaOptions>-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=${debugJavaPort},suspend=n</debugJavaOptions> </properties> </profile> <profile> <id>no-docker</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <skipIntegrationTests>true</skipIntegrationTests> <skipDockerBuild>true</skipDockerBuild> </properties> </profile> </profiles> </project>