yoj-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>tech.ydb.yoj</groupId>
<artifactId>yoj-parent</artifactId>
<version>2.10.1</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>
<groupId>tech.ydb.yoj</groupId>
<artifactId>yoj-parent</artifactId>
<version>2.10.1</version>
<packaging>pom</packaging>
<name>YDB ORM for Java (YOJ)</name>
<description>
YDB ORM for Java (YOJ) is a lightweight ORM for immutable entities.
</description>
<url>https://github.com/ydb-platform/yoj-project</url>
<modules>
<module>bom</module>
<module>databind</module>
<module>json-jackson-v2</module>
<module>repository</module>
<module>repository-test</module>
<module>repository-inmemory</module>
<module>repository-ydb-common</module>
<module>repository-ydb-v2</module>
<module>aspect</module>
<module>util</module>
<module>ext-meta-generator</module>
</modules>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<scm>
<url>https://github.com/ydb-platform/yoj-project</url>
<connection>scm:git:https://github.com/ydb-platform/yoj-project.git</connection>
<developerConnection>scm:git:https://github.com/ydb-platform/yoj-project.git</developerConnection>
</scm>
<developers>
<developer>
<name>Nikolai Amelichev</name>
<email>entropia@nebius.com</email>
<organization>Nebius</organization>
<organizationUrl>https://nebius.ai/</organizationUrl>
</developer>
<developer>
<name>Alexander Lavrukov</name>
<email>lavrukov@yandex-team.com</email>
<organization>Yandex Cloud</organization>
<organizationUrl>https://cloud.yandex.com/</organizationUrl>
</developer>
<developer>
<name>Alexander Korsukov</name>
<email>akorsukov@yandex-team.com</email>
<organization>Yandex Cloud</organization>
<organizationUrl>https://cloud.yandex.com/</organizationUrl>
</developer>
</developers>
<properties>
<!-- build settings -->
<encoding>UTF-8</encoding>
<project.build.sourceEncoding>${encoding}</project.build.sourceEncoding>
<project.build.resourceEncoding>${encoding}</project.build.resourceEncoding>
<project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding>
<maven.compile.encoding>${encoding}</maven.compile.encoding>
<maven.build.timestamp.format>yyyy-MM-dd-HH-mm-ss</maven.build.timestamp.format>
<maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
<java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.compiler.release>${java.version}</maven.compiler.release>
<test-classes>
**/*Test.class,
**/*Suite.class,
!**/*IntegrationTest.class,
!**/*IntegrationSuite.class,
</test-classes>
<!-- Maven plugins -->
<maven-clean-plugin.version>3.2.0</maven-clean-plugin.version>
<maven-compiler-plugin.version>3.14.1</maven-compiler-plugin.version>
<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
<maven-install-plugin.version>2.5.2</maven-install-plugin.version>
<maven-site-plugin.version>3.7.1</maven-site-plugin.version>
<maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
<maven-surefire-plugin.version>3.2.2</maven-surefire-plugin.version>
<maven-failsafe-plugin.version>3.2.2</maven-failsafe-plugin.version>
<maven-source-plugin.version>3.3.0</maven-source-plugin.version>
<maven-enforcer-plugin.version>3.6.2</maven-enforcer-plugin.version>
<maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
<maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version>
<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
<jacoco.version>0.8.14</jacoco.version>
<maven-checkstyle-plugin.version>3.3.0</maven-checkstyle-plugin.version>
<maven-dependency-plugin.version>3.6.1</maven-dependency-plugin.version>
<versions-maven-plugin.version>2.16.1</versions-maven-plugin.version>
<extra-enforcer-rules.version>1.11.0</extra-enforcer-rules.version>
<central-publishing-maven-plugin.version>0.7.0</central-publishing-maven-plugin.version>
<os-maven-plugin.version>1.7.1</os-maven-plugin.version>
<!-- YDB SDK 2.x -->
<ydb-sdk-v2.version>2.3.33</ydb-sdk-v2.version>
<ydb-proto-api.version>1.7.4</ydb-proto-api.version>
<!-- build-only dependencies (provided) -->
<lombok.version>1.18.42</lombok.version>
<checkstyle.version>10.12.4</checkstyle.version>
<lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version>
<lombok-maven-plugin.delombok.output>${project.build.directory}/delombok-for-javadoc</lombok-maven-plugin.delombok.output>
<!-- compile dependencies -->
<protobuf.version>3.25.5</protobuf.version>
<grpc.version>1.59.1</grpc.version>
<proto-google-common-protos.version>2.41.0</proto-google-common-protos.version>
<!-- Netty should be kept in sync with GRPC version
Currently, Netty revision is a little bit higher because of multiple vulnerabilities in Netty 4.1.x
that are fixed in later versions:
- https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw (>= 4.1.118.Final)
- https://www.cve.org/CVERecord?id=CVE-2025-55163 (>= 4.1.124.Final)
-->
<netty.version>4.1.128.Final</netty.version>
<javax.annotation-api.version>1.3.2</javax.annotation-api.version>
<jsr305.version>3.0.2</jsr305.version>
<guava.version>33.5.0-jre</guava.version>
<slf4j-api.version>1.7.36</slf4j-api.version>
<eclipse-collections.version>9.2.0</eclipse-collections.version>
<commons-lang.version>3.18.0</commons-lang.version>
<commons-text.version>1.14.0</commons-text.version>
<compile-testing.version>0.21.0</compile-testing.version>
<kotlin-compile-testing-fork.version>0.11.0</kotlin-compile-testing-fork.version>
<prometheus-simpleclient.version>0.16.0</prometheus-simpleclient.version>
<error-prone-annotations.version>2.36.0</error-prone-annotations.version>
<gson-version>2.12.1</gson-version>
<auto-service.version>1.1.1</auto-service.version>
<!-- optional dependencies (Kotlin support) -->
<!-- NB(nvamelichev): Kotlin Maven Plugin version is currently 2.2.x to support building YOJ on Java 25,
but we still wish to **target** Kotlin 1.9 -->
<kotlin-maven-plugin.version>2.2.21</kotlin-maven-plugin.version>
<kotlin-stdlib.version>1.9.25</kotlin-stdlib.version>
<kotlin-language.version>1.9</kotlin-language.version>
<kotlin-api.version>1.9</kotlin-api.version>
<!-- test dependencies -->
<junit.version>4.13.2</junit.version>
<assertj-core.version>3.27.6</assertj-core.version>
<log4j2.version>2.24.3</log4j2.version>
<mockito.version>5.20.0</mockito.version>
<!-- NB: testcontainers and docker-java versions are related - when bumping one, check if another needs to be bumped too -->
<docker-java.version>3.4.2</docker-java.version>
<!-- FIXME(nvamelichev): We cannot migrate to testcontainers 2.x unless we abandon JUnit4, and we cannot do that
without also abandoning downstream inheritors of our test classes from `repository-test` :-(
This means that we have to use a workaround instead of a good fix for the Docker API version issue:
https://github.com/testcontainers/testcontainers-java/issues/11212 -->
<testcontainers.version>1.21.3</testcontainers.version>
<!-- testcontainers 1.x ships with a vulnerable commons-compress=1.24.0 => we explicitly use a later version -->
<commons-compress.version>1.28.0</commons-compress.version>
<jackson.version>2.17.3</jackson.version>
<bytebuddy.version>1.17.7</bytebuddy.version>
<snakeyaml.version>2.4</snakeyaml.version>
<aspectjweaver.version>1.9.24</aspectjweaver.version>
<system-stubs.version>2.1.7</system-stubs.version>
<!-- Empty default for the `argLine` property used by JaCoCo -->
<argLine/>
</properties>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>lombok</id>
<dependencies>
<!-- sugar for java -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>unit-test</id>
<properties>
<test-classes>
**/*Test.class,
**/*Suite.class,
!**/*IntegrationTest.class,
!**/*IntegrationSuite.class,
</test-classes>
</properties>
</profile>
<profile>
<id>integration-test</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<test-classes>
**/*IntegrationTest.class,
**/*IntegrationSuite.class,
</test-classes>
</properties>
</profile>
<profile>
<id>coverage</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<test-classes>
**/*Test.class,
**/*Suite.class,
**/*IntegrationTest.class,
**/*IntegrationSuite.class,
</test-classes>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>jacoco-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/jacoco.exec</destFile>
</configuration>
</execution>
<execution>
<id>jacoco-site</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/jacoco.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadoc-and-source</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<executions>
<execution>
<id>delombok-for-javadoc</id>
<goals>
<goal>delombok</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>ossrh-s01</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<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>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>ossrh-s01</publishingServerId>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<parameters>true</parameters>
<proc>full</proc>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven-site-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<includes>
<include>${test-classes}</include>
</includes>
<argLine>@{argLine} -Xshare:off</argLine>
<redirectTestOutputToFile>${maven.test.redirectTestOutputToFile}</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-failsafe-plugin.version}</version>
<configuration>
<argLine>@{argLine} -Xshare:off</argLine>
<redirectTestOutputToFile>${maven.test.redirectTestOutputToFile}</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<executions>
<execution>
<id>enforce</id>
<phase>verify</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<!-- https://maven.apache.org/enforcer/enforcer-rules/index.html -->
<banDistributionManagement/>
<banDuplicatePomDependencyVersions/>
<bannedDependencies/>
<dependencyConvergence/>
<requireJavaVersion>
<version>${java.version}</version>
</requireJavaVersion>
<requireReleaseDeps>
<failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
<excludes>
<exclude>tech.ydb:*</exclude>
<exclude>tech.ydb.yoj*:*</exclude>
</excludes>
</requireReleaseDeps>
<!-- http://www.mojohaus.org/extra-enforcer-rules/ -->
<banDuplicateClasses>
<findAllDuplicates>true</findAllDuplicates>
<ignoreClasses/>
</banDuplicateClasses>
<enforceBytecodeVersion>
<maxJdkVersion>${java.version}</maxJdkVersion>
<excludes>
<exclude>org.projectlombok:lombok</exclude>
</excludes>
</enforceBytecodeVersion>
<banCircularDependencies/>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra-enforcer-rules.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>${lombok-maven-plugin.version}</version>
<executions>
<execution>
<id>delombok-for-javadoc</id>
<phase>generate-sources</phase>
<goals>
<goal>delombok</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<outputDirectory>${lombok-maven-plugin.delombok.output}</outputDirectory>
<addOutputDirectory>false</addOutputDirectory>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<sourcepath>${lombok-maven-plugin.delombok.output}</sourcepath>
<!-- TODO(nvamelichev@): Enable 'missing' validation and fix the docs -->
<doclint>all,-missing</doclint>
</configuration>
</plugin>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin-maven-plugin.version}</version>
<configuration>
<languageVersion>${kotlin-language.version}</languageVersion>
<apiVersion>${kotlin-api.version}</apiVersion>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-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-checkstyle-plugin</artifactId>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
<excludes>**/module-info.java</excludes>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>${os-maven-plugin.version}</version>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>tech.ydb.yoj</groupId>
<artifactId>yoj-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra-enforcer-rules.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-core.version}</version>
</dependency>
<dependency>
<groupId>uk.org.webcompere</groupId>
<artifactId>system-stubs-junit4</artifactId>
<version>${system-stubs.version}</version>
</dependency>
<dependency>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
<version>${slf4j-api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${log4j2.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${testcontainers.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-api</artifactId>
<version>${eclipse-collections.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections</artifactId>
<version>${eclipse-collections.version}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${javax.annotation-api.version}</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>${prometheus-simpleclient.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${jsr305.version}</version>
</dependency>
<dependency>
<groupId>com.google.testing.compile</groupId>
<artifactId>compile-testing</artifactId>
<version>${compile-testing.version}</version>
</dependency>
<!-- Alternative to kotlin-compile-testing that supports modern Kotlin compiler versions (> 1.9) -->
<dependency>
<groupId>dev.zacsweers.kctfork</groupId>
<artifactId>core</artifactId>
<version>${kotlin-compile-testing-fork.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-bom</artifactId>
<version>${mockito.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${commons-text.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${commons-compress.version}</version>
</dependency>
<dependency>
<groupId>tech.ydb</groupId>
<artifactId>ydb-sdk-bom</artifactId>
<version>${ydb-sdk-v2.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>tech.ydb</groupId>
<artifactId>ydb-proto-api</artifactId>
<version>${ydb-proto-api.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${netty.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-bom</artifactId>
<version>${grpc.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>${protobuf.version}</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>${protobuf.version}</version>
</dependency>
<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>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>${error-prone-annotations.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson-version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>${kotlin-stdlib.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin-stdlib.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectjweaver.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${bytebuddy.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- unit testing framework -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- for advanced assertions -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
<reportSets>
<reportSet>
<reports>
<report>dependency-updates-report</report>
<report>plugin-updates-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>