apollo-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.spotify</groupId>
<artifactId>apollo-parent</artifactId>
<version>1.20.4</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Spotify Apollo Parent</name>
<url>https://github.com/spotify/apollo</url>
<parent>
<groupId>com.spotify</groupId>
<artifactId>foss-root</artifactId>
<version>10</version>
</parent>
<artifactId>apollo-parent</artifactId>
<version>1.20.4</version>
<packaging>pom</packaging>
<description>Java libraries for writing composable microservices</description>
<modules>
<module>apollo-bom</module>
<module>apollo-core</module>
<module>apollo-api</module>
<module>apollo-api-impl</module>
<module>apollo-environment</module>
<module>apollo-route</module>
<module>apollo-test</module>
<module>apollo-extra</module>
<module>apollo-entity</module>
<module>modules/okhttp-client</module>
<module>modules/metrics</module>
</modules>
<scm>
<url>https://github.com/spotify/apollo</url>
<connection>scm:git:git@github.com:spotify/apollo.git</connection>
<developerConnection>scm:git:git@github.com:spotify/apollo.git</developerConnection>
<tag>v1.20.4</tag>
</scm>
<properties>
<cucumber.version>4.8.0</cucumber.version>
<auto-matter.version>0.15.3</auto-matter.version>
<auto-value.version>1.7.4</auto-value.version>
<logback.version>1.2.3</logback.version>
<jackson.version>2.12.3</jackson.version>
<semantic-metrics.version>1.1.8</semantic-metrics.version>
<guava.version>30.1.1-jre</guava.version>
<junit.testkit.version>1.7.1</junit.testkit.version>
<slf4j.version>1.7.30</slf4j.version>
<hamcrest.version>2.2</hamcrest.version>
<distributionManagement.snapshotRepository.id>ossrh</distributionManagement.snapshotRepository.id>
<distributionManagement.snapshotRepository.url>https://s01.oss.sonatype.org/content/repositories/snapshots</distributionManagement.snapshotRepository.url>
<distributionManagement.repository.id>ossrh</distributionManagement.repository.id>
<distributionManagement.repository.url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</distributionManagement.repository.url>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.spotify</groupId>
<artifactId>apollo-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>okhttp</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>5.0.1</version>
</dependency>
<!--
From Guice 5+ multi-bindings is officially part of the its core library.
From Guice 4.2.x Guice already transferred the code into its core library,
but left the artifact `guice-multibindings` with no code in it for backward compatibility.
We are explicitly settings this version here so that we can move our users to Guice 5.0.1
without breaking their projects.
We should delete this dependency as soon as we can guarantee everyone moved to 5.0.1 -->
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-multibindings</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>net.sf.jopt-simple</groupId>
<artifactId>jopt-simple</artifactId>
<version>5.0.2</version>
</dependency>
<dependency>
<groupId>net.sourceforge.argparse4j</groupId>
<artifactId>argparse4j</artifactId>
<version>0.6.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.27</version>
</dependency>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>io.javaslang</groupId>
<artifactId>javaslang</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>com.yammer.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jvm</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.spotify.metrics</groupId>
<artifactId>semantic-metrics-bom</artifactId>
<version>${semantic-metrics.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Not needed anymore, except for cases where the shaded imports
com.spotify.ffwd.http.xyz are used by mistake.
Remove this when the downstream imports have been cleaned up. -->
<dependency>
<groupId>com.spotify.ffwd</groupId>
<artifactId>ffwd-http-client</artifactId>
<version>0.4.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>io.norberg</groupId>
<artifactId>auto-matter-jackson</artifactId>
<version>${auto-matter.version}</version>
</dependency>
<dependency>
<groupId>io.norberg</groupId>
<artifactId>auto-matter-annotation</artifactId>
<version>${auto-matter.version}</version>
</dependency>
<dependency>
<groupId>io.norberg</groupId>
<artifactId>rut</artifactId>
<version>1.0</version>
</dependency>
<!-- provided scope -->
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>1.0-rc4</version>
</dependency>
<dependency>
<groupId>io.norberg</groupId>
<artifactId>auto-matter</artifactId>
<version>${auto-matter.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value</artifactId>
<version>${auto-value.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value-annotations</artifactId>
<version>${auto-value.version}</version>
</dependency>
<!-- test dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.7.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-testkit</artifactId>
<version>${junit.testkit.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.23.4</version>
</dependency>
<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-netty</artifactId>
<version>3.9.17</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<!-- Keep for transitive dependencies -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<dependency>
<groupId>uk.org.lidalia</groupId>
<artifactId>slf4j-test</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>uk.org.lidalia</groupId>
<artifactId>lidalia-slf4j-ext</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path-assert</artifactId>
<version>2.2.0</version>
</dependency>
<!-- for com.spotify.apollo.meta.model.benchmark.GathererBenchmark -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.21</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.21</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.22</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.3.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>missinglink-maven-plugin</artifactId>
<version>0.2.2</version>
<configuration>
<failOnConflicts>true</failOnConflicts>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<phase>process-classes</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<inceptionYear>2013</inceptionYear>
</configuration>
</plugin>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
<version>0.6.1</version>
<configuration>
<oldVersion>
<dependency>
<groupId>com.spotify</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>1.0.0</version>
</dependency>
</oldVersion>
<newVersion>
<file>
<path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
</file>
</newVersion>
<parameter>
<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
<onlyBinaryIncompatible>true</onlyBinaryIncompatible>
</parameter>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>cmp</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<!-- To avoid ForkedBooter loading issue -->
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<!-- To avoid ForkedBooter loading issue -->
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>analyze</id>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<failOnWarning>true</failOnWarning>
<ignoreNonCompile>true</ignoreNonCompile>
<ignoredUnusedDeclaredDependencies>
<dependency>:junit-vintage-engine::</dependency>
<!-- dependency:analyze uses bytecode so it doesn't see annotations and constants -->
<dependency>:auto-matter::</dependency>
<dependency>:auto-service-annotations::</dependency>
<dependency>:auto-value-annotations::</dependency>
<dependency>javax.annotation:javax.annotation-api::</dependency>
<dependency>com.google.code.findbugs:::</dependency>
</ignoredUnusedDeclaredDependencies>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.8.1</version>
</plugin>
<plugin>
<artifactId>maven-changelog-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.19</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<failOnError>false</failOnError>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>coverage</id>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/AutoValue_*</exclude>
<exclude>**/LoadedConfigBuilder*</exclude>
<exclude>**/MetaInfoBuilder*</exclude>
<exclude>**/QueryStringDecoder*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>INSTRUCTION</counter>
<value>COVEREDRATIO</value>
<minimum>0.90</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>missinglink</id>
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>missinglink-maven-plugin</artifactId>
<configuration>
<includeScopes>compile,test,runtime</includeScopes>
<failOnConflicts>true</failOnConflicts>
<ignoreDestinationPackages>
<!-- not always present for all modules, will be present in final artifact -->
<ignoreDestinationPackage>
<package>org.slf4j.impl</package>
</ignoreDestinationPackage>
<!-- used by logback, optionally -->
<ignoreDestinationPackage>
<package>org.codehaus.groovy</package>
</ignoreDestinationPackage>
<!-- used by logback, optionally -->
<ignoreDestinationPackage>
<package>groovy</package>
</ignoreDestinationPackage>
<!-- may be used by logback, feature disabled if not present -->
<ignoreDestinationPackage>
<package>org.codehaus.janino</package>
</ignoreDestinationPackage>
<!-- netty references this for < Java 7 JDKs -->
<ignoreDestinationPackage>
<package>com.jcraft.jzlib</package>
</ignoreDestinationPackage>
<!-- ignore references to Android util in okhttp3 -->
<ignoreDestinationPackage>
<package>android.util</package>
</ignoreDestinationPackage>
</ignoreDestinationPackages>
<ignoreSourcePackages>
<ignoreSourcePackage>
<package>io.netty.util.internal</package>
</ignoreSourcePackage>
<ignoreSourcePackage>
<package>com.spotify.ffwd.http.okhttp3.internal.platform</package>
</ignoreSourcePackage>
<!-- optional references to Android -->
<ignoreSourcePackage>
<package>com.squareup.okhttp.internal</package>
</ignoreSourcePackage>
<ignoreSourcePackage>
<package>ch.qos.logback.classic.spi</package>
</ignoreSourcePackage>
</ignoreSourcePackages>
</configuration>
<executions>
<execution>
<id>check</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jdk8</id>
<activation>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</profile>
<profile>
<id>jdk9+</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<!-- Javac introduced the "release" option only in Java 9+. It
properly sets up source, target and boot classpath for the best
compatibility with different versions of Java. -->
<maven.compiler.release>8</maven.compiler.release>
</properties>
</profile>
</profiles>
<distributionManagement>
<snapshotRepository>
<id>${distributionManagement.snapshotRepository.id}</id>
<url>${distributionManagement.snapshotRepository.url}</url>
</snapshotRepository>
<repository>
<id>${distributionManagement.repository.id}</id>
<url>${distributionManagement.repository.url}</url>
</repository>
</distributionManagement>
<developers>
<developer>
<id>pettermahlen</id>
<email>petter@spotify.com</email>
<name>Petter Måhlén</name>
</developer>
<developer>
<id>rouzwawi</id>
<email>rouz@spotify.com</email>
<name>Rouzbeh Delavari</name>
</developer>
<developer>
<id>zalenski</id>
<email>zalenski@spotify.com</email>
<name>Mattias de Zalenski</name>
</developer>
</developers>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
</project>