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/11/17 22:30:02 UTC

[31/50] [abbrv] beam git commit: Configure default shading profile on all java sub-projects to shade away guava

Configure default shading profile on all java sub-projects to shade away guava


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

Branch: refs/heads/master
Commit: ac9bf03d2addf06f68c0391f6cec5d5910efb5f1
Parents: e4951a2
Author: Luke Cwik <lc...@google.com>
Authored: Tue Nov 7 10:42:04 2017 -0800
Committer: Luke Cwik <lc...@google.com>
Committed: Fri Nov 17 14:27:16 2017 -0800

----------------------------------------------------------------------
 build_rules.gradle                              | 11 ++-
 examples/java/build.gradle                      | 36 +++++-----
 examples/java8/build.gradle                     | 28 ++++----
 model/fn-execution/build.gradle                 | 10 +--
 model/job-management/build.gradle               | 10 +--
 model/pipeline/build.gradle                     |  2 +-
 runners/apex/build.gradle                       | 20 +++---
 runners/core-construction-java/build.gradle     | 26 +++----
 runners/core-java/build.gradle                  | 18 ++---
 runners/direct-java/build.gradle                | 18 ++---
 runners/flink/build.gradle                      | 28 ++++----
 runners/gearpump/build.gradle                   | 16 ++---
 runners/google-cloud-dataflow-java/build.gradle | 42 +++++------
 runners/java-fn-execution/build.gradle          | 12 ++--
 .../local-artifact-service-java/build.gradle    | 12 ++--
 runners/reference/job-server/build.gradle       | 12 ++--
 runners/spark/build.gradle                      | 24 +++----
 sdks/java/core/build.gradle                     | 41 ++++++-----
 .../google-cloud-platform-core/build.gradle     | 34 ++++-----
 sdks/java/extensions/jackson/build.gradle       |  6 +-
 sdks/java/extensions/join-library/build.gradle  |  4 +-
 sdks/java/extensions/protobuf/build.gradle      |  4 +-
 sdks/java/extensions/sorter/build.gradle        |  4 +-
 sdks/java/extensions/sql/build.gradle           | 20 +++---
 sdks/java/fn-execution/build.gradle             | 10 +--
 sdks/java/harness/build.gradle                  | 12 ++--
 sdks/java/io/amqp/build.gradle                  | 10 +--
 sdks/java/io/cassandra/build.gradle             | 12 ++--
 sdks/java/io/common/build.gradle                |  2 +-
 .../elasticsearch-tests-2/build.gradle          |  4 +-
 .../elasticsearch-tests-5/build.gradle          |  4 +-
 .../elasticsearch-tests-common/build.gradle     |  4 +-
 sdks/java/io/elasticsearch/build.gradle         | 18 ++---
 sdks/java/io/google-cloud-platform/build.gradle | 74 ++++++++++----------
 sdks/java/io/hadoop-common/build.gradle         |  4 +-
 sdks/java/io/hadoop-file-system/build.gradle    | 12 ++--
 sdks/java/io/hadoop/input-format/build.gradle   | 11 ++-
 sdks/java/io/hadoop/jdk1.8-tests/build.gradle   | 15 ++--
 sdks/java/io/hbase/build.gradle                 | 12 ++--
 sdks/java/io/hcatalog/build.gradle              | 10 +--
 sdks/java/io/jdbc/build.gradle                  | 10 +--
 sdks/java/io/jms/build.gradle                   | 12 ++--
 sdks/java/io/kafka/build.gradle                 | 18 ++---
 sdks/java/io/kinesis/build.gradle               | 20 +++---
 sdks/java/io/mongodb/build.gradle               | 12 ++--
 sdks/java/io/mqtt/build.gradle                  | 14 ++--
 sdks/java/io/redis/build.gradle                 |  8 +--
 sdks/java/io/solr/build.gradle                  | 12 ++--
 sdks/java/io/tika/build.gradle                  |  8 +--
 sdks/java/io/xml/build.gradle                   | 10 +--
 sdks/java/java8tests/build.gradle               |  2 +-
 .../examples-java8/build.gradle                 |  2 +-
 .../java/maven-archetypes/examples/build.gradle |  2 +-
 sdks/java/maven-archetypes/starter/build.gradle |  4 +-
 sdks/java/nexmark/build.gradle                  | 30 ++++----
 55 files changed, 411 insertions(+), 405 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/build_rules.gradle
----------------------------------------------------------------------
diff --git a/build_rules.gradle b/build_rules.gradle
index bcde635..f68d61e 100644
--- a/build_rules.gradle
+++ b/build_rules.gradle
@@ -144,16 +144,21 @@ ext.applyJavaNature = {
       }
       relocate("com.google.common", "org.apache.beam." + project.name + ".repackaged.com.google.common") {
         // com.google.common is too generic, need to exclude guava-testlib
-        exclude "com.google.common.*.testing.*"
+//        exclude "com.google.common.**.testing.*"
       }
     }
 
     // Create a new configuration 'shadowTest' like 'shadow' for the test scope
     configurations {
+      shadow {
+        description = "Dependencies for shaded source set 'main'"
+      }
+      compile.extendsFrom shadow
       shadowTest {
-        description = "shaded test runtime"
-        extendsFrom testRuntime
+        description = "Dependencies for shaded source set 'test'"
+        extendsFrom shadow
       }
+      testCompile.extendsFrom shadowTest
     }
     // TODO: Figure out how to create ShadowJar task for testShadowJar here
     // that is extendable within each sub-project with any additional includes.

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/examples/java/build.gradle
----------------------------------------------------------------------
diff --git a/examples/java/build.gradle b/examples/java/build.gradle
index 97c609f..6386001 100644
--- a/examples/java/build.gradle
+++ b/examples/java/build.gradle
@@ -31,25 +31,25 @@ description = "Apache Beam :: Examples :: Java"
 evaluationDependsOn(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform")
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform")
-  compile library.java.google_api_client
-  compile library.java.google_api_services_bigquery
-  compile library.java.findbugs_jsr305
-  compile library.java.google_http_client
-  compile library.java.bigdataoss_util
-  compile library.java.google_auth_library_oauth2_http
-  compile library.java.google_auth_library_credentials
-  compile library.java.avro
-  compile library.java.google_api_services_pubsub
   compile library.java.guava
-  compile library.java.datastore_v1_proto_client
-  compile library.java.datastore_v1_protos
-  compile library.java.joda_time
-  compile library.java.slf4j_api
-  runtime project(":beam-runners-parent:beam-runners-direct-java")
-  runtime library.java.slf4j_jdk14
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform", configuration: "shadow")
+  shadow library.java.google_api_client
+  shadow library.java.google_api_services_bigquery
+  shadow library.java.findbugs_jsr305
+  shadow library.java.google_http_client
+  shadow library.java.bigdataoss_util
+  shadow library.java.google_auth_library_oauth2_http
+  shadow library.java.google_auth_library_credentials
+  shadow library.java.avro
+  shadow library.java.google_api_services_pubsub
+  shadow library.java.datastore_v1_proto_client
+  shadow library.java.datastore_v1_protos
+  shadow library.java.joda_time
+  shadow library.java.slf4j_api
+  shadow project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
+  shadow library.java.slf4j_jdk14
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform").sourceSets.test.output
   testCompile library.java.hamcrest_core
   testCompile library.java.junit

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/examples/java8/build.gradle
----------------------------------------------------------------------
diff --git a/examples/java8/build.gradle b/examples/java8/build.gradle
index 4970721..ca39957 100644
--- a/examples/java8/build.gradle
+++ b/examples/java8/build.gradle
@@ -22,21 +22,21 @@ applyJavaNature(javaVersion: 1.8)
 description = "Apache Beam :: Examples :: Java 8"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform")
-  compile project(":beam-examples-parent:beam-examples-java")
   compile library.java.guava
-  compile library.java.slf4j_api
-  compile library.java.avro
-  compile library.java.joda_time
-  compile library.java.google_api_services_bigquery
-  compile library.java.google_http_client
-  compile library.java.google_oauth_client
-  compile library.java.google_api_services_pubsub
-  compile library.java.google_api_client
-  runtime project(":beam-runners-parent:beam-runners-direct-java")
-  runtime library.java.slf4j_jdk14
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform", configuration: "shadow")
+  shadow project(path: ":beam-examples-parent:beam-examples-java", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.avro
+  shadow library.java.joda_time
+  shadow library.java.google_api_services_bigquery
+  shadow library.java.google_http_client
+  shadow library.java.google_oauth_client
+  shadow library.java.google_api_services_pubsub
+  shadow library.java.google_api_client
+  shadow project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
+  shadow library.java.slf4j_jdk14
   testCompile library.java.hamcrest_core
   testCompile library.java.mockito_core
   testCompile library.java.junit

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/model/fn-execution/build.gradle
----------------------------------------------------------------------
diff --git a/model/fn-execution/build.gradle b/model/fn-execution/build.gradle
index 5abfd68..4127de9 100644
--- a/model/fn-execution/build.gradle
+++ b/model/fn-execution/build.gradle
@@ -23,12 +23,12 @@ applyGrpcNature()
 description = "Apache Beam :: Model :: Fn Execution"
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile library.java.protobuf_java
   compile library.java.guava
-  compile library.java.grpc_core
-  compile library.java.grpc_protobuf
-  compile library.java.grpc_stub
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow library.java.protobuf_java
+  shadow library.java.grpc_core
+  shadow library.java.grpc_protobuf
+  shadow library.java.grpc_stub
 }
 
 task packageTests(type: Jar) {

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/model/job-management/build.gradle
----------------------------------------------------------------------
diff --git a/model/job-management/build.gradle b/model/job-management/build.gradle
index f1ba69d..28031cd 100644
--- a/model/job-management/build.gradle
+++ b/model/job-management/build.gradle
@@ -23,12 +23,12 @@ applyGrpcNature()
 description = "Apache Beam :: Model :: Job Management"
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile library.java.protobuf_java
   compile library.java.guava
-  compile library.java.grpc_core
-  compile library.java.grpc_protobuf
-  compile library.java.grpc_stub
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow library.java.protobuf_java
+  shadow library.java.grpc_core
+  shadow library.java.grpc_protobuf
+  shadow library.java.grpc_stub
 }
 
 task packageTests(type: Jar) {

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/model/pipeline/build.gradle
----------------------------------------------------------------------
diff --git a/model/pipeline/build.gradle b/model/pipeline/build.gradle
index f8690a9..98d2c6b 100644
--- a/model/pipeline/build.gradle
+++ b/model/pipeline/build.gradle
@@ -23,7 +23,7 @@ applyGrpcNature()
 description = "Apache Beam :: Model :: Pipeline"
 
 dependencies {
-  compile library.java.protobuf_java
+  shadow library.java.protobuf_java
 }
 
 task packageTests(type: Jar) {

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/apex/build.gradle
----------------------------------------------------------------------
diff --git a/runners/apex/build.gradle b/runners/apex/build.gradle
index d07ddfa..f8383c1 100644
--- a/runners/apex/build.gradle
+++ b/runners/apex/build.gradle
@@ -32,16 +32,16 @@ evaluationDependsOn(":beam-model-parent:beam-model-fn-execution")
 evaluationDependsOn(":beam-runners-parent:beam-runners-core-java")
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
-  compile project(":beam-runners-parent:beam-runners-core-java")
-  compile library.java.apex_common
-  compile library.java.malhar_library
-  compile library.java.apex_engine
-  compile library.java.commons_lang3
-  compile library.java.findbugs_jsr305
-  runtime library.java.apex_engine
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-java", configuration: "shadow")
+  shadow library.java.apex_common
+  shadow library.java.malhar_library
+  shadow library.java.apex_engine
+  shadow library.java.commons_lang3
+  shadow library.java.findbugs_jsr305
+  shadow library.java.apex_engine
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile project(":beam-model-parent:beam-model-fn-execution").sourceSets.test.output
   testCompile project(":beam-runners-parent:beam-runners-core-java").sourceSets.test.output

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/core-construction-java/build.gradle
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/build.gradle b/runners/core-construction-java/build.gradle
index 597c94e..a330426 100644
--- a/runners/core-construction-java/build.gradle
+++ b/runners/core-construction-java/build.gradle
@@ -30,20 +30,20 @@ test {
 }
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(":beam-model-parent:beam-model-job-management")
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.jackson_annotations
-  compile library.java.jackson_databind
-  compile library.java.jackson_core
-  compile library.java.protobuf_java
-  compile library.java.protobuf_java_util
-  compile library.java.findbugs_jsr305
-  compile library.java.joda_time
   compile library.java.guava
-  compile library.java.slf4j_api
-  compile library.java.grpc_core
-  compile library.java.grpc_stub
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow project(path: ":beam-model-parent:beam-model-job-management", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.jackson_annotations
+  shadow library.java.jackson_databind
+  shadow library.java.jackson_core
+  shadow library.java.protobuf_java
+  shadow library.java.protobuf_java_util
+  shadow library.java.findbugs_jsr305
+  shadow library.java.joda_time
+  shadow library.java.slf4j_api
+  shadow library.java.grpc_core
+  shadow library.java.grpc_stub
   testCompile library.java.hamcrest_core
   testCompile library.java.junit
   testCompile library.java.mockito_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/core-java/build.gradle
----------------------------------------------------------------------
diff --git a/runners/core-java/build.gradle b/runners/core-java/build.gradle
index 362b064..0c04507 100644
--- a/runners/core-java/build.gradle
+++ b/runners/core-java/build.gradle
@@ -30,16 +30,16 @@ test {
 }
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-model-parent:beam-model-fn-execution")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
-  compile library.java.findbugs_jsr305
   compile library.java.guava
-  compile library.java.grpc_core
-  compile library.java.grpc_stub
-  compile library.java.joda_time
-  compile library.java.slf4j_api
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-model-parent:beam-model-fn-execution", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow library.java.grpc_core
+  shadow library.java.grpc_stub
+  shadow library.java.joda_time
+  shadow library.java.slf4j_api
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile library.java.hamcrest_core
   testCompile library.java.mockito_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/direct-java/build.gradle
----------------------------------------------------------------------
diff --git a/runners/direct-java/build.gradle b/runners/direct-java/build.gradle
index e0465da..6b93b48 100644
--- a/runners/direct-java/build.gradle
+++ b/runners/direct-java/build.gradle
@@ -32,16 +32,16 @@ evaluationDependsOn(":beam-runners-parent:beam-runners-core-java")
 evaluationDependsOn(":beam-model-parent:beam-model-fn-execution")
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
-  compile project(":beam-runners-parent:beam-runners-core-java")
   compile library.java.guava
-  compile library.java.joda_time
-  compile library.java.findbugs_jsr305
-  compile library.java.slf4j_api
-  provided library.java.hamcrest_core
-  provided library.java.junit
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-java", configuration: "shadow")
+  shadow library.java.joda_time
+  shadow library.java.findbugs_jsr305
+  shadow library.java.slf4j_api
+  shadow library.java.hamcrest_core
+  shadow library.java.junit
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile project(":beam-runners-parent:beam-runners-core-java").sourceSets.test.output
   testCompile project(":beam-model-parent:beam-model-fn-execution").sourceSets.test.output

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/flink/build.gradle
----------------------------------------------------------------------
diff --git a/runners/flink/build.gradle b/runners/flink/build.gradle
index 0fba94e..3085a2b 100644
--- a/runners/flink/build.gradle
+++ b/runners/flink/build.gradle
@@ -42,21 +42,21 @@ test {
 def flink_version = "1.3.0"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-runners-parent:beam-runners-core-java")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
-  compile library.java.jackson_annotations
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile library.java.slf4j_api
-  compile library.java.joda_time
-  compile library.java.commons_compress
-  compile "org.apache.flink:flink-clients_2.10:$flink_version"
-  compile "org.apache.flink:flink-core:$flink_version"
-  compile "org.apache.flink:flink-metrics-core:$flink_version"
-  compile "org.apache.flink:flink-java:$flink_version"
-  compile "org.apache.flink:flink-runtime_2.10:$flink_version"
-  compile "org.apache.flink:flink-streaming-java_2.10:$flink_version"
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-java", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
+  shadow library.java.jackson_annotations
+  shadow library.java.findbugs_jsr305
+  shadow library.java.slf4j_api
+  shadow library.java.joda_time
+  shadow library.java.commons_compress
+  shadow "org.apache.flink:flink-clients_2.10:$flink_version"
+  shadow "org.apache.flink:flink-core:$flink_version"
+  shadow "org.apache.flink:flink-metrics-core:$flink_version"
+  shadow "org.apache.flink:flink-java:$flink_version"
+  shadow "org.apache.flink:flink-runtime_2.10:$flink_version"
+  shadow "org.apache.flink:flink-streaming-java_2.10:$flink_version"
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile project(":beam-model-parent:beam-model-fn-execution").sourceSets.test.output
   testCompile project(":beam-runners-parent:beam-runners-core-java").sourceSets.test.output

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/gearpump/build.gradle
----------------------------------------------------------------------
diff --git a/runners/gearpump/build.gradle b/runners/gearpump/build.gradle
index d6b42c9..5a1c044 100644
--- a/runners/gearpump/build.gradle
+++ b/runners/gearpump/build.gradle
@@ -24,17 +24,17 @@ description = "Apache Beam :: Runners :: Gearpump"
 def gearpump_version = "0.8.4"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-runners-parent:beam-runners-core-java")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
-  compile "org.apache.gearpump:gearpump-core_2.11:$gearpump_version"
-  compile "org.apache.gearpump:gearpump-streaming_2.11:$gearpump_version"
-  compile library.java.joda_time
-  compile library.java.jackson_annotations
   compile library.java.guava
-  compile library.java.findbugs_jsr305
   compileOnly "com.typesafe:config:1.3.0"
   compileOnly "org.scala-lang:scala-library:2.11.8"
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-java", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
+  shadow "org.apache.gearpump:gearpump-core_2.11:$gearpump_version"
+  shadow "org.apache.gearpump:gearpump-streaming_2.11:$gearpump_version"
+  shadow library.java.joda_time
+  shadow library.java.jackson_annotations
+  shadow library.java.findbugs_jsr305
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile library.java.junit
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/google-cloud-dataflow-java/build.gradle
----------------------------------------------------------------------
diff --git a/runners/google-cloud-dataflow-java/build.gradle b/runners/google-cloud-dataflow-java/build.gradle
index ca7a7c2..bd1e593 100644
--- a/runners/google-cloud-dataflow-java/build.gradle
+++ b/runners/google-cloud-dataflow-java/build.gradle
@@ -47,28 +47,28 @@ test {
 }
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
-  compile library.java.google_api_client
-  compile library.java.google_http_client
-  compile library.java.google_http_client_jackson2
-  compile library.java.google_api_services_dataflow
-  compile library.java.google_api_services_clouddebugger
-  compile library.java.google_api_services_storage
-  compile library.java.google_auth_library_credentials
-  compile library.java.google_auth_library_oauth2_http
-  compile library.java.bigdataoss_util
   compile library.java.guava
-  compile library.java.avro
-  compile library.java.joda_time
-  compile library.java.findbugs_jsr305
-  compile library.java.jackson_core
-  compile library.java.jackson_annotations
-  compile library.java.jackson_databind
-  compile library.java.slf4j_api
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
+  shadow library.java.google_api_client
+  shadow library.java.google_http_client
+  shadow library.java.google_http_client_jackson2
+  shadow library.java.google_api_services_dataflow
+  shadow library.java.google_api_services_clouddebugger
+  shadow library.java.google_api_services_storage
+  shadow library.java.google_auth_library_credentials
+  shadow library.java.google_auth_library_oauth2_http
+  shadow library.java.bigdataoss_util
+  shadow library.java.avro
+  shadow library.java.joda_time
+  shadow library.java.findbugs_jsr305
+  shadow library.java.jackson_core
+  shadow library.java.jackson_annotations
+  shadow library.java.jackson_databind
+  shadow library.java.slf4j_api
   testCompile library.java.hamcrest_core
   testCompile library.java.junit
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-google-cloud-platform").sourceSets.test.output

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/java-fn-execution/build.gradle
----------------------------------------------------------------------
diff --git a/runners/java-fn-execution/build.gradle b/runners/java-fn-execution/build.gradle
index 6aa6bab..d4646c6 100644
--- a/runners/java-fn-execution/build.gradle
+++ b/runners/java-fn-execution/build.gradle
@@ -31,13 +31,13 @@ description = "Apache Beam :: Runners :: Java Fn Execution"
 evaluationDependsOn(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-fn-execution")
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(":beam-model-parent:beam-model-fn-execution")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-fn-execution")
-  compile library.java.grpc_core
-  compile library.java.grpc_stub
-  compile library.java.grpc_netty
   compile library.java.guava
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow project(path: ":beam-model-parent:beam-model-fn-execution", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-fn-execution", configuration: "shadow")
+  shadow library.java.grpc_core
+  shadow library.java.grpc_stub
+  shadow library.java.grpc_netty
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-fn-execution").sourceSets.test.output
   testCompile library.java.junit
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/local-artifact-service-java/build.gradle
----------------------------------------------------------------------
diff --git a/runners/local-artifact-service-java/build.gradle b/runners/local-artifact-service-java/build.gradle
index bd7a846..dbce60d 100644
--- a/runners/local-artifact-service-java/build.gradle
+++ b/runners/local-artifact-service-java/build.gradle
@@ -22,13 +22,13 @@ applyJavaNature()
 description = "Apache Beam :: Runners :: Java Local Artifact Service"
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-job-management")
-  compile library.java.findbugs_jsr305
   compile library.java.guava
-  compile library.java.grpc_core
-  compile library.java.grpc_stub
-  compile library.java.protobuf_java
-  compile library.java.slf4j_api
+  shadow project(path: ":beam-model-parent:beam-model-job-management", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow library.java.grpc_core
+  shadow library.java.grpc_stub
+  shadow library.java.protobuf_java
+  shadow library.java.slf4j_api
   testCompile library.java.hamcrest_core
   testCompile library.java.hamcrest_library
   testCompile library.java.mockito_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/reference/job-server/build.gradle
----------------------------------------------------------------------
diff --git a/runners/reference/job-server/build.gradle b/runners/reference/job-server/build.gradle
index fa51110..f19c822 100644
--- a/runners/reference/job-server/build.gradle
+++ b/runners/reference/job-server/build.gradle
@@ -22,12 +22,12 @@ applyJavaNature()
 description = "Apache Beam :: Runners :: Reference :: Job Orchestrator"
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-job-management")
-  compile library.java.grpc_core
-  compile library.java.grpc_stub
-  compile library.java.slf4j_api
-  compile library.java.args4j
-  runtime library.java.grpc_netty
+  shadow library.java.grpc_netty
+  shadow project(path: ":beam-model-parent:beam-model-job-management", configuration: "shadow")
+  shadow library.java.grpc_core
+  shadow library.java.grpc_stub
+  shadow library.java.slf4j_api
+  shadow library.java.args4j
   testCompile library.java.junit
 }
 

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/runners/spark/build.gradle
----------------------------------------------------------------------
diff --git a/runners/spark/build.gradle b/runners/spark/build.gradle
index 117a154..9198161 100644
--- a/runners/spark/build.gradle
+++ b/runners/spark/build.gradle
@@ -49,17 +49,17 @@ test {
 }
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
-  compile project(":beam-runners-parent:beam-runners-core-java")
-  compile library.java.findbugs_jsr305
-  compile library.java.guava
-  compile library.java.jackson_annotations
-  compile library.java.slf4j_api
-  compile library.java.joda_time
-  compile library.java.commons_text
-  compile "io.dropwizard.metrics:metrics-core:3.1.2"
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
+  shadow project(path: ":beam-runners-parent:beam-runners-core-java", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow library.java.guava
+  shadow library.java.jackson_annotations
+  shadow library.java.slf4j_api
+  shadow library.java.joda_time
+  shadow library.java.commons_text
+  shadow "io.dropwizard.metrics:metrics-core:3.1.2"
   provided library.java.spark_core
   provided library.java.spark_streaming
   provided library.java.spark_network_common
@@ -72,7 +72,7 @@ dependencies {
   provided "org.apache.zookeeper:zookeeper:3.4.6"
   provided "org.scala-lang:scala-library:2.10.5"
   provided "com.esotericsoftware.kryo:kryo:2.21"
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-kafka")
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-kafka", configuration: "shadow")
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile project(":beam-model-parent:beam-model-fn-execution").sourceSets.test.output
   testCompile project(":beam-runners-parent:beam-runners-core-java").sourceSets.test.output

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/core/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/core/build.gradle b/sdks/java/core/build.gradle
index b6c47e8..081623f 100644
--- a/sdks/java/core/build.gradle
+++ b/sdks/java/core/build.gradle
@@ -50,27 +50,27 @@ dependencies {
   compile library.java.guava
   compile library.java.protobuf_java
   compile library.java.findbugs_jsr305
-  compile "com.github.stephenc.findbugs:findbugs-annotations:1.3.9-1"
-  compile library.java.jackson_core
-  compile library.java.jackson_annotations
-  compile library.java.jackson_databind
-  compile library.java.slf4j_api
   compile library.java.byte_buddy
-  compile library.java.avro
-  compile library.java.snappy_java
   compile library.java.commons_compress
   compile library.java.commons_lang3
-  compile library.java.joda_time
-  compile library.java.hamcrest_core
-  compile library.java.hamcrest_library
-  compile library.java.junit
-  runtime "org.tukaani:xz:1.5"
-  testCompile project(":beam-model-parent:beam-model-fn-execution").sourceSets.test.output
-  testCompile library.java.guava_testlib
-  testCompile library.java.jackson_dataformat_yaml
-  testCompile library.java.slf4j_jdk14
-  testCompile library.java.mockito_core
-  testCompile "com.esotericsoftware.kryo:kryo:2.21"
+  compileOnly "com.github.stephenc.findbugs:findbugs-annotations:1.3.9-1"
+  shadow library.java.jackson_core
+  shadow library.java.jackson_annotations
+  shadow library.java.jackson_databind
+  shadow library.java.slf4j_api
+  shadow library.java.avro
+  shadow library.java.snappy_java
+  shadow library.java.joda_time
+  shadow library.java.hamcrest_core
+  shadow library.java.hamcrest_library
+  shadow library.java.junit
+  shadow "org.tukaani:xz:1.5"
+  shadowTest project(":beam-model-parent:beam-model-fn-execution").sourceSets.test.output
+  shadowTest library.java.guava_testlib
+  shadowTest library.java.jackson_dataformat_yaml
+  shadowTest library.java.slf4j_jdk14
+  shadowTest library.java.mockito_core
+  shadowTest "com.esotericsoftware.kryo:kryo:2.21"
 }
 
 // Shade dependencies.
@@ -100,7 +100,10 @@ task shadowTestJar(type: com.github.jengelman.gradle.plugins.shadow.tasks.Shadow
   }
   relocate("com.google.common", "org.apache.beam.sdk.repackaged.com.google.common") {
     // com.google.common is too generic, need to exclude guava-testlib
-    exclude "com.google.common.*.testing.*"
+    exclude "com.google.common.collect.testing.**"
+    exclude "com.google.common.escape.testing.**"
+    exclude "com.google.common.testing.**"
+    exclude "com.google.common.util.concurrent.testing.**"
   }
   relocate "com.google.thirdparty", "org.apache.beam.sdk.repackaged.com.google.thirdparty"
   relocate "com.google.protobuf", "org.apache.beam.sdk.repackaged.com.google.protobuf"

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/extensions/google-cloud-platform-core/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/extensions/google-cloud-platform-core/build.gradle b/sdks/java/extensions/google-cloud-platform-core/build.gradle
index ba681db..7c71710 100644
--- a/sdks/java/extensions/google-cloud-platform-core/build.gradle
+++ b/sdks/java/extensions/google-cloud-platform-core/build.gradle
@@ -30,24 +30,24 @@ test {
 }
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.google_http_client_jackson2
-  compile library.java.google_auth_library_oauth2_http
-  compile library.java.google_api_client
-  compile library.java.bigdataoss_gcsio
-  compile library.java.bigdataoss_util
-  compile library.java.google_api_services_cloudresourcemanager
-  compile library.java.google_api_services_storage
-  compile library.java.google_auth_library_credentials
-  compile library.java.findbugs_jsr305
-  compile library.java.google_http_client
   compile library.java.guava
-  compile library.java.slf4j_api
-  compile library.java.joda_time
-  compile library.java.jackson_annotations
-  compile library.java.jackson_databind
-  compileOnly library.java.hamcrest_core
-  compileOnly library.java.junit
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.google_http_client_jackson2
+  shadow library.java.google_auth_library_oauth2_http
+  shadow library.java.google_api_client
+  shadow library.java.bigdataoss_gcsio
+  shadow library.java.bigdataoss_util
+  shadow library.java.google_api_services_cloudresourcemanager
+  shadow library.java.google_api_services_storage
+  shadow library.java.google_auth_library_credentials
+  shadow library.java.findbugs_jsr305
+  shadow library.java.google_http_client
+  shadow library.java.slf4j_api
+  shadow library.java.joda_time
+  shadow library.java.jackson_annotations
+  shadow library.java.jackson_databind
+  shadow library.java.hamcrest_core
+  shadow library.java.junit
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile library.java.guava_testlib
   testCompile library.java.mockito_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/extensions/jackson/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/extensions/jackson/build.gradle b/sdks/java/extensions/jackson/build.gradle
index bf6a0a8..6ba53cf 100644
--- a/sdks/java/extensions/jackson/build.gradle
+++ b/sdks/java/extensions/jackson/build.gradle
@@ -22,10 +22,10 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: Extensions :: Jackson"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.jackson_databind
   compile library.java.guava
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.jackson_databind
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.hamcrest_core
   testCompile library.java.junit
 }

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/extensions/join-library/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/extensions/join-library/build.gradle b/sdks/java/extensions/join-library/build.gradle
index f515aa6..26eab93 100644
--- a/sdks/java/extensions/join-library/build.gradle
+++ b/sdks/java/extensions/join-library/build.gradle
@@ -22,9 +22,9 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: Extensions :: Join library"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   compile library.java.guava
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.hamcrest_core
   testCompile library.java.junit
 }

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/extensions/protobuf/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/extensions/protobuf/build.gradle b/sdks/java/extensions/protobuf/build.gradle
index d52abf8..004885a 100644
--- a/sdks/java/extensions/protobuf/build.gradle
+++ b/sdks/java/extensions/protobuf/build.gradle
@@ -23,9 +23,9 @@ applyGrpcNature()
 description = "Apache Beam :: SDKs :: Java :: Extensions :: Protobuf"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.protobuf_java
   compile library.java.guava
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.protobuf_java
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile library.java.hamcrest_core
   testCompile library.java.mockito_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/extensions/sorter/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/extensions/sorter/build.gradle b/sdks/java/extensions/sorter/build.gradle
index e34ca87..89bc479 100644
--- a/sdks/java/extensions/sorter/build.gradle
+++ b/sdks/java/extensions/sorter/build.gradle
@@ -22,11 +22,11 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: Extensions :: Sorter"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   compile library.java.guava
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   provided library.java.hadoop_mapreduce_client_core
   provided library.java.hadoop_common
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.hamcrest_core
   testCompile library.java.mockito_core
   testCompile library.java.junit

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/extensions/sql/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/extensions/sql/build.gradle b/sdks/java/extensions/sql/build.gradle
index fd72892..e037abb 100644
--- a/sdks/java/extensions/sql/build.gradle
+++ b/sdks/java/extensions/sql/build.gradle
@@ -29,18 +29,18 @@ def calcite_version = "1.13.0"
 def avatica_version = "1.10.0"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-join-library")
-  compile "org.apache.calcite:calcite-core:$calcite_version"
-  compile "org.apache.calcite:calcite-linq4j:$calcite_version"
-  compile "org.apache.calcite.avatica:avatica-core:$avatica_version"
   compile library.java.guava
-  compile library.java.slf4j_api
-  compile library.java.commons_csv
-  compile library.java.joda_time
-  provided project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-kafka")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-join-library", configuration: "shadow")
+  shadow "org.apache.calcite:calcite-core:$calcite_version"
+  shadow "org.apache.calcite:calcite-linq4j:$calcite_version"
+  shadow "org.apache.calcite.avatica:avatica-core:$avatica_version"
+  shadow library.java.slf4j_api
+  shadow library.java.commons_csv
+  shadow library.java.joda_time
+  shadow project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
+  provided project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-kafka", configuration: "shadow")
   provided library.java.kafka_clients
-  runtime project(":beam-runners-parent:beam-runners-direct-java")
   testCompile library.java.slf4j_jdk14
   testCompile library.java.junit
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/fn-execution/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/fn-execution/build.gradle b/sdks/java/fn-execution/build.gradle
index fdd323d..5451154 100644
--- a/sdks/java/fn-execution/build.gradle
+++ b/sdks/java/fn-execution/build.gradle
@@ -22,12 +22,12 @@ applyJavaNature(javaVersion: 1.8)
 description = "Apache Beam :: SDKs :: Java :: Harness Core"
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile library.java.grpc_core
-  compile library.java.grpc_stub
-  compile library.java.grpc_netty
-  compile library.java.netty_transport_native_epoll
   compile library.java.guava
+  shadow project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  shadow library.java.grpc_core
+  shadow library.java.grpc_stub
+  shadow library.java.grpc_netty
+  shadow library.java.netty_transport_native_epoll
   testCompile library.java.junit
   testCompile library.java.hamcrest_core
   testCompile library.java.hamcrest_library

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/harness/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/harness/build.gradle b/sdks/java/harness/build.gradle
index 6524769..b3009cb 100644
--- a/sdks/java/harness/build.gradle
+++ b/sdks/java/harness/build.gradle
@@ -32,13 +32,13 @@ description = "Apache Beam :: SDKs :: Java :: Harness"
 evaluationDependsOn(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-fn-execution")
 
 dependencies {
-  compile project(":beam-model-parent:beam-model-pipeline")
-  compile project(":beam-model-parent:beam-model-fn-execution")
+  compile project(path: ":beam-model-parent:beam-model-pipeline", configuration: "shadow")
+  compile project(path: ":beam-model-parent:beam-model-fn-execution", configuration: "shadow")
   compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-fn-execution")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core")
-  compile project(":beam-runners-parent:beam-runners-core-java")
-  compile project(":beam-runners-parent:beam-runners-core-construction-java")
+  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-fn-execution", configuration: "shadow")
+  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core", configuration: "shadow")
+  compile project(path: ":beam-runners-parent:beam-runners-core-java", configuration: "shadow")
+  compile project(path: ":beam-runners-parent:beam-runners-core-construction-java", configuration: "shadow")
   compile library.java.jackson_databind
   compile library.java.findbugs_jsr305
   compile library.java.guava

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/amqp/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/amqp/build.gradle b/sdks/java/io/amqp/build.gradle
index 07b3889..c2ad752 100644
--- a/sdks/java/io/amqp/build.gradle
+++ b/sdks/java/io/amqp/build.gradle
@@ -22,12 +22,12 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: AMQP"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.joda_time
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "org.apache.qpid:proton-j:0.13.1"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.joda_time
+  shadow library.java.findbugs_jsr305
+  shadow "org.apache.qpid:proton-j:0.13.1"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.slf4j_api
   testCompile library.java.slf4j_jdk14
   testCompile library.java.junit

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/cassandra/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/cassandra/build.gradle b/sdks/java/io/cassandra/build.gradle
index 58efa3c..043b575 100644
--- a/sdks/java/io/cassandra/build.gradle
+++ b/sdks/java/io/cassandra/build.gradle
@@ -33,13 +33,13 @@ evaluationDependsOn(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-p
 def cassandra_version = "3.2.0"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.slf4j_api
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "com.datastax.cassandra:cassandra-driver-core:$cassandra_version"
-  compile "com.datastax.cassandra:cassandra-driver-mapping:$cassandra_version"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.findbugs_jsr305
+  shadow "com.datastax.cassandra:cassandra-driver-core:$cassandra_version"
+  shadow "com.datastax.cassandra:cassandra-driver-mapping:$cassandra_version"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common").sourceSets.test.output
   testCompile library.java.junit
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/common/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/common/build.gradle b/sdks/java/io/common/build.gradle
index 6eed365..7c25b0e 100644
--- a/sdks/java/io/common/build.gradle
+++ b/sdks/java/io/common/build.gradle
@@ -22,8 +22,8 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: Common"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   compile library.java.guava
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   testCompile library.java.junit
 }
 

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/elasticsearch-tests/elasticsearch-tests-2/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/elasticsearch-tests/elasticsearch-tests-2/build.gradle b/sdks/java/io/elasticsearch-tests/elasticsearch-tests-2/build.gradle
index 27d228c..b5ef1f6 100644
--- a/sdks/java/io/elasticsearch-tests/elasticsearch-tests-2/build.gradle
+++ b/sdks/java/io/elasticsearch-tests/elasticsearch-tests-2/build.gradle
@@ -38,9 +38,9 @@ def elastic_search_version = "2.4.1"
 dependencies {
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-elasticsearch-tests-parent:beam-sdks-java-io-elasticsearch-tests-common").sourceSets.test.output
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-elasticsearch")
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-elasticsearch", configuration: "shadow")
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common").sourceSets.test.output
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.slf4j_api
   testCompile "net.java.dev.jna:jna:$jna_version"
   testCompile "org.apache.logging.log4j:log4j-api:$log4j_version"

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/elasticsearch-tests/elasticsearch-tests-5/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/elasticsearch-tests/elasticsearch-tests-5/build.gradle b/sdks/java/io/elasticsearch-tests/elasticsearch-tests-5/build.gradle
index a0f623c..cd8ff3b 100644
--- a/sdks/java/io/elasticsearch-tests/elasticsearch-tests-5/build.gradle
+++ b/sdks/java/io/elasticsearch-tests/elasticsearch-tests-5/build.gradle
@@ -57,9 +57,9 @@ dependencies {
   testCompile "org.elasticsearch:elasticsearch:$elastic_search_version"
 
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-elasticsearch")
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-elasticsearch", configuration: "shadow")
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common").sourceSets.test.output
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile "org.apache.logging.log4j:log4j-core:$log4j_version"
   testCompile "org.apache.logging.log4j:log4j-api:$log4j_version"
   testCompile library.java.slf4j_api

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/elasticsearch-tests/elasticsearch-tests-common/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/elasticsearch-tests/elasticsearch-tests-common/build.gradle b/sdks/java/io/elasticsearch-tests/elasticsearch-tests-common/build.gradle
index cd5cf46..d81b042 100644
--- a/sdks/java/io/elasticsearch-tests/elasticsearch-tests-common/build.gradle
+++ b/sdks/java/io/elasticsearch-tests/elasticsearch-tests-common/build.gradle
@@ -41,9 +41,9 @@ dependencies {
   testCompile "org.apache.httpcomponents:httpclient:4.5.2"
 
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-elasticsearch")
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-elasticsearch", configuration: "shadow")
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common").sourceSets.test.output
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.slf4j_api
   testCompile "net.java.dev.jna:jna:$jna_version"
   testCompile "org.apache.logging.log4j:log4j-api:$log4j_version"

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/elasticsearch/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/elasticsearch/build.gradle b/sdks/java/io/elasticsearch/build.gradle
index a2e5a02..244ff97 100644
--- a/sdks/java/io/elasticsearch/build.gradle
+++ b/sdks/java/io/elasticsearch/build.gradle
@@ -22,16 +22,16 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: Elasticsearch"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.jackson_databind
-  compile library.java.findbugs_jsr305
   compile library.java.guava
-  compile "org.elasticsearch.client:elasticsearch-rest-client:5.6.3"
-  compile "org.apache.httpcomponents:httpasyncclient:4.1.2"
-  compile "org.apache.httpcomponents:httpcore-nio:4.4.5"
-  compile "org.apache.httpcomponents:httpcore:4.4.5"
-  compile "org.apache.httpcomponents:httpclient:4.5.2"
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.jackson_databind
+  shadow library.java.findbugs_jsr305
+  shadow "org.elasticsearch.client:elasticsearch-rest-client:5.6.3"
+  shadow "org.apache.httpcomponents:httpasyncclient:4.1.2"
+  shadow "org.apache.httpcomponents:httpcore-nio:4.4.5"
+  shadow "org.apache.httpcomponents:httpcore:4.4.5"
+  shadow "org.apache.httpcomponents:httpclient:4.5.2"
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common", configuration: "shadow")
 }
 
 task packageTests(type: Jar) {

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/google-cloud-platform/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/google-cloud-platform/build.gradle b/sdks/java/io/google-cloud-platform/build.gradle
index 3fc50a3..a60265c 100644
--- a/sdks/java/io/google-cloud-platform/build.gradle
+++ b/sdks/java/io/google-cloud-platform/build.gradle
@@ -31,46 +31,46 @@ description = "Apache Beam :: SDKs :: Java :: IO :: Google Cloud Platform"
 evaluationDependsOn(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core")
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-protobuf")
-  compile library.java.jackson_databind
-  compile library.java.grpc_core
-  compile library.java.google_api_services_bigquery
-  compile library.java.gax_grpc
-  compile library.java.google_cloud_core_grpc
-  compile library.java.google_api_services_pubsub
-  compile library.java.grpc_google_cloud_pubsub_v1
-  compile library.java.proto_google_cloud_pubsub_v1
-  compile library.java.bigdataoss_util
-  compile library.java.datastore_v1_proto_client
-  compile library.java.datastore_v1_protos
-  compile library.java.grpc_auth
-  compile library.java.grpc_netty
-  compile library.java.netty_handler
-  compile library.java.grpc_stub
-  compile library.java.joda_time
-  compile library.java.google_cloud_core
-  compile library.java.google_cloud_spanner
-  compile library.java.bigtable_protos
-  compile library.java.bigtable_client_core
-  compile library.java.google_api_client
-  compile library.java.google_http_client
-  compile library.java.google_http_client_jackson2
-  compile library.java.google_auth_library_credentials
-  compile library.java.google_auth_library_oauth2_http
-  compile library.java.slf4j_api
   compile library.java.guava
-  compile library.java.protobuf_java
-  compile library.java.findbugs_jsr305
-  compile library.java.avro
-  compile library.java.proto_google_cloud_spanner_admin_database_v1
-  compile library.java.proto_google_common_protos
-  runtime library.java.grpc_all
-  runtime library.java.netty_tcnative_boringssl_static
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-protobuf", configuration: "shadow")
+  shadow library.java.jackson_databind
+  shadow library.java.grpc_core
+  shadow library.java.google_api_services_bigquery
+  shadow library.java.gax_grpc
+  shadow library.java.google_cloud_core_grpc
+  shadow library.java.google_api_services_pubsub
+  shadow library.java.grpc_google_cloud_pubsub_v1
+  shadow library.java.proto_google_cloud_pubsub_v1
+  shadow library.java.bigdataoss_util
+  shadow library.java.datastore_v1_proto_client
+  shadow library.java.datastore_v1_protos
+  shadow library.java.grpc_auth
+  shadow library.java.grpc_netty
+  shadow library.java.netty_handler
+  shadow library.java.grpc_stub
+  shadow library.java.joda_time
+  shadow library.java.google_cloud_core
+  shadow library.java.google_cloud_spanner
+  shadow library.java.bigtable_protos
+  shadow library.java.bigtable_client_core
+  shadow library.java.google_api_client
+  shadow library.java.google_http_client
+  shadow library.java.google_http_client_jackson2
+  shadow library.java.google_auth_library_credentials
+  shadow library.java.google_auth_library_oauth2_http
+  shadow library.java.slf4j_api
+  shadow library.java.protobuf_java
+  shadow library.java.findbugs_jsr305
+  shadow library.java.avro
+  shadow library.java.proto_google_cloud_spanner_admin_database_v1
+  shadow library.java.proto_google_common_protos
+  shadow library.java.grpc_all
+  shadow library.java.netty_tcnative_boringssl_static
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-extensions-parent:beam-sdks-java-extensions-google-cloud-platform-core").sourceSets.test.output
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.hamcrest_core
   testCompile library.java.mockito_core
   testCompile library.java.junit

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/hadoop-common/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/hadoop-common/build.gradle b/sdks/java/io/hadoop-common/build.gradle
index 5ef17d1..6fafd4b 100644
--- a/sdks/java/io/hadoop-common/build.gradle
+++ b/sdks/java/io/hadoop-common/build.gradle
@@ -22,8 +22,8 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: Hadoop Common"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.findbugs_jsr305
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
   provided library.java.hadoop_client
   provided library.java.hadoop_common
   provided library.java.hadoop_mapreduce_client_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/hadoop-file-system/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/hadoop-file-system/build.gradle b/sdks/java/io/hadoop-file-system/build.gradle
index d1e2368..7e990d6 100644
--- a/sdks/java/io/hadoop-file-system/build.gradle
+++ b/sdks/java/io/hadoop-file-system/build.gradle
@@ -22,16 +22,16 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: Hadoop File System"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.jackson_core
-  compile library.java.jackson_databind
   compile library.java.guava
-  compile library.java.slf4j_api
-  compile library.java.findbugs_jsr305
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.jackson_core
+  shadow library.java.jackson_databind
+  shadow library.java.slf4j_api
+  shadow library.java.findbugs_jsr305
   provided library.java.hadoop_client
   provided library.java.hadoop_common
   provided library.java.hadoop_mapreduce_client_core
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile library.java.guava_testlib
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/hadoop/input-format/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/hadoop/input-format/build.gradle b/sdks/java/io/hadoop/input-format/build.gradle
index c03adc4..0f24bcf 100644
--- a/sdks/java/io/hadoop/input-format/build.gradle
+++ b/sdks/java/io/hadoop/input-format/build.gradle
@@ -24,17 +24,16 @@ description = "Apache Beam :: SDKs :: Java :: IO :: Hadoop :: input-format"
 def log4j_version = "2.6.2"
 
 dependencies {
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-common")
   compile library.java.guava
-  compile library.java.slf4j_api
-  compile library.java.findbugs_jsr305
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-common", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.findbugs_jsr305
   provided library.java.hadoop_common
   provided library.java.hadoop_mapreduce_client_core
   testCompile library.java.hamcrest_core
-
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile "org.apache.logging.log4j:log4j-core:$log4j_version"
   testCompile library.java.junit
   testCompile library.java.mockito_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/hadoop/jdk1.8-tests/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/hadoop/jdk1.8-tests/build.gradle b/sdks/java/io/hadoop/jdk1.8-tests/build.gradle
index e94512a..25d0d85 100644
--- a/sdks/java/io/hadoop/jdk1.8-tests/build.gradle
+++ b/sdks/java/io/hadoop/jdk1.8-tests/build.gradle
@@ -40,13 +40,15 @@ def log4j_version = "2.6.2"
 def elastic_search_version = "5.0.0"
 
 dependencies {
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-parent:beam-sdks-java-io-hadoop-input-format")
-  compile library.java.slf4j_api
-  compile "org.elasticsearch:elasticsearch-hadoop:$elastic_search_version"
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-parent:beam-sdks-java-io-hadoop-input-format", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow "org.elasticsearch:elasticsearch-hadoop:$elastic_search_version"
+  shadow library.java.commons_io_2x
   provided library.java.hadoop_common
   provided library.java.hadoop_mapreduce_client_core
-  runtime library.java.commons_io_2x
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common", configuration: "shadow")
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common").sourceSets.test.output
   testCompile library.java.hamcrest_core
   testCompile "org.elasticsearch.plugin:transport-netty4-client:$elastic_search_version"
@@ -56,9 +58,6 @@ dependencies {
   testCompile "com.datastax.cassandra:cassandra-driver-mapping:3.1.1"
   testCompile "org.apache.cassandra:cassandra-all:3.9"
   testCompile "com.datastax.cassandra:cassandra-driver-core:3.1.1"
-
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
   testCompile "org.apache.logging.log4j:log4j-core:$log4j_version"
   testCompile library.java.junit
   testCompile library.java.mockito_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/hbase/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/hbase/build.gradle b/sdks/java/io/hbase/build.gradle
index 5e27b1a..bcfebbd 100644
--- a/sdks/java/io/hbase/build.gradle
+++ b/sdks/java/io/hbase/build.gradle
@@ -39,14 +39,14 @@ test {
 def hbase_version = "1.2.6"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-common")
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile library.java.slf4j_api
-  compile "org.apache.hbase:hbase-shaded-client:$hbase_version"
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-common", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow library.java.slf4j_api
+  shadow "org.apache.hbase:hbase-shaded-client:$hbase_version"
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.commons_lang3
   testCompile library.java.junit
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/hcatalog/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/hcatalog/build.gradle b/sdks/java/io/hcatalog/build.gradle
index 844a95f..93ba022 100644
--- a/sdks/java/io/hcatalog/build.gradle
+++ b/sdks/java/io/hcatalog/build.gradle
@@ -31,11 +31,11 @@ test {
 }
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-common")
-  compile library.java.slf4j_api
   compile library.java.guava
-  compile library.java.findbugs_jsr305
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-hadoop-common", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.findbugs_jsr305
   // Hive bundles without repackaging Jackson which is why we redeclare it here so that it appears
   // on the compile/test/runtime classpath before Hive.
   provided library.java.jackson_annotations
@@ -50,7 +50,7 @@ dependencies {
     exclude group: "org.apache.hive", module: "hive-exec"
     exclude group: "com.google.protobuf", module: "protobuf-java"
   }
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.commons_io_2x
   testCompile library.java.junit
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/jdbc/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/jdbc/build.gradle b/sdks/java/io/jdbc/build.gradle
index dd6e357..a29283e 100644
--- a/sdks/java/io/jdbc/build.gradle
+++ b/sdks/java/io/jdbc/build.gradle
@@ -31,12 +31,12 @@ description = "Apache Beam :: SDKs :: Java :: IO :: JDBC"
 evaluationDependsOn(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common")
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "org.apache.commons:commons-dbcp2:2.1.1"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow "org.apache.commons:commons-dbcp2:2.1.1"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common", configuration: "shadow")
   testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common").sourceSets.test.output
   testCompile library.java.junit
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/jms/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/jms/build.gradle b/sdks/java/io/jms/build.gradle
index 7744747..e7176d3 100644
--- a/sdks/java/io/jms/build.gradle
+++ b/sdks/java/io/jms/build.gradle
@@ -22,13 +22,13 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: JMS"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.slf4j_api
-  compile library.java.joda_time
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.joda_time
+  shadow library.java.findbugs_jsr305
+  shadow "org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.activemq_broker
   testCompile library.java.activemq_jaas
   testCompile library.java.activemq_kahadb_store

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/kafka/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/kafka/build.gradle b/sdks/java/io/kafka/build.gradle
index eb755d9..96c2f92 100644
--- a/sdks/java/io/kafka/build.gradle
+++ b/sdks/java/io/kafka/build.gradle
@@ -22,16 +22,16 @@ applyJavaNature(enableFindbugs: false)
 description = "Apache Beam :: SDKs :: Java :: IO :: Kafka"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.kafka_clients
-  compile library.java.slf4j_api
-  compile library.java.joda_time
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile library.java.jackson_annotations
-  compile library.java.jackson_databind
-  compile "org.springframework:spring-expression:4.3.5.RELEASE"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.kafka_clients
+  shadow library.java.slf4j_api
+  shadow library.java.joda_time
+  shadow library.java.findbugs_jsr305
+  shadow library.java.jackson_annotations
+  shadow library.java.jackson_databind
+  shadow "org.springframework:spring-expression:4.3.5.RELEASE"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
   testCompile library.java.hamcrest_core
   testCompile library.java.junit

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/kinesis/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/kinesis/build.gradle b/sdks/java/io/kinesis/build.gradle
index 769e972..dbf3f95 100644
--- a/sdks/java/io/kinesis/build.gradle
+++ b/sdks/java/io/kinesis/build.gradle
@@ -29,17 +29,17 @@ test {
 def aws_version = "1.11.18"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.slf4j_api
-  compile library.java.joda_time
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "com.amazonaws:aws-java-sdk-core:$aws_version"
-  compile "com.amazonaws:aws-java-sdk-kinesis:$aws_version"
-  compile "com.amazonaws:aws-java-sdk-cloudwatch:$aws_version"
-  compile "com.amazonaws:amazon-kinesis-client:1.6.1"
-  compile "commons-lang:commons-lang:2.6"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.joda_time
+  shadow library.java.findbugs_jsr305
+  shadow "com.amazonaws:aws-java-sdk-core:$aws_version"
+  shadow "com.amazonaws:aws-java-sdk-kinesis:$aws_version"
+  shadow "com.amazonaws:aws-java-sdk-cloudwatch:$aws_version"
+  shadow "com.amazonaws:amazon-kinesis-client:1.6.1"
+  shadow "commons-lang:commons-lang:2.6"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.junit
   testCompile library.java.mockito_core
   testCompile library.java.guava_testlib

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/mongodb/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/mongodb/build.gradle b/sdks/java/io/mongodb/build.gradle
index cabab9f..a31856d 100644
--- a/sdks/java/io/mongodb/build.gradle
+++ b/sdks/java/io/mongodb/build.gradle
@@ -22,13 +22,13 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: MongoDB"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.slf4j_api
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile library.java.joda_time
-  compile "org.mongodb:mongo-java-driver:3.2.2"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.findbugs_jsr305
+  shadow library.java.joda_time
+  shadow "org.mongodb:mongo-java-driver:3.2.2"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.junit
   testCompile library.java.slf4j_jdk14
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/mqtt/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/mqtt/build.gradle b/sdks/java/io/mqtt/build.gradle
index 9a54918..50b54f7 100644
--- a/sdks/java/io/mqtt/build.gradle
+++ b/sdks/java/io/mqtt/build.gradle
@@ -22,14 +22,14 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: MQTT"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.slf4j_api
-  compile library.java.joda_time
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "org.fusesource.mqtt-client:mqtt-client:1.14"
-  compile "org.fusesource.hawtbuf:hawtbuf:1.11"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.slf4j_api
+  shadow library.java.joda_time
+  shadow library.java.findbugs_jsr305
+  shadow "org.fusesource.mqtt-client:mqtt-client:1.14"
+  shadow "org.fusesource.hawtbuf:hawtbuf:1.11"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.activemq_broker
   testCompile library.java.activemq_mqtt
   testCompile library.java.activemq_kahadb_store

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/redis/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/redis/build.gradle b/sdks/java/io/redis/build.gradle
index c9b1fb7..b48e0c7 100644
--- a/sdks/java/io/redis/build.gradle
+++ b/sdks/java/io/redis/build.gradle
@@ -22,11 +22,11 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: Redis"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "redis.clients:jedis:2.9.0"
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow "redis.clients:jedis:2.9.0"
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.junit
   testCompile library.java.slf4j_jdk14
   testCompile library.java.hamcrest_core

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/solr/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/solr/build.gradle b/sdks/java/io/solr/build.gradle
index 48c0b36..786032d 100644
--- a/sdks/java/io/solr/build.gradle
+++ b/sdks/java/io/solr/build.gradle
@@ -22,14 +22,14 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: Solr"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile library.java.commons_compress
-  compile "org.apache.solr:solr-solrj:5.5.4"
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow library.java.commons_compress
+  shadow "org.apache.solr:solr-solrj:5.5.4"
   compileOnly "org.apache.httpcomponents:httpclient:4.4.1"
-  testCompile project(":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common")
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-io-parent:beam-sdks-java-io-common", configuration: "shadow")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.hamcrest_core
   testCompile library.java.junit
   testCompile library.java.slf4j_api

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/tika/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/tika/build.gradle b/sdks/java/io/tika/build.gradle
index b858d7a..5264669 100644
--- a/sdks/java/io/tika/build.gradle
+++ b/sdks/java/io/tika/build.gradle
@@ -24,12 +24,12 @@ description = "Apache Beam :: SDKs :: Java :: IO :: Tika"
 def tika_version = "1.16"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  compile "org.apache.tika:tika-core:$tika_version"
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.findbugs_jsr305
+  shadow "org.apache.tika:tika-core:$tika_version"
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.junit
   testCompile library.java.hamcrest_core
   testCompile "org.apache.tika:tika-parsers:$tika_version"

http://git-wip-us.apache.org/repos/asf/beam/blob/ac9bf03d/sdks/java/io/xml/build.gradle
----------------------------------------------------------------------
diff --git a/sdks/java/io/xml/build.gradle b/sdks/java/io/xml/build.gradle
index e2d1662..42f4859 100644
--- a/sdks/java/io/xml/build.gradle
+++ b/sdks/java/io/xml/build.gradle
@@ -22,13 +22,13 @@ applyJavaNature()
 description = "Apache Beam :: SDKs :: Java :: IO :: XML"
 
 dependencies {
-  compile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
-  compile library.java.stax2_api
   compile library.java.guava
-  compile library.java.findbugs_jsr305
-  runtime library.java.woodstox_core_asl
+  shadow project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadow")
+  shadow library.java.stax2_api
+  shadow library.java.findbugs_jsr305
+  shadow library.java.woodstox_core_asl
   testCompile project(path: ":beam-sdks-parent:beam-sdks-java-parent:beam-sdks-java-core", configuration: "shadowTest")
-  testCompile project(":beam-runners-parent:beam-runners-direct-java")
+  testCompile project(path: ":beam-runners-parent:beam-runners-direct-java", configuration: "shadow")
   testCompile library.java.junit
   testCompile library.java.slf4j_jdk14
   testCompile library.java.hamcrest_core