SurenNihalani commented on a change in pull request #236: iceberg: don't bundle 
hdfs with iceberg runtime
URL: https://github.com/apache/incubator-iceberg/pull/236#discussion_r298857031
 
 

 ##########
 File path: build.gradle
 ##########
 @@ -355,44 +355,38 @@ project(':iceberg-pig') {
 project(':iceberg-runtime') {
   apply plugin: 'com.github.johnrengelman.shadow'
 
-  configurations {
-    shadow
-    compileOnly.extendsFrom shadow
-  }
-
-  shadowJar {
-    configurations = [project.configurations.shadow]
-    from(project.sourceSets.main.output)
-  }
-
-  tasks.build.dependsOn tasks.shadowJar
+  tasks.assemble.dependsOn tasks.shadowJar
   tasks.install.dependsOn tasks.shadowJar
   tasks.javadocJar.dependsOn tasks.shadowJar
 
   dependencies {
-    shadow project(':iceberg-api')
-    shadow project(':iceberg-common')
-    shadow project(':iceberg-core')
-    shadow project(':iceberg-parquet')
-    shadow project(':iceberg-spark')
-    shadow project(':iceberg-pig')
-    shadow project(':iceberg-hive')
-
-    shadow "org.apache.avro:avro:$avroVersion"
-    shadow "org.apache.parquet:parquet-avro:$parquetVersion"
+    compile project(':iceberg-api')
+    compile project(':iceberg-common')
+    compile project(':iceberg-core')
+    compile project(':iceberg-parquet')
+    compile project(':iceberg-spark')
+    compile project(':iceberg-pig')
+    compile project(':iceberg-hive')
+
+    compile "org.apache.avro:avro:$avroVersion"
+    compile "org.apache.parquet:parquet-avro:$parquetVersion"
+
   }
 
   publishing {
     publications {
       withType(IvyPublication) {
-        configurations {
-          'shadow' { extend 'runtime' }
-        }
+        from components.java
       }
     }
   }
 
   shadowJar {
+    dependencies {
+      exclude(dependency {
+        it.moduleGroup == 'org.apache.hadoop'
 
 Review comment:
   @rdblue, I don't think the name of configuration matters here. The way 
people express that distinction is by using the runtime configuration (Command 
F for Figure 2 on this page: 
https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_plugin_and_dependency_management).
 I decided to move away from shadow because the shadow plugin adds a 
configuration named "shadow" 
(https://imperceptiblethoughts.com/shadow/getting-started/#default-java-groovy-tasks)
 and users use that configuration to specify dependencies that they want to 
exclude 
(https://imperceptiblethoughts.com/shadow/configuration/#configuring-the-runtime-classpath).
 Overriding the name shadow made things confusing if you know specifics of 
shadow plugin. 
   
   @rdsr , I'll confirm and update the PR
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to