Update examples archetype with runner profiles This makes it possible to run the examples on all runners.
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/265c7924 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/265c7924 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/265c7924 Branch: refs/heads/master Commit: 265c79241f802f4d895648c1b1c4b75e6846d245 Parents: a20bc47 Author: Dan Halperin <[email protected]> Authored: Wed Nov 30 11:10:20 2016 -0800 Committer: Dan Halperin <[email protected]> Committed: Wed Nov 30 16:28:19 2016 -0800 ---------------------------------------------------------------------- .../main/resources/archetype-resources/pom.xml | 123 ++++++++++++++++--- 1 file changed, 103 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/265c7924/sdks/java/maven-archetypes/examples/src/main/resources/archetype-resources/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/examples/src/main/resources/archetype-resources/pom.xml b/sdks/java/maven-archetypes/examples/src/main/resources/archetype-resources/pom.xml index 031ee88..df2e9f3 100644 --- a/sdks/java/maven-archetypes/examples/src/main/resources/archetype-resources/pom.xml +++ b/sdks/java/maven-archetypes/examples/src/main/resources/archetype-resources/pom.xml @@ -26,6 +26,10 @@ <packaging>jar</packaging> + <properties> + <beam.version>0.4.0-incubating-SNAPSHOT</beam.version> + </properties> + <repositories> <repository> <id>apache.snapshots</id> @@ -85,36 +89,108 @@ </pluginManagement> </build> - <dependencies> - <!-- Adds a dependency on a specific version of the Beam SDK. --> - <dependency> - <groupId>org.apache.beam</groupId> - <artifactId>beam-sdks-java-core</artifactId> - <version>0.4.0-incubating-SNAPSHOT</version> - </dependency> + <profiles> + <profile> + <id>direct-runner</id> + <!-- Makes the DirectRunner available when running a pipeline. --> + <dependencies> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-direct-java</artifactId> + <version>${beam.version}</version> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> - <!-- Adds a dependency on the Beam direct runner. --> - <dependency> - <groupId>org.apache.beam</groupId> - <artifactId>beam-runners-direct-java</artifactId> - <version>0.4.0-incubating-SNAPSHOT</version> - <scope>runtime</scope> - </dependency> + <profile> + <id>apex-runner</id> + <!-- Makes the ApexRunner available when running a pipeline. --> + <dependencies> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-apex</artifactId> + <version>${beam.version}</version> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + + <profile> + <id>dataflow-runner</id> + <!-- Makes the DataflowRunner available when running a pipeline. --> + <dependencies> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> + <version>${beam.version}</version> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + <profile> + <id>flink-runner</id> + <!-- Makes the FlinkRunner available when running a pipeline. --> + <dependencies> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-flink_2.10</artifactId> + <version>${beam.version}</version> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + + <profile> + <id>spark-runner</id> + <!-- Makes the SparkRunner available when running a pipeline. Additionally, + overrides some Spark dependencies to Beam-compatible versions. --> + <dependencies> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-spark</artifactId> + <version>${beam.version}</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.apache.spark</groupId> + <artifactId>spark-streaming_2.10</artifactId> + <version>1.6.2</version> + <scope>runtime</scope> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>jul-to-slf4j</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-scala_2.10</artifactId> + <version>2.7.2</version> + <scope>runtime</scope> + </dependency> + </dependencies> + </profile> + </profiles> + + <dependencies> + <!-- Adds a dependency on the Beam SDK. --> <dependency> <groupId>org.apache.beam</groupId> - <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> - <version>0.4.0-incubating-SNAPSHOT</version> - <scope>runtime</scope> + <artifactId>beam-sdks-java-core</artifactId> + <version>${beam.version}</version> </dependency> - <!-- Adds a dependency on a specific version of the Beam Google Cloud Platform IO module. --> + <!-- Adds a dependency on the Beam Google Cloud Platform IO module. --> <dependency> <groupId>org.apache.beam</groupId> <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId> - <version>0.4.0-incubating-SNAPSHOT</version> + <version>${beam.version}</version> </dependency> + <!-- Dependencies below this line are specific dependencies needed by the examples code. --> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> @@ -129,7 +205,6 @@ </exclusions> </dependency> - <!-- Dependencies below this line are specific dependencies needed by the examples code. --> <dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-bigquery</artifactId> @@ -212,5 +287,13 @@ <artifactId>junit</artifactId> <version>4.11</version> </dependency> + + <!-- The DirectRunner is needed for unit tests. --> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-direct-java</artifactId> + <version>${beam.version}</version> + <scope>test</scope> + </dependency> </dependencies> </project>
