Dependency Management
Was this helpful?
Was this helpful?
<properties>
<jackson.version>2.12.7</jackson.version>
<snakeyaml.version>2.2</snakeyaml.version>
...
</properties>
<dependencyManagement>
<dependencies>
<!-- prefer boms to pin multiple artifacts at the same version -->
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
</dependency>
...
</dependencyManagement> <dependencies>
<!-- do not include a version with the dependency here
as the version should be defined in the Pinot POM -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
...
</dependencies> <!-- pin versions required by plugin -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>${aws.sdk.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
...
<!-- include required dependencies -->
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sdk-core</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>kinesis</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
...
</dependencies>
...
<!-- maven-shade-plugin configuration to relocate conflicting libraries -->
<relocations>
<relocation>
<pattern>software.amazon</pattern>
<shadedPattern>${shade.prefix}.software.amazon</shadedPattern>
</relocation>
<relocation>
<pattern>com.fasterxml.jackson</pattern>
<shadedPattern>${shade.prefix}.com.fasterxml.jackson</shadedPattern>
</relocation>
</relocations>