Github user JoshRosen commented on a diff in the pull request:

    https://github.com/apache/spark/pull/10054#discussion_r46326032
  
    --- Diff: core/pom.xml ---
    @@ -270,7 +270,7 @@
         <dependency>
           <groupId>org.tachyonproject</groupId>
           <artifactId>tachyon-client</artifactId>
    -      <version>0.8.1</version>
    +      <version>0.8.2</version>
           <exclusions>
             <exclusion>
               <groupId>org.apache.hadoop</groupId>
    --- End diff --
    
    Hmm, I guess we need this because of how Maven handles transitive 
compile-scope dependencies. According to 
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope:
    
    > Each of the scopes (except for import) affects transitive dependencies in 
different ways, as is demonstrated in the table below. If a dependency is set 
to the scope in the left column, transitive dependencies of that dependency 
with the scope across the top row will result in a dependency in the main 
project with the scope listed at the intersection. If no scope is listed, it 
means the dependency will be omitted.
    
    <table border="1" class="table table-striped">
    <tbody><tr class="a">
    <td align="left"></td>
    <td align="left">compile</td>
    <td align="left">provided</td>
    <td align="left">runtime</td>
    <td align="left">test</td></tr>
    <tr class="b">
    <td align="left">compile</td>
    <td align="left">compile(*)</td>
    <td align="left">-</td>
    <td align="left">runtime</td>
    <td align="left">-</td></tr>
    <tr class="a">
    <td align="left">provided</td>
    <td align="left">provided</td>
    <td align="left">-</td>
    <td align="left">provided</td>
    <td align="left">-</td></tr>
    <tr class="b">
    <td align="left">runtime</td>
    <td align="left">runtime</td>
    <td align="left">-</td>
    <td align="left">runtime</td>
    <td align="left">-</td></tr>
    <tr class="a">
    <td align="left">test</td>
    <td align="left">test</td>
    <td align="left">-</td>
    <td align="left">test</td>
    <td align="left">-</td></tr></tbody></table>
    
    My reading of this is that a compile-scope dependency on `tachyon-client` 
will result in Tachyon client's shaded dependencies being pulled in. Given 
this, I'm a bit confused about why the `tachyon-client` JAR is published with a 
non-dependency-reduced POM.
    
    This is corroborated by #8577, which needed to add additional exclusions 
because of this.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

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

Reply via email to