You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2018/06/07 15:55:25 UTC

[49/50] [abbrv] storm git commit: STORM-2882: Clean up shadeing to make life better

STORM-2882: Clean up shadeing to make life better


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/35a1b8f4
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/35a1b8f4
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/35a1b8f4

Branch: refs/heads/master
Commit: 35a1b8f4822eed54f95f0d1ea7e71dfe1b97a796
Parents: b588b25
Author: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Authored: Wed Jun 6 17:01:52 2018 -0500
Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Committed: Wed Jun 6 17:01:52 2018 -0500

----------------------------------------------------------------------
 DEVELOPER.md                       |  7 -------
 dev-tools/travis/travis-install.sh |  2 +-
 dev-tools/travis/travis-script.sh  |  2 +-
 pom.xml                            | 12 ++++++++++--
 shaded-deps/pom.xml                | 20 ++++++++++++++++++++
 5 files changed, 32 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/35a1b8f4/DEVELOPER.md
----------------------------------------------------------------------
diff --git a/DEVELOPER.md b/DEVELOPER.md
index 1ae0ea6..e2f0a4b 100644
--- a/DEVELOPER.md
+++ b/DEVELOPER.md
@@ -239,13 +239,6 @@ To pull in a merge request you should generally follow the command line instruct
 # Build the code and run the tests
 
 ## Prerequisites
-To work around a conflict between the shade plugin and maven https://issues.apache.org/jira/browse/MSHADE-206, a set of 
-dependencies needs to be shaded and installed by running:
-
-```sh
-cd shaded-deps
-mvn clean install
-```
 
 In order to build `storm` you need `python`, `ruby` and `nodejs`. In order to avoid an overfull page we don't provide platform/OS specific installation instructions for those here. Please refer to you platform's/OS' documentation for support.
 

http://git-wip-us.apache.org/repos/asf/storm/blob/35a1b8f4/dev-tools/travis/travis-install.sh
----------------------------------------------------------------------
diff --git a/dev-tools/travis/travis-install.sh b/dev-tools/travis/travis-install.sh
index 56ea68d..a2668f8 100755
--- a/dev-tools/travis/travis-install.sh
+++ b/dev-tools/travis/travis-install.sh
@@ -28,7 +28,7 @@ then
 fi
 
 cd ${STORM_SRC_ROOT_DIR}
-python ${TRAVIS_SCRIPT_DIR}/save-logs.py "install.txt" mvn clean install -DskipTests -Pnative --batch-mode
+python ${TRAVIS_SCRIPT_DIR}/save-logs.py "install.txt" mvn clean install -DskipTests -Pnative '-P!include-shaded-deps' --batch-mode
 BUILD_RET_VAL=$?
 
 if [[ "$BUILD_RET_VAL" != "0" ]];

http://git-wip-us.apache.org/repos/asf/storm/blob/35a1b8f4/dev-tools/travis/travis-script.sh
----------------------------------------------------------------------
diff --git a/dev-tools/travis/travis-script.sh b/dev-tools/travis/travis-script.sh
index fb13042..6fc2778 100755
--- a/dev-tools/travis/travis-script.sh
+++ b/dev-tools/travis/travis-script.sh
@@ -31,7 +31,7 @@ else
   # Travis only has 3GB of memory, lets use 1GB for build, and 1.5GB for forked JVMs
   export MAVEN_OPTS="-Xmx1024m"
   
-  mvn --batch-mode test -fae -Pnative,all-tests -Prat -pl "$2"
+  mvn --batch-mode test -fae -Pnative,all-tests '-P!include-shaded-deps' -Prat -pl "$2"
   BUILD_RET_VAL=$?
   
   for dir in `find . -type d -and -wholename \*/target/\*-reports`;

http://git-wip-us.apache.org/repos/asf/storm/blob/35a1b8f4/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 44d5910..8a6df9e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -222,7 +222,7 @@
             <id>Ethanlm</id>
             <name>Ethan Li</name>
             <email>ethanli@apache.org</email>
-            <roles>	
+            <roles>
                 <role>Committer</role>
             </roles>
             <timezone>-6</timezone>
@@ -430,7 +430,15 @@
                 <provided.scope>compile</provided.scope>
             </properties>
         </profile>
-
+        <profile>
+            <id>include-shaded-deps</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <modules>
+                <module>shaded-deps</module>
+            </modules>
+        </profile>
         <profile>
             <id>rat</id>
             <build>

http://git-wip-us.apache.org/repos/asf/storm/blob/35a1b8f4/shaded-deps/pom.xml
----------------------------------------------------------------------
diff --git a/shaded-deps/pom.xml b/shaded-deps/pom.xml
index aa92f8f..8b33c70 100644
--- a/shaded-deps/pom.xml
+++ b/shaded-deps/pom.xml
@@ -36,17 +36,24 @@
     <description>Shaded version of dependencies used only for internal storm code.</description>
 
     <dependencies>
+        <!-- All dependencies should be marked as optional to work around
+             https://issues.apache.org/jira/browse/MSHADE-206 which makes it so
+             the dependency reduced pom is not reflected in a multi-module build
+             correctly. -->
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-framework</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-client</artifactId>
+            <optional>true</optional>
         </dependency>
         <!-- curator-recipes is not used by storm-client, but because storm-server
              uses the same zookeeper initialization code as storm-client all
@@ -54,10 +61,12 @@
         <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-recipes</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.zookeeper</groupId>
             <artifactId>zookeeper</artifactId>
+            <optional>true</optional>
             <exclusions>
                 <exclusion>
                     <!-- This is only used for interactive zookeeper shell, and not needed for the client-->
@@ -74,38 +83,47 @@
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>commons-collections</groupId>
             <artifactId>commons-collections</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.jctools</groupId>
             <artifactId>jctools-core</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.googlecode.json-simple</groupId>
             <artifactId>json-simple</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.yaml</groupId>
             <artifactId>snakeyaml</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.jgrapht</groupId>
             <artifactId>jgrapht-core</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.thrift</groupId>
             <artifactId>libthrift</artifactId>
+            <optional>true</optional>
             <exclusions>
                 <exclusion>
                     <groupId>org.slf4j</groupId>
@@ -132,10 +150,12 @@
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>uk.org.lidalia</groupId>
             <artifactId>sysout-over-slf4j</artifactId>
+            <optional>true</optional>
         </dependency>
     </dependencies>