Create java8-examples archetype module This archetype module is automatically generated during the build process, and its dependencies and tests verified.
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/9cb8b5fa Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/9cb8b5fa Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/9cb8b5fa Branch: refs/heads/master Commit: 9cb8b5fa4c2275b2dda94483575a3aaf04dae34d Parents: 6489b6d Author: Kenneth Knowles <k...@google.com> Authored: Thu Nov 10 14:47:56 2016 -0800 Committer: Davor Bonaci <da...@google.com> Committed: Sat Dec 3 16:12:00 2016 -0800 ---------------------------------------------------------------------- .gitignore | 3 + .../examples-java8/generate-sources.sh | 82 ++++++++ .../maven-archetypes/examples-java8/pom.xml | 177 ++++++++++++++++ .../META-INF/maven/archetype-metadata.xml | 39 ++++ .../main/resources/archetype-resources/pom.xml | 209 +++++++++++++++++++ .../projects/basic/archetype.properties | 21 ++ .../src/test/resources/projects/basic/goal.txt | 1 + .../main/resources/archetype-resources/pom.xml | 19 +- sdks/java/maven-archetypes/pom.xml | 17 ++ 9 files changed, 567 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/.gitignore ---------------------------------------------------------------------- diff --git a/.gitignore b/.gitignore index 0340d8a..fcfeafc 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,9 @@ target/ bin/ +# Ignore generated archetypes +sdks/java/maven-archetypes/examples-java8/src/main/resources/archetype-resources/src/ + # Ignore IntelliJ files. .idea/ *.iml http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/sdks/java/maven-archetypes/examples-java8/generate-sources.sh ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/examples-java8/generate-sources.sh b/sdks/java/maven-archetypes/examples-java8/generate-sources.sh new file mode 100755 index 0000000..7b85e85 --- /dev/null +++ b/sdks/java/maven-archetypes/examples-java8/generate-sources.sh @@ -0,0 +1,82 @@ +#!/bin/bash -ex +# +# 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. +# + +# Updates the examples-java8 archetype to have selection of our examples +# for use in walkthroughs, etc. +# +# Usage: Invoke with no arguments from any working directory. + +# The directory of this script. Assumes root of the maven-archetypes module. +HERE="$(dirname $0)" + +# The directory of the examples-java and examples-java8 modules +EXAMPLES_ROOT="${HERE}/../../../../examples/java" +JAVA8_EXAMPLES_ROOT="${HERE}/../../../../examples/java8" + +# The root of the examples archetype +ARCHETYPE_ROOT="${HERE}/src/main/resources/archetype-resources" + +mkdir -p "$ARCHETYPE_ROOT/src/main/java" +mkdir -p "$ARCHETYPE_ROOT/src/test/java" + +# +# Copy the Java 7 subset of the examples project verbatim. +# +rsync -a --exclude cookbook --exclude complete \ + "${EXAMPLES_ROOT}"/src/main/java/org/apache/beam/examples/ \ + "${ARCHETYPE_ROOT}/src/main/java" + +rsync -a --exclude cookbook --exclude complete --exclude '*IT.java' \ + "${EXAMPLES_ROOT}"/src/test/java/org/apache/beam/examples/ \ + "${ARCHETYPE_ROOT}/src/test/java" + +# +# Copy in MinimalWordCountJava8 and mobile gaming example +# +rsync -a \ + "${JAVA8_EXAMPLES_ROOT}"/src/main/java/org/apache/beam/examples/ \ + "${ARCHETYPE_ROOT}/src/main/java" + +rsync -a \ + "${JAVA8_EXAMPLES_ROOT}"/src/test/java/org/apache/beam/examples/ \ + "${ARCHETYPE_ROOT}/src/test/java" + + +# +# Replace 'package org.apache.beam.examples' with 'package ${package}' in all Java code +# +find "${ARCHETYPE_ROOT}/src/main/java" -name '*.java' -print0 \ + | xargs -0 sed -i.bak 's/^package org\.apache\.beam\.examples/package ${package}/g' + +find "${ARCHETYPE_ROOT}/src/test/java" -name '*.java' -print0 \ + | xargs -0 sed -i.bak 's/^package org\.apache\.beam\.examples/package ${package}/g' + +# +# Replace 'import org.apache.beam.examples.' with 'import ${package}.' in all Java code +# +find "${ARCHETYPE_ROOT}/src/main/java" -name '*.java' -print0 \ + | xargs -0 sed -i.bak 's/^import org\.apache\.beam\.examples/import ${package}/g' + +find "${ARCHETYPE_ROOT}/src/test/java" -name '*.java' -print0 \ + | xargs -0 sed -i.bak 's/^import org\.apache\.beam\.examples/import ${package}/g' + +# +# The use of -i.bak is necessary for the above to work with both GNU and BSD sed. +# Delete the files now. +# +find "${ARCHETYPE_ROOT}/src" -name '*.bak' -delete http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/sdks/java/maven-archetypes/examples-java8/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/examples-java8/pom.xml b/sdks/java/maven-archetypes/examples-java8/pom.xml new file mode 100644 index 0000000..5cf094e --- /dev/null +++ b/sdks/java/maven-archetypes/examples-java8/pom.xml @@ -0,0 +1,177 @@ +<?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-maven-archetypes-parent</artifactId> + <version>0.4.0-incubating-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <artifactId>beam-sdks-java-maven-archetypes-examples-java8</artifactId> + <name>Apache Beam :: SDKs :: Java :: Maven Archetypes :: Examples - Java 8</name> + <description>A Maven Archetype to create a project containing + example pipelines from the Apache Beam Java SDK, targeting Java 8. + </description> + + <packaging>maven-archetype</packaging> + + <build> + <extensions> + <extension> + <groupId>org.apache.maven.archetype</groupId> + <artifactId>archetype-packaging</artifactId> + <version>2.4</version> + </extension> + </extensions> + + <pluginManagement> + <plugins> + <plugin> + <artifactId>maven-archetype-plugin</artifactId> + <version>2.4</version> + <executions> + <!-- archetype-packaging above binds this plugin's goals as follows: + archetype:jar to the package phase, + archetype:integration-test to the integration-test phase, + archetype:update-local-catalog to the install phase. + We defer the integration-test goal to the install phase, since + this test actually depends on the core SDK to be installed. --> + <execution> + <id>default-integration-test</id> + <phase>install</phase> + <goals> + <goal>integration-test</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + <plugin> + <artifactId>exec-maven-plugin</artifactId> + <groupId>org.codehaus.mojo</groupId> + <executions> + <execution> + <id>generate-archetype-contents</id> + <phase>generate-sources</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <executable>${project.basedir}/generate-sources.sh</executable> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <!-- + These are the dependencies of the generated code. This enables + the include-what-you-use analysis to work on the archetype. + + In alphabetical order by groupId, then artifactId. + --> + <dependencies> + <dependency> + <groupId>com.google.api-client</groupId> + <artifactId>google-api-client</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>com.google.apis</groupId> + <artifactId>google-api-services-bigquery</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>com.google.apis</groupId> + <artifactId>google-api-services-pubsub</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>com.google.http-client</groupId> + <artifactId>google-http-client</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>com.google.oauth-client</groupId> + <artifactId>google-oauth-client</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>joda-time</groupId> + <artifactId>joda-time</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.avro</groupId> + <artifactId>avro</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-sdks-java-core</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-direct-java</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/sdks/java/maven-archetypes/examples-java8/src/main/resources/META-INF/maven/archetype-metadata.xml ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/examples-java8/src/main/resources/META-INF/maven/archetype-metadata.xml b/sdks/java/maven-archetypes/examples-java8/src/main/resources/META-INF/maven/archetype-metadata.xml new file mode 100644 index 0000000..dbdd614 --- /dev/null +++ b/sdks/java/maven-archetypes/examples-java8/src/main/resources/META-INF/maven/archetype-metadata.xml @@ -0,0 +1,39 @@ +<?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. +--> +<archetype-descriptor + xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" + name="Google Cloud Dataflow Example Pipelines Archetype" + xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + + <fileSets> + <fileSet filtered="true" packaged="true" encoding="UTF-8"> + <directory>src/main/java</directory> + <includes> + <include>**/*.java</include> + </includes> + </fileSet> + + <fileSet filtered="true" packaged="true" encoding="UTF-8"> + <directory>src/test/java</directory> + <includes> + <include>**/*.java</include> + </includes> + </fileSet> + </fileSets> +</archetype-descriptor> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/sdks/java/maven-archetypes/examples-java8/src/main/resources/archetype-resources/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/examples-java8/src/main/resources/archetype-resources/pom.xml b/sdks/java/maven-archetypes/examples-java8/src/main/resources/archetype-resources/pom.xml new file mode 100644 index 0000000..ece8412 --- /dev/null +++ b/sdks/java/maven-archetypes/examples-java8/src/main/resources/archetype-resources/pom.xml @@ -0,0 +1,209 @@ +<?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> + + <groupId>${groupId}</groupId> + <artifactId>${artifactId}</artifactId> + <version>${version}</version> + + <packaging>jar</packaging> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.5.1</version> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.19.1</version> + <configuration> + <parallel>all</parallel> + <threadCount>4</threadCount> + <redirectTestOutputToFile>true</redirectTestOutputToFile> + </configuration> + <dependencies> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit47</artifactId> + <version>2.19.1</version> + </dependency> + </dependencies> + </plugin> + </plugins> + + <pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.4.0</version> + <configuration> + <cleanupDaemonThreads>false</cleanupDaemonThreads> + </configuration> + </plugin> + </plugins> + </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> + + <!-- Adds a dependency on a specific version of the Dataflow runnner. --> + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-direct-java</artifactId> + <version>0.4.0-incubating-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.beam</groupId> + <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> + <version>0.4.0-incubating-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <!-- Adds a dependency on a specific version of 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> + </dependency> + + <dependency> + <groupId>com.google.api-client</groupId> + <artifactId>google-api-client</artifactId> + <version>1.22.0</version> + <exclusions> + <!-- Exclude an old version of guava that is being pulled + in by a transitive dependency of google-api-client --> + <exclusion> + <groupId>com.google.guava</groupId> + <artifactId>guava-jdk5</artifactId> + </exclusion> + </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> + <version>v2-rev295-1.22.0</version> + <exclusions> + <!-- Exclude an old version of guava that is being pulled + in by a transitive dependency of google-api-client --> + <exclusion> + <groupId>com.google.guava</groupId> + <artifactId>guava-jdk5</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>com.google.http-client</groupId> + <artifactId>google-http-client</artifactId> + <version>1.22.0</version> + <exclusions> + <!-- Exclude an old version of guava that is being pulled + in by a transitive dependency of google-api-client --> + <exclusion> + <groupId>com.google.guava</groupId> + <artifactId>guava-jdk5</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>com.google.apis</groupId> + <artifactId>google-api-services-pubsub</artifactId> + <version>v1-rev10-1.22.0</version> + <exclusions> + <!-- Exclude an old version of guava that is being pulled + in by a transitive dependency of google-api-client --> + <exclusion> + <groupId>com.google.guava</groupId> + <artifactId>guava-jdk5</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>joda-time</groupId> + <artifactId>joda-time</artifactId> + <version>2.4</version> + </dependency> + + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>19.0</version> + </dependency> + + <!-- Add slf4j API frontend binding with JUL backend --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.14</version> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-jdk14</artifactId> + <version>1.7.14</version> + <!-- When loaded at runtime this will wire up slf4j to the JUL backend --> + <scope>runtime</scope> + </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> + <version>1.3</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + </dependency> + + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>1.9.5</version> + <scope>test</scope> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/archetype.properties ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/archetype.properties b/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/archetype.properties new file mode 100644 index 0000000..ee81f8f --- /dev/null +++ b/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/archetype.properties @@ -0,0 +1,21 @@ +# +# 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. +# +package=it.pkg +version=0.1 +groupId=archetype.it +artifactId=basic +targetPlatform=1.8 http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/goal.txt ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/goal.txt b/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/goal.txt new file mode 100644 index 0000000..0b59873 --- /dev/null +++ b/sdks/java/maven-archetypes/examples-java8/src/test/resources/projects/basic/goal.txt @@ -0,0 +1 @@ +verify http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/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 df2e9f3..48f56fd 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 @@ -85,7 +85,24 @@ <cleanupDaemonThreads>false</cleanupDaemonThreads> </configuration> </plugin> - </plugins> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.10</version> + <executions> + <execution> + <goals><goal>analyze-only</goal></goals> + <configuration> + <!-- Ignore runtime-only dependencies in analysis --> + <ignoreNonCompile>true</ignoreNonCompile> + <failOnWarning>true</failOnWarning> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> </build> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9cb8b5fa/sdks/java/maven-archetypes/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/pom.xml b/sdks/java/maven-archetypes/pom.xml index 02bb150..1b1c319 100644 --- a/sdks/java/maven-archetypes/pom.xml +++ b/sdks/java/maven-archetypes/pom.xml @@ -31,6 +31,23 @@ <name>Apache Beam :: SDKs :: Java :: Maven Archetypes</name> + <profiles> + <profile> + <id>beam-sdks-java-archetypes-examples-java8</id> + <activation> + <activeByDefault>false</activeByDefault> + <os> + <family>unix</family> + </os> + <jdk>[1.8,)</jdk> + <property><name>!beam.sdks.java.archetypes.examples.skip</name></property> + </activation> + <modules> + <module>examples-java8</module> + </modules> + </profile> + </profiles> + <modules> <module>starter</module> <module>examples</module>