Repository: incubator-beam Updated Branches: refs/heads/master 928640df2 -> e63311fa4
Speed up non-release builds Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/119812a6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/119812a6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/119812a6 Branch: refs/heads/master Commit: 119812a66bceb9e8b91dcd7afb26bc9b7ee5eee7 Parents: 6819dff Author: Kenneth Knowles <k...@google.com> Authored: Tue May 3 21:11:39 2016 -0700 Committer: Kenneth Knowles <k...@google.com> Committed: Wed May 4 14:23:56 2016 -0700 ---------------------------------------------------------------------- pom.xml | 141 ++++++++++++++++++------------ runners/direct-java/pom.xml | 8 -- sdks/java/core/pom.xml | 180 +++++++++++++++++++-------------------- sdks/pom.xml | 21 +++++ 4 files changed, 197 insertions(+), 153 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/119812a6/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b0b258b..03534ee 100644 --- a/pom.xml +++ b/pom.xml @@ -132,19 +132,79 @@ <modules> <module>sdks</module> - <!-- Expose Dataflow runner as top level module to satisfy dependencies - in sdks/java/maven-archetypes and examples/java. Until these are - refactored out, we need to modify the build order. --> + <!-- Expose Dataflow runner as top level module to satisfy dependencies in sdks/java/maven-archetypes + and examples/java. Until these are refactored out, we need to modify the build order. --> <module>runners/google-cloud-dataflow-java</module> <module>runners</module> - <!-- sdks/java/maven-archetypes has several dependencies on the - DataflowPipelineRunner. Until these are refactored out or - a released artifact exists, we need to modify the build order. --> + <!-- sdks/java/maven-archetypes has several dependencies on the DataflowPipelineRunner. + Until these are refactored out or a released artifact exists, we need to modify the + build order. --> <module>sdks/java/maven-archetypes</module> <module>examples</module> </modules> <profiles> + + <!-- A global profile defined for all modules for release-level verification. + Slow processes such as building source, javadoc, and test jars should be limited + to this profile. --> + <profile> + <id>release</id> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <executions> + <execution> + <id>javadoc</id> + <phase>package</phase> + <goals> + <goal>jar</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-source-plugin</artifactId> + <executions> + <execution> + <id>attach-sources</id> + <phase>package</phase> + <goals> + <goal>jar-no-fork</goal> + </goals> + </execution> + <execution> + <id>attach-test-sources</id> + <phase>package</phase> + <goals> + <goal>test-jar-no-fork</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <id>default-test-jar</id> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + </build> + </profile> + <profile> <id>doclint-java8-disable</id> <activation> @@ -154,6 +214,7 @@ <dataflow.javadoc_opts>-Xdoclint:-missing</dataflow.javadoc_opts> </properties> </profile> + <profile> <id>src</id> <activation> @@ -329,8 +390,8 @@ <artifactId>google-api-services-storage</artifactId> <version>${storage.version}</version> <exclusions> - <!-- Exclude an old version of guava that is being pulled - in by a transitive dependency of google-api-client --> + <!-- 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> @@ -343,8 +404,8 @@ <artifactId>google-api-services-datastore-protobuf</artifactId> <version>${datastore.version}</version> <exclusions> - <!-- Exclude an old version of guava that is being pulled - in by a transitive dependency of google-api-client --> + <!-- 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> @@ -407,8 +468,8 @@ <artifactId>google-api-services-dataflow</artifactId> <version>${dataflow.version}</version> <exclusions> - <!-- Exclude an old version of guava that is being pulled - in by a transitive dependency of google-api-client --> + <!-- 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> @@ -421,8 +482,8 @@ <artifactId>google-api-services-clouddebugger</artifactId> <version>${clouddebugger.version}</version> <exclusions> - <!-- Exclude an old version of guava that is being pulled - in by a transitive dependency of google-api-client --> + <!-- 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> @@ -490,6 +551,7 @@ <type>test-jar</type> <scope>test</scope> </dependency> + <dependency> <groupId>org.apache.beam</groupId> <artifactId>java-sdk-all</artifactId> @@ -599,7 +661,7 @@ <arg>-Xlint:-try</arg> <arg>-Xlint:-unchecked</arg> <arg>-Xlint:-varargs</arg> - <!-- Uncomment the following args to display more warnings. --> + <!-- Uncomment the following args to display more warnings. --> <!-- -Xmaxwarns --> <!-- 10000 --> </compilerArgs> @@ -620,12 +682,6 @@ <goal>jar</goal> </goals> </execution> - <execution> - <id>default-test-jar</id> - <goals> - <goal>test-jar</goal> - </goals> - </execution> </executions> </plugin> @@ -633,37 +689,12 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.4</version> - <executions> - <execution> - <id>attach-sources</id> - <phase>package</phase> - <goals> - <goal>jar-no-fork</goal> - </goals> - </execution> - <execution> - <id>attach-test-sources</id> - <phase>package</phase> - <goals> - <goal>test-jar-no-fork</goal> - </goals> - </execution> - </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> - <executions> - <execution> - <id>javadoc</id> - <phase>package</phase> - <goals> - <goal>jar</goal> - </goals> - </execution> - </executions> </plugin> <plugin> @@ -717,11 +748,11 @@ </goals> </execution> </executions> - <configuration> - <excludes> - <exclude>**/AutoValue_*.class</exclude> - </excludes> - </configuration> + <configuration> + <excludes> + <exclude>**/AutoValue_*.class</exclude> + </excludes> + </configuration> </plugin> <!-- Report jacoco coverage to coveralls.io --> @@ -755,8 +786,8 @@ <version>2.19.1</version> </plugin> - <!-- This plugin's configuration tells the m2e plugin how to import this - Maven project into the Eclipse environment. --> + <!-- This plugin's configuration tells the m2e plugin how to import this + Maven project into the Eclipse environment. --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> @@ -790,7 +821,7 @@ </goals> </pluginExecutionFilter> <action> - <ignore/> + <ignore /> </action> </pluginExecution> <pluginExecution> @@ -804,7 +835,7 @@ </goals> </pluginExecutionFilter> <action> - <ignore/> + <ignore /> </action> </pluginExecution> </pluginExecutions> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/119812a6/runners/direct-java/pom.xml ---------------------------------------------------------------------- diff --git a/runners/direct-java/pom.xml b/runners/direct-java/pom.xml index 292cc56..7447799 100644 --- a/runners/direct-java/pom.xml +++ b/runners/direct-java/pom.xml @@ -150,14 +150,6 @@ </offlineLink> </offlineLinks> </configuration> - <executions> - <execution> - <goals> - <goal>jar</goal> - </goals> - <phase>package</phase> - </execution> - </executions> </plugin> <plugin> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/119812a6/sdks/java/core/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/core/pom.xml b/sdks/java/core/pom.xml index a3b7cad..d1adf55 100644 --- a/sdks/java/core/pom.xml +++ b/sdks/java/core/pom.xml @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" +<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"> @@ -49,6 +49,75 @@ </resource> </resources> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <windowtitle>Apache Beam SDK ${project.version} API</windowtitle> + <doctitle>Apache Beam SDK for Java, version ${project.version}</doctitle> + <overview>../javadoc/overview.html</overview> + + <subpackages>org.apache.beam.sdk</subpackages> + <additionalparam>-exclude + org.apache.beam.sdk.runners.worker:org.apache.beam.sdk.runners.dataflow:org.apache.beam.sdk.util:org.apache.beam.sdk.runners.inprocess + ${dataflow.javadoc_opts}</additionalparam> + <use>false</use> + <quiet>true</quiet> + <bottom><![CDATA[<br>]]></bottom> + + <offlineLinks> + <offlineLink> + <url>https://developers.google.com/api-client-library/java/google-api-java-client/reference/1.20.0/</url> + <location>${basedir}/../javadoc/apiclient-docs</location> + </offlineLink> + <offlineLink> + <url>http://avro.apache.org/docs/1.7.7/api/java/</url> + <location>${basedir}/../javadoc/avro-docs</location> + </offlineLink> + <offlineLink> + <url>https://developers.google.com/resources/api-libraries/documentation/bigquery/v2/java/latest/</url> + <location>${basedir}/../javadoc/bq-docs</location> + </offlineLink> + <offlineLink> + <url>https://cloud.google.com/datastore/docs/apis/javadoc/</url> + <location>${basedir}/../javadoc/datastore-docs</location> + </offlineLink> + <offlineLink> + <url>http://docs.guava-libraries.googlecode.com/git-history/release19/javadoc/</url> + <location>${basedir}/../javadoc/guava-docs</location> + </offlineLink> + <offlineLink> + <url>http://hamcrest.org/JavaHamcrest/javadoc/1.3/</url> + <location>${basedir}/../javadoc/hamcrest-docs</location> + </offlineLink> + <offlineLink> + <url>http://fasterxml.github.io/jackson-annotations/javadoc/2.7/</url> + <location>${basedir}/../javadoc/jackson-annotations-docs</location> + </offlineLink> + <offlineLink> + <url>http://fasterxml.github.io/jackson-databind/javadoc/2.7/</url> + <location>${basedir}/../javadoc/jackson-databind-docs</location> + </offlineLink> + <offlineLink> + <url>http://www.joda.org/joda-time/apidocs</url> + <location>${basedir}/../javadoc/joda-docs</location> + </offlineLink> + <offlineLink> + <url>http://junit.sourceforge.net/javadoc/</url> + <location>${basedir}/../javadoc/junit-docs</location> + </offlineLink> + <offlineLink> + <url>https://developers.google.com/api-client-library/java/google-oauth-java-client/reference/1.20.0/</url> + <location>${basedir}/../javadoc/oauth-docs</location> + </offlineLink> + </offlineLinks> + </configuration> + </plugin> + </plugins> + </pluginManagement> + <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -60,7 +129,9 @@ <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> - <goals><goal>analyze-only</goal></goals> + <goals> + <goal>analyze-only</goal> + </goals> <configuration> <failOnWarning>true</failOnWarning> </configuration> @@ -91,72 +162,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <configuration> - <windowtitle>Apache Beam SDK ${project.version} API</windowtitle> - <doctitle>Apache Beam SDK for Java, version ${project.version}</doctitle> - <overview>../javadoc/overview.html</overview> - - <subpackages>org.apache.beam.sdk</subpackages> - <additionalparam>-exclude org.apache.beam.sdk.runners.worker:org.apache.beam.sdk.runners.dataflow:org.apache.beam.sdk.util:org.apache.beam.sdk.runners.inprocess ${dataflow.javadoc_opts}</additionalparam> - <use>false</use> - <quiet>true</quiet> - <bottom><![CDATA[<br>]]></bottom> - - <offlineLinks> - <offlineLink> - <url>https://developers.google.com/api-client-library/java/google-api-java-client/reference/1.20.0/</url> - <location>${basedir}/../javadoc/apiclient-docs</location> - </offlineLink> - <offlineLink> - <url>http://avro.apache.org/docs/1.7.7/api/java/</url> - <location>${basedir}/../javadoc/avro-docs</location> - </offlineLink> - <offlineLink> - <url>https://developers.google.com/resources/api-libraries/documentation/bigquery/v2/java/latest/</url> - <location>${basedir}/../javadoc/bq-docs</location> - </offlineLink> - <offlineLink> - <url>https://cloud.google.com/datastore/docs/apis/javadoc/</url> - <location>${basedir}/../javadoc/datastore-docs</location> - </offlineLink> - <offlineLink> - <url>http://docs.guava-libraries.googlecode.com/git-history/release19/javadoc/</url> - <location>${basedir}/../javadoc/guava-docs</location> - </offlineLink> - <offlineLink> - <url>http://hamcrest.org/JavaHamcrest/javadoc/1.3/</url> - <location>${basedir}/../javadoc/hamcrest-docs</location> - </offlineLink> - <offlineLink> - <url>http://fasterxml.github.io/jackson-annotations/javadoc/2.7/</url> - <location>${basedir}/../javadoc/jackson-annotations-docs</location> - </offlineLink> - <offlineLink> - <url>http://fasterxml.github.io/jackson-databind/javadoc/2.7/</url> - <location>${basedir}/../javadoc/jackson-databind-docs</location> - </offlineLink> - <offlineLink> - <url>http://www.joda.org/joda-time/apidocs</url> - <location>${basedir}/../javadoc/joda-docs</location> - </offlineLink> - <offlineLink> - <url>http://junit.sourceforge.net/javadoc/</url> - <location>${basedir}/../javadoc/junit-docs</location> - </offlineLink> - <offlineLink> - <url>https://developers.google.com/api-client-library/java/google-oauth-java-client/reference/1.20.0/</url> - <location>${basedir}/../javadoc/oauth-docs</location> - </offlineLink> - </offlineLinks> - </configuration> - <executions> - <execution> - <goals> - <goal>jar</goal> - </goals> - <phase>package</phase> - </execution> - </executions> </plugin> <plugin> @@ -188,9 +193,8 @@ </filter> </filters> <relocations> - <!-- TODO: Once ready, change the following pattern to 'com' - only, exclude 'org.apache.beam.**', and remove - the second relocation. --> + <!-- TODO: Once ready, change the following pattern to 'com' only, + exclude 'org.apache.beam.**', and remove the second relocation. --> <relocation> <pattern>com.google.common</pattern> <shadedPattern>org.apache.beam.sdk.repackaged.com.google.common</shadedPattern> @@ -203,8 +207,8 @@ </configuration> </execution> - <!-- In the second phase, we pick remaining dependencies and bundle - them without repackaging. --> + <!-- In the second phase, we pick remaining dependencies and bundle them + without repackaging. --> <execution> <id>bundle-rest-without-repackaging</id> <phase>package</phase> @@ -259,10 +263,9 @@ </executions> </plugin> - <!-- This plugin tells Maven about an additional test-source directory to - build, which contains Avro-generated source files. This is not - strictly needed for the regular Maven build, but helps certain IDEs - automatically find and compile generated code. --> + <!-- This plugin tells Maven about an additional test-source directory to build, + which contains Avro-generated source files. This is not strictly needed for the regular + Maven build, but helps certain IDEs automatically find and compile generated code. --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> @@ -295,8 +298,8 @@ <artifactId>google-auth-library-oauth2-http</artifactId> <version>0.3.1</version> <exclusions> - <!-- Exclude an old version of guava that is being pulled - in by a transitive dependency of google-api-client --> + <!-- 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> @@ -315,8 +318,8 @@ <artifactId>grpc-pubsub-v1</artifactId> <version>${pubsubgrpc.version}</version> <exclusions> - <!-- Exclude an old version of guava that is being pulled - in by a transitive dependency of google-api-client --> + <!-- 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> @@ -349,8 +352,8 @@ <artifactId>google-http-client</artifactId> </dependency> - <!-- Required by com.google.apis:google-api-services-datastore-protobuf, - but the version they depend on differs from our api-client versions --> + <!-- Required by com.google.apis:google-api-services-datastore-protobuf, but + the version they depend on differs from our api-client versions --> <dependency> <groupId>com.google.http-client</groupId> <artifactId>google-http-client-jackson</artifactId> @@ -456,8 +459,8 @@ <artifactId>joda-time</artifactId> </dependency> - <!-- - To use org.apache.beam.io.XmlSource: + <!-- + To use org.apache.beam.io.XmlSource: 1. Explicitly declare the following dependency for the stax2 API. 2. Include a stax2 implementation on the classpath. One example @@ -485,11 +488,8 @@ </exclusions> </dependency> - <!-- - To use org.apache.beam.io.AvroSource with XZ-encoded files, - please explicitly declare this dependency to include org.tukaani:xz on - the classpath at runtime. - --> + <!-- To use org.apache.beam.io.AvroSource with XZ-encoded files, please explicitly + declare this dependency to include org.tukaani:xz on the classpath at runtime. --> <dependency> <groupId>org.tukaani</groupId> <artifactId>xz</artifactId> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/119812a6/sdks/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/pom.xml b/sdks/pom.xml index 808f0d3..0567f57 100644 --- a/sdks/pom.xml +++ b/sdks/pom.xml @@ -38,4 +38,25 @@ <module>java</module> </modules> + <build> + <pluginManagement> + <plugins> + + <!-- SDKs will generally offer test suites for runners, as sdks/java does. --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <id>default-test-jar</id> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + </build> + </project> \ No newline at end of file