<?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>com.google.cloud</groupId>
  <artifactId>gcp-lts-bom</artifactId>
  <version>3.0.2</version>
  <packaging>pom</packaging>

  <name>Google Cloud Long Term Support BOM</name>
  <description>Google Cloud Long Term Support BOM</description>
  <url>https://github.com/GoogleCloudPlatform/cloud-opensource-java</url>
  <organization>
    <name>Google LLC</name>
    <url>https://cloud.google.com</url>
  </organization>
  <inceptionYear>2021</inceptionYear>
  <developers>
    <developer>
      <name>Elliotte Rusty Harold</name>
    </developer>
    <developer>
      <name>Tomo Suzuki</name>
    </developer>
  </developers>

  <issueManagement>
    <url>https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues</url>
  </issueManagement>
  <scm>
    <connection>scm:git:git@github.com:GoogleCloudPlatform/cloud-opensource-java.git</connection>
    <developerConnection>scm:git:git@github.com:GoogleCloudPlatform/cloud-opensource-java.git
    </developerConnection>
    <url>https://github.com/GoogleCloudPlatform/cloud-opensource-java/boms/cloud-oss-bom</url>
    <tag>HEAD</tag>
  </scm>

  <licenses>
    <license>
      <name>The Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- Layer 1: Core -->
    <guava.version>31.1-jre</guava.version>
    <autovalue.version>1.9</autovalue.version>
    <protobuf.version>3.19.6</protobuf.version>
    <google-http-client.version>1.41.8</google-http-client.version>
    <api-common.version>2.1.5</api-common.version>
    <google-oauth-client.version>1.33.3</google-oauth-client.version>
    <google-auth-library.version>1.6.0</google-auth-library.version>
    <io.grpc.version>1.45.4</io.grpc.version>
    <google-api-client.version>1.34.1</google-api-client.version>
    <proto-google-common-protos.version>2.8.4</proto-google-common-protos.version>
    <!-- We don't use gax-bom because it includes the artifacts with 'testlib' classifier.
        When updating gax.version, update gax.httpjson.version too. -->
    <gax.version>2.16.0</gax.version>
    <!-- the gax-httpjson version in the gax-bom version above -->
    <gax-httpjson.version>0.101.0</gax-httpjson.version>
    <google-cloud-core.version>2.6.0</google-cloud-core.version>

    <!-- Layer 2: Cloud -->
    <appengine-api-1.0-sdk.version>1.9.96</appengine-api-1.0-sdk.version>
    <google-iam-admin.version>1.1.8</google-iam-admin.version>
    <google-cloud-iamcredentials.version>2.0.15</google-cloud-iamcredentials.version>
    <google-api-services-androidpublisher.version>v3-rev20211021-1.32.1</google-api-services-androidpublisher.version>
    <google-cloud-bigquery.version>2.10.9</google-cloud-bigquery.version>
    <!-- the google-api-services-bigquery version used by the google-cloud-bigquery version above -->
    <google-api-services-bigquery.version>v2-rev20220326-1.32.1</google-api-services-bigquery.version>
    <google-cloud-bigquerystorage.version>2.12.3</google-cloud-bigquerystorage.version>
    <google-cloud-storage.version>2.6.2</google-cloud-storage.version>
    <google-cloud-trace.version>2.1.12</google-cloud-trace.version>
    <google-cloud-monitoring.version>3.2.10</google-cloud-monitoring.version>
    <google-cloud-spanner.version>6.23.4</google-cloud-spanner.version>
    <google-cloud-tasks.version>2.1.12</google-cloud-tasks.version>
    <bigtable-hbase-beam.version>2.1.2</bigtable-hbase-beam.version>
    <google-cloud-bigtable.version>2.6.3</google-cloud-bigtable.version>
    <google-cloud-pubsub.version>1.117.1</google-cloud-pubsub.version>
    <!-- the proto-google-cloud-pubsub-v1 used by the google-cloud-pubsub version above -->
    <proto-google-cloud-pubsub-v1.version>1.99.1</proto-google-cloud-pubsub-v1.version>
    <google-cloud-datastore.version>2.2.11</google-cloud-datastore.version>
    <google-cloud-service-usage.version>2.2.8</google-cloud-service-usage.version>
    <google-cloud-container.version>2.3.8</google-cloud-container.version>
    <google-cloud-orchestration-airflow.version>1.1.8</google-cloud-orchestration-airflow.version>
    <google-cloud-resourcemanager.version>1.2.12</google-cloud-resourcemanager.version>
    <google-cloud-redis.version>2.4.2</google-cloud-redis.version>
    <google-cloud-logging.version>3.7.7</google-cloud-logging.version>
    <google-cloud-secretmanager.version>2.1.8</google-cloud-secretmanager.version>
    <gcs-connector.version>2.2.6</gcs-connector.version>

    <!-- Layer 3: Beam -->
    <beam.version>2.40.0</beam.version>
  </properties>

  <distributionManagement>
    <snapshotRepository>
      <id>sonatype-nexus-snapshots</id>
      <name>Sonatype Nexus Snapshots</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <dependencyManagement>

    <dependencies>
      <!-- Layer 1: Core -->
      <dependency>
        <!-- Not using guava-bom as it includes guava-gwt -->
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.auto.value</groupId>
        <artifactId>auto-value-annotations</artifactId>
        <version>${autovalue.version}</version>
      </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.google.http-client</groupId>
        <artifactId>google-http-client</artifactId>
        <version>${google-http-client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api</groupId>
        <artifactId>api-common</artifactId>
        <version>${api-common.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.oauth-client</groupId>
        <artifactId>google-oauth-client</artifactId>
        <version>${google-oauth-client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.auth</groupId>
        <artifactId>google-auth-library-oauth2-http</artifactId>
        <version>${google-auth-library.version}</version>
      </dependency>
      <!-- Not using grpc-bom as it includes artifacts that are not intended for users
        https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/1074 -->
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-alts</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-api</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-auth</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-context</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-core</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-grpclb</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty-shaded</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-okhttp</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf-lite</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-services</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-stub</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-testing</artifactId>
        <version>${io.grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api-client</groupId>
        <artifactId>google-api-client</artifactId>
        <version>${google-api-client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api-client</groupId>
        <artifactId>google-api-client-appengine</artifactId>
        <version>${google-api-client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api.grpc</groupId>
        <artifactId>proto-google-common-protos</artifactId>
        <version>${proto-google-common-protos.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api</groupId>
        <artifactId>gax</artifactId>
        <version>${gax.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api</groupId>
        <artifactId>gax-grpc</artifactId>
        <version>${gax.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api</groupId>
        <artifactId>gax-httpjson</artifactId>
        <version>${gax-httpjson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-core</artifactId>
        <version>${google-cloud-core.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-api-1.0-sdk</artifactId>
        <version>${appengine-api-1.0-sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-testing</artifactId>
        <version>${appengine-api-1.0-sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-iam-admin-bom</artifactId>
        <version>${google-iam-admin.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-iamcredentials-bom</artifactId>
        <version>${google-cloud-iamcredentials.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-androidpublisher</artifactId>
        <version>${google-api-services-androidpublisher.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-bigquery</artifactId>
        <version>${google-cloud-bigquery.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-bigquery</artifactId>
        <version>${google-api-services-bigquery.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-bigquerystorage-bom</artifactId>
        <version>${google-cloud-bigquerystorage.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-storage</artifactId>
        <version>${google-cloud-storage.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-trace-bom</artifactId>
        <version>${google-cloud-trace.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-monitoring-bom</artifactId>
        <version>${google-cloud-monitoring.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-spanner</artifactId>
        <version>${google-cloud-spanner.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api.grpc</groupId>
        <artifactId>proto-google-cloud-spanner-admin-database-v1</artifactId>
        <version>${google-cloud-spanner.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api.grpc</groupId>
        <artifactId>proto-google-cloud-spanner-v1</artifactId>
        <version>${google-cloud-spanner.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-tasks-bom</artifactId>
        <version>${google-cloud-tasks.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud.bigtable</groupId>
        <artifactId>bigtable-hbase-beam</artifactId>
        <version>${bigtable-hbase-beam.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <!-- Not using a BOM because it has google-cloud-bigtable-emulator -->
        <artifactId>google-cloud-bigtable</artifactId>
        <version>${google-cloud-bigtable.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api.grpc</groupId>
        <artifactId>proto-google-cloud-bigtable-v2</artifactId>
        <version>${google-cloud-bigtable.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-pubsub</artifactId>
        <version>${google-cloud-pubsub.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api.grpc</groupId>
        <artifactId>proto-google-cloud-pubsub-v1</artifactId>
        <version>${proto-google-cloud-pubsub-v1.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-datastore-bom</artifactId>
        <version>${google-cloud-datastore.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud.datastore</groupId>
        <artifactId>datastore-v1-proto-client</artifactId>
        <version>${google-cloud-datastore.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-service-usage-bom</artifactId>
        <version>${google-cloud-service-usage.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-container-bom</artifactId>
        <version>${google-cloud-container.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-orchestration-airflow-bom</artifactId>
        <version>${google-cloud-orchestration-airflow.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-resourcemanager-bom</artifactId>
        <version>${google-cloud-resourcemanager.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-redis-bom</artifactId>
        <version>${google-cloud-redis.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-logging-bom</artifactId>
        <version>${google-cloud-logging.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-secretmanager-bom</artifactId>
        <version>${google-cloud-secretmanager.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud.bigdataoss</groupId>
        <artifactId>gcs-connector</artifactId>
        <version>hadoop3-${gcs-connector.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud.bigdataoss</groupId>
        <artifactId>gcsio</artifactId>
        <version>${gcs-connector.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud.bigdataoss</groupId>
        <artifactId>util</artifactId>
        <version>${gcs-connector.version}</version>
      </dependency>

      <!-- Layer 3: Beam -->
      <dependency>
        <groupId>org.apache.beam</groupId>
        <artifactId>beam-sdks-java-core</artifactId>
        <version>${beam.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.beam</groupId>
        <artifactId>beam-sdks-java-extensions-google-cloud-platform-core</artifactId>
        <version>${beam.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.beam</groupId>
        <artifactId>beam-runners-google-cloud-dataflow-java</artifactId>
        <version>${beam.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.beam</groupId>
        <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId>
        <version>${beam.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

</project>
