| <?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-examples-parent</artifactId> |
| <version>0.3.0-incubating</version> |
| <relativePath>../pom.xml</relativePath> |
| </parent> |
| |
| <artifactId>beam-examples-java</artifactId> |
| <name>Apache Beam :: Examples :: Java</name> |
| <description>Apache Beam SDK provides a simple, Java-based |
| interface for processing virtually any size data. This |
| artifact includes all Apache Beam Java SDK examples.</description> |
| |
| <packaging>jar</packaging> |
| |
| <properties> |
| <spark.version>1.6.2</spark.version> |
| </properties> |
| |
| <profiles> |
| <!-- |
| A default profile that includes optional dependencies |
| on all of our runners. This is aimed at making it very |
| easy for users to run examples with any runner without |
| any configuration. It is not needed or desirable when |
| testing the examples with a particular runner. |
| |
| This profile can be disabled on the command line |
| by specifying -P !include-runners. |
| |
| This profile cannot be lifted to examples-parent because |
| it would be automatically deactivated when the Java 8 |
| profile were activated. |
| --> |
| <profile> |
| <id>include-runners</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-runners-direct-java</artifactId> |
| <version>${project.version}</version> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-runners-flink_2.10</artifactId> |
| <version>${project.version}</version> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> |
| <version>${project.version}</version> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-runners-spark</artifactId> |
| <version>${project.version}</version> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_2.10</artifactId> |
| <version>${spark.version}</version> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-streaming_2.10</artifactId> |
| <version>${spark.version}</version> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>jenkins-precommit</id> |
| <properties> |
| <skipITs>false</skipITs> |
| <skipDefaultIT>true</skipDefaultIT> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <useManifestOnlyJar>false</useManifestOnlyJar> |
| </configuration> |
| <executions> |
| <execution> |
| <id>direct-runner-integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <include>WordCountIT.java</include> |
| <include>WindowedWordCountIT.java</include> |
| </includes> |
| <parallel>all</parallel> |
| <threadCount>4</threadCount> |
| <systemPropertyVariables> |
| <beamTestPipelineOptions> |
| [ |
| "--project=apache-beam-testing", |
| "--tempLocation=gs://temp-storage-for-end-to-end-tests", |
| "--tempRoot=gs://temp-storage-for-end-to-end-tests", |
| "--runner=org.apache.beam.runners.direct.DirectRunner" |
| ] |
| </beamTestPipelineOptions> |
| </systemPropertyVariables> |
| </configuration> |
| </execution> |
| <execution> |
| <id>flink-runner-integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <include>WordCountIT.java</include> |
| </includes> |
| <parallel>all</parallel> |
| <threadCount>4</threadCount> |
| <systemPropertyVariables> |
| <beamTestPipelineOptions> |
| [ |
| "--project=apache-beam-testing", |
| "--tempRoot=gs://temp-storage-for-end-to-end-tests", |
| "--runner=org.apache.beam.runners.flink.TestFlinkRunner" |
| ] |
| </beamTestPipelineOptions> |
| </systemPropertyVariables> |
| </configuration> |
| </execution> |
| <execution> |
| <id>spark-runner-integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <include>WordCountIT.java</include> |
| </includes> |
| <parallel>all</parallel> |
| <threadCount>4</threadCount> |
| <systemPropertyVariables> |
| <beamTestPipelineOptions> |
| [ |
| "--project=apache-beam-testing", |
| "--tempRoot=gs://temp-storage-for-end-to-end-tests", |
| "--runner=org.apache.beam.runners.spark.TestSparkRunner" |
| ] |
| </beamTestPipelineOptions> |
| </systemPropertyVariables> |
| </configuration> |
| </execution> |
| <execution> |
| <id>dataflow-runner-integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <include>WordCountIT.java</include> |
| <include>WindowedWordCountIT.java</include> |
| </includes> |
| <parallel>all</parallel> |
| <threadCount>4</threadCount> |
| <systemPropertyVariables> |
| <beamTestPipelineOptions> |
| [ |
| "--project=apache-beam-testing", |
| "--tempRoot=gs://temp-storage-for-end-to-end-tests", |
| "--runner=org.apache.beam.runners.dataflow.testing.TestDataflowRunner" |
| ] |
| </beamTestPipelineOptions> |
| </systemPropertyVariables> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- |
| This profile disables streaming integration tests which |
| have the @Category(StreamingIT.class) annotation. |
| --> |
| <profile> |
| <id>disable-streaming-ITs</id> |
| <activation><activeByDefault>false</activeByDefault></activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <excludedGroups>org.apache.beam.sdk.testing.StreamingIT</excludedGroups> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <systemPropertyVariables> |
| <beamUseDummyRunner /> |
| <beamTestPipelineOptions> |
| </beamTestPipelineOptions> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| </plugin> |
| |
| <!-- Source plugin for generating source and test-source JARs. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <windowtitle>Apache Beam Examples</windowtitle> |
| <doctitle>Apache Beam Examples</doctitle> |
| |
| <subpackages>org.apache.beam.examples</subpackages> |
| <additionalparam>-exclude org.apache.beam.sdk.runners.worker:org.apache.beam.sdk.runners.dataflow:org.apache.beam.sdk.util ${beam.javadoc_opts}</additionalparam> |
| <use>false</use> |
| <quiet>true</quiet> |
| <bottom><![CDATA[<br>]]></bottom> |
| |
| <offlineLinks> |
| <!-- The Dataflow SDK docs --> |
| <offlineLink> |
| <url>https://cloud.google.com/dataflow/java-sdk/JavaDoc/</url> |
| <location>${basedir}/../../sdks/java/javadoc/dataflow-sdk-docs</location> |
| </offlineLink> |
| <!-- Other dependencies --> |
| <offlineLink> |
| <url>https://developers.google.com/api-client-library/java/google-api-java-client/reference/1.20.0/</url> |
| <location>${basedir}/../../sdks/java/javadoc/apiclient-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>http://avro.apache.org/docs/${avro.version}/api/java/</url> |
| <location>${basedir}/../../sdks/java/javadoc/avro-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>https://developers.google.com/resources/api-libraries/documentation/bigquery/v2/java/latest/</url> |
| <location>${basedir}/../../sdks/java/javadoc/bq-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>https://cloud.google.com/datastore/docs/apis/javadoc/</url> |
| <location>${basedir}/../../sdks/java/javadoc/datastore-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>http://docs.guava-libraries.googlecode.com/git-history/release18/javadoc/</url> |
| <location>${basedir}/../../sdks/java/javadoc/guava-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>http://fasterxml.github.io/jackson-annotations/javadoc/2.7/</url> |
| <location>${basedir}/../../sdks/java/javadoc/jackson-annotations-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>http://fasterxml.github.io/jackson-databind/javadoc/2.7/</url> |
| <location>${basedir}/../../sdks/java/javadoc/jackson-databind-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>http://www.joda.org/joda-time/apidocs</url> |
| <location>${basedir}/../../sdks/java/javadoc/joda-docs</location> |
| </offlineLink> |
| <offlineLink> |
| <url>https://developers.google.com/api-client-library/java/google-oauth-java-client/reference/1.20.0/</url> |
| <location>${basedir}/../../sdks/java/javadoc/oauth-docs</location> |
| </offlineLink> |
| </offlineLinks> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <phase>package</phase> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <finalName>${project.artifactId}-bundled-${project.version}</finalName> |
| <artifactSet> |
| <includes> |
| <include>*:*</include> |
| </includes> |
| </artifactSet> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| </plugin> |
| |
| <!-- Coverage analysis for unit tests. --> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <useManifestOnlyJar>false</useManifestOnlyJar> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <skip>${skipDefaultIT}</skip> |
| <parallel>all</parallel> |
| <threadCount>4</threadCount> |
| <systemPropertyVariables> |
| <beamTestPipelineOptions>${integrationTestPipelineOptions}</beamTestPipelineOptions> |
| </systemPropertyVariables> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.api-client</groupId> |
| <artifactId>google-api-client</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.apis</groupId> |
| <artifactId>google-api-services-bigquery</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.http-client</groupId> |
| <artifactId>google-http-client</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.apis</groupId> |
| <artifactId>google-api-services-pubsub</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</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>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-jdk14</artifactId> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <!-- Hamcrest and JUnit are required dependencies of PAssert, |
| which is used in the main code of DebuggingWordCount example. --> |
| |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-all</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| |
| <!-- |
| For testing the example itself, use the direct runner. This is separate from |
| the use of RunnableOnService tests for testing a particular runner. |
| --> |
| <dependency> |
| <groupId>org.apache.beam</groupId> |
| <artifactId>beam-runners-direct-java</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-all</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </project> |