You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by lc...@apache.org on 2017/05/10 20:07:09 UTC

[1/2] beam git commit: [BEAM-2242] Ensure that jars are shaded correctly by running the jar plugin before the shade plugin

Repository: beam
Updated Branches:
  refs/heads/master 7af59374c -> 16e4c747c


[BEAM-2242] Ensure that jars are shaded correctly by running the jar plugin before the shade plugin

This required listing the maven jar plugin earlier within the file so that the jar/test jar ran before shade within the package phase.

I also update the maven shade plugin version in archetypes to pickup the fixes in the service file transformer and dropped the usage of finalName in the shade plugin so all artifacts are named the same way.


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/70216c2e
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/70216c2e
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/70216c2e

Branch: refs/heads/master
Commit: 70216c2e542cdbb03f07e423923e5e10db48dffb
Parents: 7af5937
Author: Luke Cwik <lc...@google.com>
Authored: Tue May 9 19:07:36 2017 -0700
Committer: Luke Cwik <lc...@google.com>
Committed: Wed May 10 13:05:58 2017 -0700

----------------------------------------------------------------------
 examples/java/pom.xml                           | 34 --------------------
 examples/java8/pom.xml                          | 34 --------------------
 pom.xml                                         |  7 ++++
 runners/direct-java/pom.xml                     |  8 +++++
 runners/google-cloud-dataflow-java/pom.xml      |  8 +++++
 sdks/java/core/pom.xml                          |  8 +++++
 sdks/java/io/google-cloud-platform/pom.xml      |  7 ++++
 sdks/java/io/hadoop/jdk1.8-tests/pom.xml        | 18 ++++++++++-
 sdks/java/io/hbase/pom.xml                      | 25 --------------
 .../main/resources/archetype-resources/pom.xml  | 10 ++++--
 .../main/resources/archetype-resources/pom.xml  | 10 ++++--
 sdks/java/maven-archetypes/pom.xml              | 19 +++++++++++
 sdks/pom.xml                                    | 18 -----------
 13 files changed, 90 insertions(+), 116 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/examples/java/pom.xml
----------------------------------------------------------------------
diff --git a/examples/java/pom.xml b/examples/java/pom.xml
index 6f0776c..8899f56 100644
--- a/examples/java/pom.xml
+++ b/examples/java/pom.xml
@@ -380,40 +380,6 @@
         </configuration>
       </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>
-              <transformers>
-                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
-              </transformers>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
       <!-- Coverage analysis for unit tests. -->
       <plugin>
         <groupId>org.jacoco</groupId>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/examples/java8/pom.xml
----------------------------------------------------------------------
diff --git a/examples/java8/pom.xml b/examples/java8/pom.xml
index 3c9ed71..9337e89 100644
--- a/examples/java8/pom.xml
+++ b/examples/java8/pom.xml
@@ -178,40 +178,6 @@
         </configuration>
       </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>
-              <transformers>
-                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
-              </transformers>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
       <!-- Coverage analysis for unit tests. -->
       <plugin>
         <groupId>org.jacoco</groupId>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9ca876e..a97479c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1418,6 +1418,7 @@
                 <goal>shade</goal>
               </goals>
               <configuration>
+                <shadeTestJar>true</shadeTestJar>
                 <artifactSet>
                   <includes>
                     <include>com.google.guava:guava</include>
@@ -1657,6 +1658,12 @@
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
       </plugin>
+      <!-- Ensure that the Maven jar plugin runs before the Maven
+        shade plugin by listing the plugin higher within the file. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/runners/direct-java/pom.xml
----------------------------------------------------------------------
diff --git a/runners/direct-java/pom.xml b/runners/direct-java/pom.xml
index c115906..0daa066 100644
--- a/runners/direct-java/pom.xml
+++ b/runners/direct-java/pom.xml
@@ -77,6 +77,13 @@
         </executions>
       </plugin>
 
+      <!-- Ensure that the Maven jar plugin runs before the Maven
+        shade plugin by listing the plugin higher within the file. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
+
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
@@ -88,6 +95,7 @@
               <goal>shade</goal>
             </goals>
             <configuration>
+              <shadeTestJar>true</shadeTestJar>
               <artifactSet>
                 <includes>
                   <include>com.google.guava:guava</include>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/runners/google-cloud-dataflow-java/pom.xml
----------------------------------------------------------------------
diff --git a/runners/google-cloud-dataflow-java/pom.xml b/runners/google-cloud-dataflow-java/pom.xml
index 9643b69..fd26ae8 100644
--- a/runners/google-cloud-dataflow-java/pom.xml
+++ b/runners/google-cloud-dataflow-java/pom.xml
@@ -173,6 +173,14 @@
           </execution>
         </executions>
       </plugin>
+
+      <!-- Ensure that the Maven jar plugin runs before the Maven
+        shade plugin by listing the plugin higher within the file. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
+
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/sdks/java/core/pom.xml
----------------------------------------------------------------------
diff --git a/sdks/java/core/pom.xml b/sdks/java/core/pom.xml
index ef1873d..68d76e1 100644
--- a/sdks/java/core/pom.xml
+++ b/sdks/java/core/pom.xml
@@ -121,6 +121,13 @@
         </executions>
       </plugin>
 
+      <!-- Ensure that the Maven jar plugin runs before the Maven
+        shade plugin by listing the plugin higher within the file. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
+
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
@@ -132,6 +139,7 @@
               <goal>shade</goal>
             </goals>
             <configuration>
+              <shadeTestJar>true</shadeTestJar>
               <artifactSet>
                 <includes>
                   <include>com.google.guava:guava</include>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/sdks/java/io/google-cloud-platform/pom.xml
----------------------------------------------------------------------
diff --git a/sdks/java/io/google-cloud-platform/pom.xml b/sdks/java/io/google-cloud-platform/pom.xml
index f0526f0..7594365 100644
--- a/sdks/java/io/google-cloud-platform/pom.xml
+++ b/sdks/java/io/google-cloud-platform/pom.xml
@@ -43,6 +43,13 @@
         </configuration>
       </plugin>
 
+      <!-- Ensure that the Maven jar plugin runs before the Maven
+        shade plugin by listing the plugin higher within the file. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
+
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/sdks/java/io/hadoop/jdk1.8-tests/pom.xml
----------------------------------------------------------------------
diff --git a/sdks/java/io/hadoop/jdk1.8-tests/pom.xml b/sdks/java/io/hadoop/jdk1.8-tests/pom.xml
index 1c63448..56a7454 100644
--- a/sdks/java/io/hadoop/jdk1.8-tests/pom.xml
+++ b/sdks/java/io/hadoop/jdk1.8-tests/pom.xml
@@ -71,6 +71,15 @@
           </dependency>
         </dependencies>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <!-- Don't run the tests in parallel since HIFIOWithElasticTest uses
+             a static port number which can lead to port in use errors. -->
+          <parallel>none</parallel>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
   <!--The dataflow-runner and spark-runner profiles support using those runners
@@ -162,6 +171,13 @@
       <artifactId>beam-runners-direct-java</artifactId>
       <scope>test</scope>
     </dependency>
+    <!-- We need to depend on the non test-jar artifact to get
+       the repackaged transitive dependencies on the classpath. -->
+    <dependency>
+      <groupId>org.apache.beam</groupId>
+      <artifactId>beam-sdks-java-io-common</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.beam</groupId>
       <artifactId>beam-sdks-java-io-common</artifactId>
@@ -230,4 +246,4 @@
     </dependency>
   </dependencies>
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/sdks/java/io/hbase/pom.xml
----------------------------------------------------------------------
diff --git a/sdks/java/io/hbase/pom.xml b/sdks/java/io/hbase/pom.xml
index 70ca105..746b993 100644
--- a/sdks/java/io/hbase/pom.xml
+++ b/sdks/java/io/hbase/pom.xml
@@ -48,33 +48,8 @@
             <argLine>-Dlog4j.configuration=log4j-test.properties  -XX:-UseGCOverheadLimit ${beamSurefireArgline}</argLine>
           </configuration>
         </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-shade-plugin</artifactId>
-          <executions>
-            <execution>
-              <id>bundle-and-repackage</id>
-              <phase>package</phase>
-              <goals>
-                <goal>shade</goal>
-              </goals>
-              <configuration>
-              <!-- Disable the creation of the reduced pom to avoid an issue with the shade
-                   plugin. Ref. https://issues.apache.org/jira/browse/MSHADE-148 -->
-                <createDependencyReducedPom>false</createDependencyReducedPom>
-              </configuration>
-            </execution>
-          </executions>
-        </plugin>
       </plugins>
     </pluginManagement>
-
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-      </plugin>
-    </plugins>
   </build>
 
   <dependencies>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/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
index 508ff9c..3c9c480 100644
--- 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
@@ -75,6 +75,13 @@
         </dependencies>
       </plugin>
 
+      <!-- Ensure that the Maven jar plugin runs before the Maven
+        shade plugin by listing the plugin higher within the file. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
+
       <!--
         Configures `mvn package` to produce a bundled jar ("fat jar") for runners
         that require this for job submission to a cluster.
@@ -82,7 +89,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>2.4.1</version>
+        <version>3.0.0</version>
         <executions>
           <execution>
             <phase>package</phase>
@@ -90,7 +97,6 @@
               <goal>shade</goal>
             </goals>
             <configuration>
-              <finalName>${project.artifactId}-bundled-${project.version}</finalName>
               <filters>
                 <filter>
                   <artifact>*:*</artifact>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/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 511e875..00f69ff 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
@@ -75,6 +75,13 @@
         </dependencies>
       </plugin>
 
+      <!-- Ensure that the Maven jar plugin runs before the Maven
+        shade plugin by listing the plugin higher within the file. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
+
       <!--
         Configures `mvn package` to produce a bundled jar ("fat jar") for runners
         that require this for job submission to a cluster.
@@ -82,7 +89,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>2.4.1</version>
+        <version>3.0.0</version>
         <executions>
           <execution>
             <phase>package</phase>
@@ -90,7 +97,6 @@
               <goal>shade</goal>
             </goals>
             <configuration>
-              <finalName>${project.artifactId}-bundled-${project.version}</finalName>
               <filters>
                 <filter>
                   <artifact>*:*</artifact>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/sdks/java/maven-archetypes/pom.xml
----------------------------------------------------------------------
diff --git a/sdks/java/maven-archetypes/pom.xml b/sdks/java/maven-archetypes/pom.xml
index 0a37c52..b7fe274 100644
--- a/sdks/java/maven-archetypes/pom.xml
+++ b/sdks/java/maven-archetypes/pom.xml
@@ -69,6 +69,25 @@
         </plugin>
       </plugins>
     </pluginManagement>
+    
+    <plugins>
+      <!-- Disable the Maven jar plugin because Maven archetypes
+         are packaged using the Maven archetype packaging plugin. -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-jar</id>
+            <phase>none</phase>
+          </execution>
+          <execution>
+            <id>default-test-jar</id>
+            <phase>none</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
 
   <profiles>

http://git-wip-us.apache.org/repos/asf/beam/blob/70216c2e/sdks/pom.xml
----------------------------------------------------------------------
diff --git a/sdks/pom.xml b/sdks/pom.xml
index ac84471..27b9610 100644
--- a/sdks/pom.xml
+++ b/sdks/pom.xml
@@ -53,24 +53,6 @@
   </profiles>
 
   <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>
-
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>


[2/2] beam git commit: [BEAM-2242] Ensure that jars are shaded correctly by running the jar plugin before the shade plugin

Posted by lc...@apache.org.
[BEAM-2242] Ensure that jars are shaded correctly by running the jar plugin before the shade plugin

This closes #3034


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/16e4c747
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/16e4c747
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/16e4c747

Branch: refs/heads/master
Commit: 16e4c747ceb04f83f736e3bc1ab0e6e4a1549f3b
Parents: 7af5937 70216c2
Author: Luke Cwik <lc...@google.com>
Authored: Wed May 10 13:07:02 2017 -0700
Committer: Luke Cwik <lc...@google.com>
Committed: Wed May 10 13:07:02 2017 -0700

----------------------------------------------------------------------
 examples/java/pom.xml                           | 34 --------------------
 examples/java8/pom.xml                          | 34 --------------------
 pom.xml                                         |  7 ++++
 runners/direct-java/pom.xml                     |  8 +++++
 runners/google-cloud-dataflow-java/pom.xml      |  8 +++++
 sdks/java/core/pom.xml                          |  8 +++++
 sdks/java/io/google-cloud-platform/pom.xml      |  7 ++++
 sdks/java/io/hadoop/jdk1.8-tests/pom.xml        | 18 ++++++++++-
 sdks/java/io/hbase/pom.xml                      | 25 --------------
 .../main/resources/archetype-resources/pom.xml  | 10 ++++--
 .../main/resources/archetype-resources/pom.xml  | 10 ++++--
 sdks/java/maven-archetypes/pom.xml              | 19 +++++++++++
 sdks/pom.xml                                    | 18 -----------
 13 files changed, 90 insertions(+), 116 deletions(-)
----------------------------------------------------------------------