vitess.io/vitess@v0.16.2/java/pom.xml (about)

     1  <?xml version="1.0" encoding="UTF-8"?>
     2  <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
     3    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     4    <modelVersion>4.0.0</modelVersion>
     5  
     6    <parent>
     7      <groupId>org.sonatype.oss</groupId>
     8      <artifactId>oss-parent</artifactId>
     9      <version>7</version>
    10    </parent>
    11  
    12    <groupId>io.vitess</groupId>
    13    <artifactId>vitess-parent</artifactId>
    14    <version>16.0.2</version>
    15    <packaging>pom</packaging>
    16  
    17    <name>Vitess Java Client libraries [Parent]</name>
    18    <description>Java client libraries for Vitess - a scalable clustering system for MySQL</description>
    19    <url>http://vitess.io</url>
    20    <inceptionYear>2014</inceptionYear>
    21    <!-- NOTE: The artifactId of each module has the prefix "vitess-". For example,
    22      for the JDBC driver it is "vitess-jdbc". -->
    23    <modules>
    24      <module>client</module>
    25      <module>example</module>
    26      <module>grpc-client</module>
    27      <module>jdbc</module>
    28    </modules>
    29  
    30    <organization>
    31      <name>Vitess</name>
    32      <url>http://vitess.io</url>
    33    </organization>
    34  
    35    <developers>
    36      <developer>
    37        <name>Placeholder entry representing all developers. Please reach out to our mailing list for questions.</name>
    38        <email>vitess@googlegroups.com</email>
    39        <organization>Vitess</organization>
    40        <organizationUrl>http://vitess.io</organizationUrl>
    41      </developer>
    42    </developers>
    43  
    44    <licenses>
    45      <license>
    46        <name>Apache Version 2.0</name>
    47        <url>https://github.com/vitessio/vitess/blob/main/LICENSE</url>
    48        <distribution>manual</distribution>
    49      </license>
    50    </licenses>
    51    <scm>
    52      <connection>scm:git:git@github.com:vitessio/vitess.git</connection>
    53      <developerConnection>scm:git:git@github.com:vitessio/vitess.git</developerConnection>
    54      <url>https://github.com/vitessio/vitess/tree/main</url>
    55    </scm>
    56    <issueManagement>
    57      <system>GitHub</system>
    58      <url>https://github.com/vitessio/vitess/issues</url>
    59    </issueManagement>
    60    <mailingLists>
    61      <mailingList>
    62        <archive>https://groups.google.com/forum/#!forum/vitess</archive>
    63      </mailingList>
    64    </mailingLists>
    65  
    66    <properties>
    67      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    68      <!-- Define versions which are also used by grpc-client/pom.xml. -->
    69      <grpc.version>1.44.0</grpc.version>
    70      <!-- NOTE Netty handler and boring SSL must be kept compatible with grpc
    71        https://github.com/grpc/grpc-java/blob/master/SECURITY.md#netty -->
    72      <netty.handler.version>4.1.72.Final</netty.handler.version>
    73      <tcnative.boring.ssl.version>2.0.46.Final</tcnative.boring.ssl.version>
    74  
    75      <protobuf.java.version>3.19.6</protobuf.java.version>
    76      <protobuf.protoc.version>3.19.4</protobuf.protoc.version>
    77      <checkstyle.plugin.version>3.0.0</checkstyle.plugin.version>
    78      <log4j2.version>2.17.1</log4j2.version>
    79    </properties>
    80  
    81    <!-- Add new dependencies here and then add it below or in your module. -->
    82    <dependencyManagement>
    83      <dependencies>
    84        <dependency>
    85          <groupId>com.google.code.findbugs</groupId>
    86          <artifactId>jsr305</artifactId>
    87          <version>3.0.2</version>
    88        </dependency>
    89        <dependency>
    90          <groupId>com.google.code.gson</groupId>
    91          <artifactId>gson</artifactId>
    92          <version>2.8.9</version>
    93        </dependency>
    94        <dependency>
    95          <groupId>com.google.guava</groupId>
    96          <artifactId>guava</artifactId>
    97          <version>30.1.1-jre</version>
    98        </dependency>
    99        <dependency>
   100          <groupId>com.google.protobuf</groupId>
   101          <artifactId>protobuf-java</artifactId>
   102          <version>${protobuf.java.version}</version>
   103        </dependency>
   104        <dependency>
   105          <groupId>javax.annotation</groupId>
   106          <artifactId>javax.annotation-api</artifactId>
   107          <version>1.3.2</version>
   108        </dependency>
   109        <dependency>
   110          <groupId>commons-io</groupId>
   111          <artifactId>commons-io</artifactId>
   112          <version>2.7</version>
   113        </dependency>
   114  
   115        <dependency>
   116          <groupId>io.grpc</groupId>
   117          <artifactId>grpc-core</artifactId>
   118          <version>${grpc.version}</version>
   119        </dependency>
   120        <dependency>
   121          <groupId>io.grpc</groupId>
   122          <artifactId>grpc-netty</artifactId>
   123          <version>${grpc.version}</version>
   124        </dependency>
   125        <dependency>
   126          <groupId>io.grpc</groupId>
   127          <artifactId>grpc-stub</artifactId>
   128          <version>${grpc.version}</version>
   129        </dependency>
   130        <dependency>
   131          <groupId>io.grpc</groupId>
   132          <artifactId>grpc-protobuf</artifactId>
   133          <version>${grpc.version}</version>
   134        </dependency>
   135        <dependency>
   136          <groupId>io.grpc</groupId>
   137          <artifactId>grpc-context</artifactId>
   138          <version>${grpc.version}</version>
   139        </dependency>
   140        <dependency>
   141          <groupId>io.grpc</groupId>
   142          <artifactId>grpc-api</artifactId>
   143          <version>${grpc.version}</version>
   144        </dependency>
   145        <dependency>
   146          <groupId>io.netty</groupId>
   147          <artifactId>netty-handler</artifactId>
   148          <version>${netty.handler.version}</version>
   149        </dependency>
   150        <!-- TODO(mberlin): When we upgrade grpc, check if we can remove this. Without,
   151          grpc-client TLS tests fail with error "Jetty ALPN/NPN has not been properly configured.". -->
   152        <dependency>
   153          <groupId>io.netty</groupId>
   154          <artifactId>netty-tcnative-boringssl-static</artifactId>
   155          <version>${tcnative.boring.ssl.version}</version>
   156        </dependency>
   157  
   158        <dependency>
   159          <groupId>io.vitess</groupId>
   160          <artifactId>vitess-client</artifactId>
   161          <version>${project.version}</version>
   162        </dependency>
   163        <dependency>
   164          <groupId>io.vitess</groupId>
   165          <artifactId>vitess-client</artifactId>
   166          <version>${project.version}</version>
   167          <type>test-jar</type>
   168        </dependency>
   169        <dependency>
   170          <groupId>io.vitess</groupId>
   171          <artifactId>vitess-grpc-client</artifactId>
   172          <version>${project.version}</version>
   173        </dependency>
   174        <dependency>
   175          <groupId>io.vitess</groupId>
   176          <artifactId>vitess-jdbc</artifactId>
   177          <version>${project.version}</version>
   178        </dependency>
   179  
   180        <dependency>
   181          <groupId>joda-time</groupId>
   182          <artifactId>joda-time</artifactId>
   183          <version>2.10</version>
   184        </dependency>
   185  
   186        <dependency>
   187          <groupId>junit</groupId>
   188          <artifactId>junit</artifactId>
   189          <version>4.13.1</version>
   190        </dependency>
   191  
   192        <dependency>
   193          <groupId>org.apache.logging.log4j</groupId>
   194          <artifactId>log4j-api</artifactId>
   195          <version>${log4j2.version}</version>
   196        </dependency>
   197        <dependency>
   198          <groupId>org.apache.logging.log4j</groupId>
   199          <artifactId>log4j-core</artifactId>
   200          <version>${log4j2.version}</version>
   201        </dependency>
   202  
   203        <dependency>
   204          <groupId>org.apache.commons</groupId>
   205          <artifactId>commons-collections4</artifactId>
   206          <version>4.2</version>
   207        </dependency>
   208  
   209        <dependency>
   210          <groupId>org.codehaus.mojo</groupId>
   211          <artifactId>exec-maven-plugin</artifactId>
   212          <version>1.4.0</version>
   213          <type>maven-plugin</type>
   214        </dependency>
   215      </dependencies>
   216    </dependencyManagement>
   217  
   218    <distributionManagement>
   219      <snapshotRepository>
   220        <id>ossrh</id>
   221        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
   222      </snapshotRepository>
   223    </distributionManagement>
   224  
   225    <build>
   226      <plugins>
   227        <plugin>
   228          <groupId>org.apache.maven.plugins</groupId>
   229          <artifactId>maven-compiler-plugin</artifactId>
   230          <version>3.8.1</version>
   231          <configuration>
   232            <source>1.8</source>
   233            <target>1.8</target>
   234          </configuration>
   235        </plugin>
   236        <!-- Add "dependency:analyze" to "verify" goal. -->
   237        <plugin>
   238          <artifactId>maven-dependency-plugin</artifactId>
   239          <version>2.10</version>
   240          <executions>
   241            <execution>
   242              <id>analyze</id>
   243              <goals>
   244                <goal>analyze-only</goal>
   245              </goals>
   246              <configuration>
   247                <failOnWarning>true</failOnWarning>
   248                <outputXML>true</outputXML>
   249                <ignoredUnusedDeclaredDependencies>
   250                  <dependency>mysql:mysql-connector-java</dependency>
   251                </ignoredUnusedDeclaredDependencies>
   252              </configuration>
   253            </execution>
   254          </executions>
   255        </plugin>
   256        <plugin>
   257          <groupId>org.apache.maven.plugins</groupId>
   258          <artifactId>maven-checkstyle-plugin</artifactId>
   259          <version>${checkstyle.plugin.version}</version>
   260          <configuration>
   261            <configLocation>google_checks.xml</configLocation>
   262            <suppressionsLocation>checkstyle-suppression.xml</suppressionsLocation>
   263            <consoleOutput>true</consoleOutput>
   264            <failsOnError>true</failsOnError>
   265            <failOnViolation>true</failOnViolation>
   266            <violationSeverity>warning</violationSeverity>
   267          </configuration>
   268          <executions>
   269            <execution>
   270              <id>validate</id>
   271              <phase>validate</phase>
   272              <goals>
   273                <goal>check</goal>
   274              </goals>
   275            </execution>
   276          </executions>
   277        </plugin>
   278      </plugins>
   279    </build>
   280  
   281    <!-- "release" Profile for releasing to OSS Sonatype which syncs to Maven Central. -->
   282    <profiles>
   283      <profile>
   284        <id>release</id>
   285        <build>
   286          <plugins>
   287            <plugin>
   288              <groupId>org.sonatype.plugins</groupId>
   289              <artifactId>nexus-staging-maven-plugin</artifactId>
   290              <version>1.6.8</version>
   291              <extensions>true</extensions>
   292              <configuration>
   293                <serverId>ossrh</serverId>
   294                <nexusUrl>https://oss.sonatype.org/</nexusUrl>
   295                <autoReleaseAfterClose>true</autoReleaseAfterClose>
   296              </configuration>
   297            </plugin>
   298            <plugin>
   299              <groupId>org.apache.maven.plugins</groupId>
   300              <artifactId>maven-source-plugin</artifactId>
   301              <version>2.2.1</version>
   302              <executions>
   303                <execution>
   304                  <id>attach-sources</id>
   305                  <goals>
   306                    <goal>jar-no-fork</goal>
   307                  </goals>
   308                </execution>
   309              </executions>
   310            </plugin>
   311            <plugin>
   312              <groupId>org.apache.maven.plugins</groupId>
   313              <artifactId>maven-javadoc-plugin</artifactId>
   314              <version>2.9.1</version>
   315              <executions>
   316                <execution>
   317                  <id>attach-javadocs</id>
   318                  <goals>
   319                    <goal>jar</goal>
   320                  </goals>
   321                </execution>
   322              </executions>
   323            </plugin>
   324            <plugin>
   325              <groupId>org.apache.maven.plugins</groupId>
   326              <artifactId>maven-gpg-plugin</artifactId>
   327              <version>1.5</version>
   328              <executions>
   329                <execution>
   330                  <id>sign-artifacts</id>
   331                  <phase>verify</phase>
   332                  <goals>
   333                    <goal>sign</goal>
   334                  </goals>
   335                </execution>
   336              </executions>
   337            </plugin>
   338          </plugins>
   339        </build>
   340      </profile>
   341  
   342      <!-- Disable doclint in Java 8. See http://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete.
   343        TODO(mberlin): Remove this once we fixed all lint errors. -->
   344      <profile>
   345        <id>disable-java8-doclint</id>
   346        <activation>
   347          <jdk>[1.8,)</jdk>
   348        </activation>
   349        <properties>
   350          <additionalparam>-Xdoclint:none</additionalparam>
   351        </properties>
   352      </profile>
   353    </profiles>
   354  
   355  </project>