<?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>google-cloud-clients</artifactId>
  <packaging>pom</packaging>
  <version>0.91.0-alpha</version><!-- {x-version-update:google-cloud-clients:current} -->
  <name>Google Cloud</name>
  <url>https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients</url>
  <description>
    Java idiomatic client for Google Cloud Platform services.
  </description>
  <developers>
    <developer>
      <id>garrettjonesgoogle</id>
      <name>Garrett Jones</name>
      <email>garrettjones@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>pongad</id>
      <name>Michael Darakananda</name>
      <email>pongad@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>shinfan</id>
      <name>Shin Fan</name>
      <email>shinfan@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>michaelbausor</id>
      <name>Micheal Bausor</name>
      <email>michaelbausor@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>vam-google</id>
      <name>Vadym Matsishevskyi</name>
      <email>vam@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>tswast</id>
      <name>Tim Swast</name>
      <email>tswast@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>neozwu</id>
      <name>Neo Wu</name>
      <email>neowu@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>lesv</id>
      <name>Les Vogel</name>
      <email>lesv@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>schmidt_sebastian</id>
      <name>Sebastian Schmidt</name>
      <email>mrschmidt@google.com</email>
      <organization>Google</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>andreamlin</id>
      <name>Andrea Lin</name>
      <email>andrealin@google.com</email>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>hzyi-google</id>
      <name>Hanzhen Yi</name>
      <email>hzyi@google.com</email>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
  </developers>
  <organization>
    <name>Google LLC</name>
  </organization>
  <scm>
    <connection>scm:git:git@github.com:googleapis/google-cloud-java.git</connection>
    <developerConnection>scm:git:git@github.com:googleapis/google-cloud-java.git</developerConnection>
    <url>https://github.com/googleapis/google-cloud-java</url>
    <tag>HEAD</tag>
  </scm>
  <ciManagement>
    <system>Circle CI</system>
    <url>https://circleci.com/gh/googleapis/google-cloud-java</url>
  </ciManagement>
  <issueManagement>
    <url>https://github.com/googleapis/google-cloud-java/issues</url>
    <system>GitHub Issues</system>
  </issueManagement>
  <distributionManagement>
    <snapshotRepository>
      <id>sonatype-nexus-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>sonatype-nexus-staging</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
    <site>
      <id>github-pages-site</id>
      <name>Deployment through GitHub's site deployment plugin</name>
      <url>site/google-cloud-clients</url>
    </site>
  </distributionManagement>
  <licenses>
    <license>
      <name>Apache-2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <project.javadoc.protobufBaseURL>https://googleapis.github.io/google-cloud-java/google-api-grpc/apidocs</project.javadoc.protobufBaseURL>
    <github.global.server>github</github.global.server>
    <site.installationModule>google-cloud-clients</site.installationModule>
    <bom.version>0.91.0-alpha</bom.version><!-- {x-version-update:google-cloud-bom:current} -->
    <api-client.version>1.27.0</api-client.version>
    <!-- make sure to keep gax version in sync with google-cloud-bom -->
    <gax.version>1.44.0</gax.version>
    <api.common.java.version>1.8.1</api.common.java.version>
    <google.auth.version>0.15.0</google.auth.version>
    <grpc.version>1.19.0</grpc.version>
    <!-- We are currently using the *-android version to support JDK7. -->
    <guava.version>27.1-android</guava.version>
    <http-client-bom.version>1.29.1</http-client-bom.version>
    <oauth-client.version>1.28.0</oauth-client.version>
    <protobuf.version>3.7.1</protobuf.version>
    <!-- make sure to keep opencensus version in sync with grpc -->
    <opencensus.version>0.19.2</opencensus.version>
    <!-- test dependency versions -->
    <easymock.version>3.4</easymock.version>
    <objenesis.version>2.6</objenesis.version>
  </properties>
  <!-- All non-test dependency versions should be added to google-cloud-bom/pom.xml -->
  <dependencies>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <version>1.3.2</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-bom</artifactId>
        <version>${bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-bom</artifactId>
        <version>${http-client-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-bigquery</artifactId>
        <version>v2-rev20181104-1.27.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-compute</artifactId>
        <version>v1-rev20181022-1.27.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud.datastore</groupId>
        <artifactId>datastore-v1-proto-client</artifactId>
        <version>1.6.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-dns</artifactId>
        <version>v1-rev20180813-1.27.0</version>
      </dependency>

      <!-- TODO(chingor): Remove this when grpc and guava converge -->
      <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>animal-sniffer-annotations</artifactId>
        <version>1.17</version>
      </dependency>

      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.3</version>
      </dependency>

      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-cloudresourcemanager</artifactId>
        <version>v1-rev20181015-1.27.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-storage</artifactId>
        <version>v1-rev20181109-1.27.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-translate</artifactId>
        <version>v2-rev20170525-1.27.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-core</artifactId>
        <version>1.73.0</version><!-- {x-version-update:google-cloud-core:current} -->
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20160810</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-core</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty-shaded</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-stub</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-auth</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-context</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-testing</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.2</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.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.auto.value</groupId>
        <artifactId>auto-value</artifactId>
        <version>1.4</version>
      </dependency>
      <dependency>
        <groupId>com.google.oauth-client</groupId>
        <artifactId>google-oauth-client</artifactId>
        <version>${oauth-client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api-client</groupId>
        <artifactId>google-api-client-appengine</artifactId>
        <version>${api-client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.api-client</groupId>
        <artifactId>google-api-client</artifactId>
        <version>${api-client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.auth</groupId>
        <artifactId>google-auth-library-credentials</artifactId>
        <version>${google.auth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.auth</groupId>
        <artifactId>google-auth-library-oauth2-http</artifactId>
        <version>${google.auth.version}</version>
      </dependency>
      <dependency>
        <groupId>io.opencensus</groupId>
        <artifactId>opencensus-api</artifactId>
        <version>${opencensus.version}</version>
      </dependency>
      <dependency>
        <groupId>io.opencensus</groupId>
        <artifactId>opencensus-contrib-grpc-util</artifactId>
        <version>${opencensus.version}</version>
      </dependency>
      <dependency>
        <groupId>io.opencensus</groupId>
        <artifactId>opencensus-contrib-http-util</artifactId>
        <version>${opencensus.version}</version>
      </dependency>
      <!-- testlib deps. Only put testlib dependencies here, which are testlib packages
      that correspond to another non-test package. Put pure test dependencies (e.g.
      junit) in the main pom.xml. -->
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava-testlib</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>com.google.errorprone</groupId>
        <artifactId>error_prone_annotations</artifactId>
        <version>2.3.2</version>
      </dependency>
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>${easymock.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.objenesis</groupId>
            <artifactId>objenesis</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.objenesis</groupId>
        <artifactId>objenesis</artifactId>
        <version>${objenesis.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.9.5</version>
      </dependency>
      <dependency>
        <groupId>com.google.truth</groupId>
        <artifactId>truth</artifactId>
        <version>0.44</version>
      </dependency>
      <dependency>
        <groupId>org.checkerframework</groupId>
        <artifactId>checker-compat-qual</artifactId>
        <version>2.5.5</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <modules>
    <module>google-cloud-asset</module>
    <module>google-cloud-automl</module>
    <module>google-cloud-bigtable</module>
    <module>google-cloud-bigquery</module>
    <module>google-cloud-bigquerydatatransfer</module>
    <module>google-cloud-bigquerystorage</module>
    <module>google-cloud-compute</module>
    <module>google-cloud-container</module>
    <module>google-cloud-containeranalysis</module>
    <module>google-cloud-contrib</module>
    <module>google-cloud-core</module>
    <module>google-cloud-core-http</module>
    <module>google-cloud-core-grpc</module>
    <module>google-cloud-dataproc</module>
    <module>google-cloud-datacatalog</module>
    <module>google-cloud-datalabeling</module>
    <module>google-cloud-datastore</module>
    <module>google-cloud-dlp</module>
    <module>google-cloud-dialogflow</module>
    <module>google-cloud-dns</module>
    <module>google-cloud-errorreporting</module>
    <module>google-cloud-firestore</module>
    <module>google-cloud-iamcredentials</module>
    <module>google-cloud-iot</module>
    <module>google-cloud-kms</module>
    <module>google-cloud-language</module>
    <module>google-cloud-logging</module>
    <module>google-cloud-monitoring</module>
    <module>google-cloud-notification</module>
    <module>google-cloud-os-login</module>
    <module>google-cloud-phishingprotection</module>
    <module>google-cloud-pubsub</module>
    <module>google-cloud-recaptchaenterprise</module>
    <module>google-cloud-redis</module>
    <module>google-cloud-resourcemanager</module>
    <module>google-cloud-scheduler</module>
    <module>google-cloud-securitycenter</module>
    <module>google-cloud-spanner</module>
    <module>google-cloud-speech</module>
    <module>google-cloud-storage</module>
    <module>google-cloud-talent</module>
    <module>google-cloud-tasks</module>
    <module>google-cloud-texttospeech</module>
    <module>google-cloud-trace</module>
    <module>google-cloud-translate</module>
    <module>google-cloud-vision</module>
    <module>google-cloud-video-intelligence</module>
    <module>google-cloud-webrisk</module>
    <module>google-cloud-websecurityscanner</module>
  </modules>
  <pluginRepositories>
    <pluginRepository>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>http://repo.maven.apache.org/maven2</url>
    </pluginRepository>
  </pluginRepositories>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>1.6.6</version>
          <extensions>true</extensions>
          <configuration>
            <serverId>ossrh</serverId>
            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
            <autoReleaseAfterClose>false</autoReleaseAfterClose>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.7</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.4.0</version>
          <configuration>
            <skip>true</skip>
            <executable>java</executable>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M3</version>
        <configuration>
          <!-- Excludes integration tests and smoke tests when unit tests are run -->
          <excludes>
            <exclude>**/*SmokeTest.java</exclude>
            <exclude>**/IT*.java</exclude>
            <exclude>**/*SmokeTest.java</exclude>
          </excludes>
          <reportNameSuffix>sponge_log</reportNameSuffix>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0-M1</version>
        <executions>
          <execution>
            <id>enforce</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.0,)</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>[1.7,)</version>
                </requireJavaVersion>
                <dependencyConvergence/>
                <requireUpperBoundDeps/>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.4.0</version>
        <executions>
          <execution>
            <goals>
              <goal>java</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <!-- to get rid of the warning: [WARNING] Warning: killAfter is now deprecated. Do you need it ?
               Please comment on MEXEC-6. see: method execute() in
               https://github.com/ispringer/exec-maven-plugin/blob/master/src/main/java/org/codehaus/mojo/exec/ExecJavaMojo.java
          -->
          <killAfter>-1</killAfter>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>3.0.0-M3</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <forkedProcessTimeoutInSeconds>1200</forkedProcessTimeoutInSeconds>
          <reportNameSuffix>sponge_log</reportNameSuffix>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          <archive>
            <addMavenDescriptor>true</addMavenDescriptor>
            <index>true</index>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
              <artifactId>${project.artifactId}</artifactId>
              <groupId>${project.groupId}</groupId>
              <version>${project.version}</version>
            </manifestEntries>
          </archive>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
          <encoding>UTF-8</encoding>
          <compilerArgument>-Xlint:unchecked</compilerArgument>
          <compilerArgument>-Xlint:deprecation</compilerArgument>
          <showDeprecation>true</showDeprecation>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.eluder.coveralls</groupId>
        <artifactId>coveralls-maven-plugin</artifactId>
        <version>4.1.0</version>
        <configuration>
          <coberturaReports>
            <coberturaReport>${basedir}/target/coverage.xml</coberturaReport>
          </coberturaReports>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.7</version>
        <configuration>
          <outputDirectory>${basedir}/target</outputDirectory>
          <formats>
            <format>xml</format>
            <format>html</format>
          </formats>
          <aggregate>true</aggregate>
          <instrumentation>
            <ignoreTrivial>true</ignoreTrivial>
            <includes>
              <include>com/google/cloud/**/*.class</include>
            </includes>
            <excludes>
              <exclude>com/google/cloud/examples/**/*.class</exclude>
              <exclude>com/google/cloud/**/AutoValue_*.class</exclude>
            </excludes>
          </instrumentation>
          <check/>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.4</version>
        <configuration>
          <skipDeploy>true</skipDeploy>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.8.2</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.8.1</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>index</report>
              <report>dependency-info</report>
              <report>project-team</report>
              <report>cim</report>
              <report>issue-tracking</report>
              <report>license</report>
              <report>scm</report>
              <report>dependency-management</report>
              <report>distribution-management</report>
              <report>summary</report>
              <report>modules</report>
            </reports>
          </reportSet>
        </reportSets>
        <configuration>
          <dependencyDetailsEnabled>true</dependencyDetailsEnabled>
          <dependencyLocationsEnabled>true</dependencyLocationsEnabled>
          <artifactId>${site.installationModule}</artifactId>
          <packaging>jar</packaging>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.1.0</version>
        <reportSets>
          <reportSet>
            <id>html</id>
            <reports>
              <report>aggregate</report>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
        <configuration>
          <doclint>none</doclint>
          <show>protected</show>
          <nohelp>true</nohelp>
          <outputDirectory>${project.build.directory}/javadoc</outputDirectory>
          <groups>
            <group>
              <title>API packages</title>
              <packages>com.google.cloud*</packages>
            </group>
            <group>
              <title>Test helpers packages</title>
              <packages>com.google.cloud.bigquery.testing:com.google.cloud.testing:com.google.cloud.datastore.testing:com.google.cloud.dns.testing:com.google.cloud.logging.testing:com.google.cloud.pubsub.testing:com.google.cloud.resourcemanager.testing:com.google.cloud.storage.testing:com.google.cloud.translate.testing:com.google.cloud.spanner.testing:com.google.cloud.storage.contrib.nio.testing</packages>
            </group>
            <group>
              <title>Example packages</title>
              <packages>com.google.cloud.examples.*:com.google.cloud.nio.examples</packages>
            </group>
            <group>
              <title>SPI packages</title>
              <packages>com.google.cloud.spi*:com.google.cloud.bigquery.spi*:com.google.cloud.datastore.spi*:com.google.cloud.dns.spi*:com.google.cloud.firestore.spi*:com.google.cloud.logging.spi*:com.google.cloud.resourcemanager.spi*:com.google.cloud.spanner.spi*:com.google.cloud.storage.spi*:com.google.cloud.translate.spi*</packages>
            </group>
            <group>
              <title>Stub packages</title>
              <packages>com.google.cloud.asset.v1.stub:com.google.cloud.asset.v1beta1.stub:com.google.cloud.automl.v1beta1.stub:com.google.cloud.bigquerydatatransfer.v1.stub:com.google.cloud.bigquerystorage.v1beta1.stub:com.google.cloud.bigtable-admin.v2.stub:com.google.cloud.bigtable.v2.stub:com.google.cloud.container.v1.stub:com.google.cloud.containeranalysis.v1beta1.stub:com.google.cloud.datacatalog.v1beta1.stub:com.google.cloud.datalabeling.v1beta1.stub:com.google.cloud.dataproc.v1.stub:com.google.cloud.dataproc.v1beta2.stub:com.google.cloud.dialogflow.v2.stub:com.google.cloud.dialogflow.v2beta1.stub:com.google.cloud.dlp.v2.stub:com.google.cloud.error-reporting.v1beta1.stub:com.google.cloud.firestore-admin.v1.stub:com.google.cloud.firestore.v1.stub:com.google.cloud.firestore.v1beta1.stub:com.google.cloud.iamcredentials.v1.stub:com.google.cloud.iot.v1.stub:com.google.cloud.kms.v1.stub:com.google.cloud.language.v1.stub:com.google.cloud.language.v1beta2.stub:com.google.cloud.logging.v2.stub:com.google.cloud.monitoring.v3.stub:com.google.cloud.os-login.v1.stub:com.google.cloud.phishingprotection.v1beta1.stub:com.google.cloud.pubsub.v1.stub:com.google.cloud.recaptchaenterprise.v1beta1.stub:com.google.cloud.redis.v1.stub:com.google.cloud.redis.v1beta1.stub:com.google.cloud.scheduler.v1.stub:com.google.cloud.scheduler.v1beta1.stub:com.google.cloud.securitycenter.v1.stub:com.google.cloud.securitycenter.v1beta1.stub:com.google.cloud.spanner-admin-database.v1.stub:com.google.cloud.spanner-admin-instance.v1.stub:com.google.cloud.spanner.v1.stub:com.google.cloud.speech.v1.stub:com.google.cloud.speech.v1beta1.stub:com.google.cloud.speech.v1p1beta1.stub:com.google.cloud.talent.v4beta1.stub:com.google.cloud.tasks.v2.stub:com.google.cloud.tasks.v2beta2.stub:com.google.cloud.tasks.v2beta3.stub:com.google.cloud.texttospeech.v1.stub:com.google.cloud.texttospeech.v1beta1.stub:com.google.cloud.trace.v1.stub:com.google.cloud.trace.v2.stub:com.google.cloud.translate.v3beta1.stub:com.google.cloud.video-intelligence.v1.stub:com.google.cloud.video-intelligence.v1beta1.stub:com.google.cloud.video-intelligence.v1beta2.stub:com.google.cloud.video-intelligence.v1p1beta1.stub:com.google.cloud.video-intelligence.v1p2beta1.stub:com.google.cloud.video-intelligence.v1p3beta1.stub:com.google.cloud.vision.v1.stub:com.google.cloud.vision.v1p1beta1.stub:com.google.cloud.vision.v1p2beta1.stub:com.google.cloud.vision.v1p3beta1.stub:com.google.cloud.vision.v1p4beta1.stub:com.google.cloud.webrisk.v1beta1.stub:com.google.cloud.websecurityscanner.v1alpha.stub</packages>
            </group>
            <group>
              <title>Deprecated packages</title>
              <packages>com.google.cloud.compute.deprecated*</packages>
            </group>
          </groups>

          <!-- TODO(chingor13): Remove this once we switch to per client javadoc sites -->
          <sourceFileExcludes>
            <!-- TODO(igorbernstein): use a custom doclet to exclude @InternalApi classes from javadoc -->
            <!-- Bigtable: Hide @InternalApi classes -->
            <exclude>com/google/cloud/bigtable/gaxx/**</exclude>

            <!-- Bigtable: Hide @InternalApi classes for InstanceAdmin -->
            <exclude>com/google/cloud/bigtable/admin/v2/internal/**</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableInstanceAdminCallableFactory.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableInstanceAdminStub.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/stub/BigtableInstanceAdminStub.java</exclude>

            <!-- Bigtable: Hide @InternalApi classes for TableAdmin -->
            <exclude>com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminSettings.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableTableAdminCallableFactory.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableTableAdminStub.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/stub/BigtableTableAdminStub.java</exclude>
            <exclude>com/google/cloud/bigtable/admin/v2/stub/EnhancedBigtableTableAdminStub.java</exclude>

            <!-- Bigtable: Hide @InternalApi classes for Data -->
            <exclude>com/google/cloud/bigtable/data/v2/internal/**</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/BaseBigtableDataClient.java</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/stub/BigtableStub.java</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/stub/GrpcBigtableStub.java</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/stub/GrpcBigtableCallableFactory.java</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/stub/mutaterows/**</exclude>
            <exclude>com/google/cloud/bigtable/data/v2/stub/readrows/**</exclude>
          </sourceFileExcludes>

          <links>
            <link>https://grpc.io/grpc-java/javadoc/</link>
            <link>https://developers.google.com/protocol-buffers/docs/reference/java/</link>
            <link>https://googleapis.github.io/google-auth-library-java/releases/latest/apidocs/</link>
            <link>https://googleapis.github.io/gax-java/${gax.version}/apidocs/</link>
            <link>https://googleapis.github.io/api-common-java/${api.common.java.version}/apidocs/</link>
          </links>
          <offlineLinks>
            <offlineLink>
              <url>${project.javadoc.protobufBaseURL}</url>
              <location>../../../target/site/apidocs/</location>
            </offlineLink>
          </offlineLinks>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <gpgArguments>
                    <arg>--pinentry-mode</arg>
                    <arg>loopback</arg>
                  </gpgArguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <!-- This profile is meant to be used by client developers, enabled by default in
      ~/.m2/settings.xml using `<activeProfiles>` -->
      <id>veneer-dev</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.theoryinpractise</groupId>
            <artifactId>googleformatter-maven-plugin</artifactId>
            <version>1.5.1</version>
            <executions>
              <execution>
                <id>reformat-sources</id>
                <phase>process-sources</phase>
                <goals>
                  <goal>format</goal>
                </goals>
                <configuration>
                  <style>GOOGLE</style>
                  <filterModified>true</filterModified>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <!-- for smoke test -->
      <id>smoke-test</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>3.0.0-M3</version>
            <executions>
              <execution>
                <goals>
                  <goal>integration-test</goal>
                  <goal>verify</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <includes>
                <include>**/*SmokeTest.java</include>
              </includes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <!-- Disable unit tests -->
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <!-- Only run checkstyle plugin on Java 8+ (checkstyle artifact only supports Java 8+) -->
      <id>checkstyle-tests</id>
      <activation>
        <jdk>[1.8,)</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>3.0.0</version>
            <dependencies>
              <dependency>
                <groupId>com.puppycrawl.tools</groupId>
                <artifactId>checkstyle</artifactId>
                <version>8.19</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>checkstyle</id>
                <phase>validate</phase>
                <goals>
                  <goal>check</goal>
                </goals>
                <configuration>
                  <headerLocation>java.header</headerLocation>
                  <configLocation>license-checks.xml</configLocation>
                  <consoleOutput>true</consoleOutput>
                  <failOnViolation>true</failOnViolation>
                  <violationSeverity>error</violationSeverity>
                  <failsOnError>true</failsOnError>
                  <includeTestSourceDirectory>true</includeTestSourceDirectory>
                  <excludes>com/google/cloud/*/v*/**</excludes><!-- We need to exclude autogenerated code -->
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
