| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <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> |
| |
| <parent> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-io-parent</artifactId> |
| <version>2.4.0</version> |
| <relativePath>../pom.xml</relativePath> |
| </parent> |
| |
| <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId> |
| <name>Apache Beam :: SDKs :: Java :: IO :: Google Cloud Platform</name> |
| <description>IO library to read and write Google Cloud Platform systems from Beam.</description> |
| <packaging>jar</packaging> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>bundle-and-repackage</id> |
| <phase>none</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- builds unshaded JARs used by Cloud Dataflow --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>build-unshaded-jar</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration> |
| <classifier>unshaded</classifier> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <profiles> |
| <!-- This profile invokes PerfKitBenchmarker, which does benchmarking of |
| the IO ITs. The arguments passed to it allow it to invoke mvn again |
| with the desired benchmark. |
| |
| To invoke this, run: |
| mvn verify -Dio-it-suite -pl sdks/java/io/google-cloud-platform |
| -DpkbLocation="path-to-pkb.py" \ |
| -DintegrationTestPipelineOptions='["-tempRoot=gs://bucket/staging", "-project=your-project-id"]' \ |
| -DgcpIoItClass=[your favorite IO's IT] |
| --> |
| <profile> |
| <id>io-it-suite</id> |
| <properties> |
| <!-- This is based on the location of the current pom relative to the |
| root. See discussion in BEAM-2460. --> |
| <beamRootProjectDir> |
| ${project.parent.parent.parent.parent.basedir} |
| </beamRootProjectDir> |
| </properties> |
| <activation><property><name>io-it-suite</name></property></activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <version>${groovy-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>find-supported-python-for-compile</id> |
| <phase>initialize</phase> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <configuration> |
| <source>${beamRootProjectDir}/sdks/python/findSupportedPython.groovy</source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>${maven-exec-plugin.version}</version> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <executable>${python.interpreter.bin}</executable> |
| <arguments> |
| <argument>${pkbLocation}</argument> |
| <argument>-benchmarks=beam_integration_benchmark</argument> |
| <argument>-beam_it_profile=io-it</argument> |
| <argument>-beam_location=${beamRootProjectDir}</argument> |
| <argument>-beam_prebuilt=true</argument> |
| <argument>-beam_sdk=java</argument> |
| <argument>-kubeconfig=${kubeconfig}</argument> |
| <argument>-kubectl=${kubectl}</argument> |
| <!-- runner overrides, controlled via forceDirectRunner --> |
| <argument>${pkbBeamRunnerProfile}</argument> |
| <argument>${pkbBeamRunnerOption}</argument> |
| <!-- specific to this IO --> |
| <argument>-beam_it_module=runners/google-cloud-dataflow-java</argument> |
| <!-- Most IOs have only one IT so this can be hard coded, but |
| since the GCP IO dir contains multiple IOs, we allow the |
| user to specify which particular one they want to run. --> |
| <argument>-beam_it_class=${gcpIoItClass}</argument> |
| <!-- arguments typically defined by user --> |
| <argument>-beam_it_options=${integrationTestPipelineOptions}</argument> |
| </arguments> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven-surefire-plugin.version}</version> |
| <configuration> |
| <skipTests>true</skipTests> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-extensions-google-cloud-platform-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-extensions-protobuf</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.apis</groupId> |
| <artifactId>google-api-services-bigquery</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.api</groupId> |
| <artifactId>gax-grpc</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud</groupId> |
| <artifactId>google-cloud-core-grpc</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.apis</groupId> |
| <artifactId>google-api-services-pubsub</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.api.grpc</groupId> |
| <artifactId>grpc-google-cloud-pubsub-v1</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.api.grpc</groupId> |
| <artifactId>proto-google-cloud-pubsub-v1</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud.bigdataoss</groupId> |
| <artifactId>util</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud.datastore</groupId> |
| <artifactId>datastore-v1-proto-client</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud.datastore</groupId> |
| <artifactId>datastore-v1-protos</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-auth</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-netty</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-handler</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-stub</artifactId> |
| </dependency> |
| |
| <!-- grpc-all does not obey IWYU, so we need to exclude from compile |
| scope and depend on it at runtime. --> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-all</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud</groupId> |
| <artifactId>google-cloud-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud</groupId> |
| <artifactId>google-cloud-spanner</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud.bigtable</groupId> |
| <artifactId>bigtable-protos</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.cloud.bigtable</groupId> |
| <artifactId>bigtable-client-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.api-client</groupId> |
| <artifactId>google-api-client</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.http-client</groupId> |
| <artifactId>google-http-client</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.http-client</groupId> |
| <artifactId>google-http-client-jackson2</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.auth</groupId> |
| <artifactId>google-auth-library-credentials</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.auth</groupId> |
| <artifactId>google-auth-library-oauth2-http</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-tcnative-boringssl-static</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro</artifactId> |
| </dependency> |
| |
| <!-- Build dependencies --> |
| <dependency> |
| <groupId>com.google.auto.value</groupId> |
| <artifactId>auto-value</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.auto.service</groupId> |
| <artifactId>auto-service</artifactId> |
| <optional>true</optional> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.api.grpc</groupId> |
| <artifactId>proto-google-cloud-spanner-admin-database-v1</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.api.grpc</groupId> |
| <artifactId>proto-google-common-protos</artifactId> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-core</artifactId> |
| <classifier>tests</classifier> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-extensions-google-cloud-platform-core</artifactId> |
| <classifier>tests</classifier> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-runners-direct-java</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-library</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-jdk14</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </project> |