[ 
https://issues.apache.org/jira/browse/SPARK-5584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Markus Dale updated SPARK-5584:
-------------------------------
    Description: 
The Spark Maven build uses the Maven Enforcer plugin but does not have a rule 
for dependencyConvergence (no version conflicts between dependencies/transitive 
dependencies). 

Putting this in the current 1.3.0-SNAPSHOT in main pom.xml by adding 
dependencyConvergence rule:

{noformat}
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>1.3.1</version>
          <executions>
            <execution>
              <id>enforce-versions</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>3.0.4</version>
                  </requireMavenVersion>
                  <requireJavaVersion>
                    <version>${java.version}</version>
                  </requireJavaVersion>
                  <dependencyConvergence/>
                </rules>
              </configuration>
            </execution>
          </executions>
        </plugin>
{noformat}

And running with:
mvn -Pyarn -Phadoop-2.4 -Phive -DskipTests clean package -Denforcer.fail=false 
&> output.txt

identified a lot of dependency convergence problems (one of them re-opening 
SPARK-3039 and fixed via exclude transitive dependency/explicit include of 
desired version of library).

Many convergence errors like:

Dependency convergence error for com.thoughtworks.paranamer:paranamer:2.3 paths 
to dependency are:
+-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
  +-org.apache.hadoop:hadoop-client:2.4.0
    +-org.apache.hadoop:hadoop-common:2.4.0
      +-org.apache.avro:avro:1.7.6
        +-com.thoughtworks.paranamer:paranamer:2.3
and
+-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
  +-org.json4s:json4s-jackson_2.10:3.2.10
    +-org.json4s:json4s-core_2.10:3.2.10
      +-com.thoughtworks.paranamer:paranamer:2.6

[WARNING] 
Dependency convergence error for io.netty:netty:3.8.0.Final paths to dependency 
are:
+-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
  +-org.spark-project.akka:akka-remote_2.10:2.3.4-spark
    +-io.netty:netty:3.8.0.Final
and
+-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
  +-org.seleniumhq.selenium:selenium-java:2.42.2
    +-org.webbitserver:webbit:0.4.14
      +-io.netty:netty:3.5.2.Final


  was:
The Spark Maven build uses the Maven Enforcer plugin but does not have a rule 
for dependencyConvergence (no version conflicts between dependencies/transitive 
dependencies). 

Putting this in the current 1.3.0-SNAPSHOT in main pom.xml by adding 
dependencyConvergence rule:

{noformat}
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>1.3.1</version>
          <executions>
            <execution>
              <id>enforce-versions</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>3.0.4</version>
                  </requireMavenVersion>
                  <requireJavaVersion>
                    <version>${java.version}</version>
                  </requireJavaVersion>
                  <dependencyConvergence/>
                </rules>
              </configuration>
            </execution>
          </executions>
        </plugin>
{noformat}

And running with:
mvn -Pyarn -Phadoop-2.4 -Phive -DskipTests clean package -Denforcer.fail=false 
&> output.txt

identified a lot of dependency convergence problems (one of them re-opening 
SPARK-3039 and fixed via exclude transitive dependency/explicit include of 
desired version of library).


> Add Maven Enforcer Plugin dependencyConvergence rule (fail false)
> -----------------------------------------------------------------
>
>                 Key: SPARK-5584
>                 URL: https://issues.apache.org/jira/browse/SPARK-5584
>             Project: Spark
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 1.2.0
>            Reporter: Markus Dale
>            Priority: Minor
>
> The Spark Maven build uses the Maven Enforcer plugin but does not have a rule 
> for dependencyConvergence (no version conflicts between 
> dependencies/transitive dependencies). 
> Putting this in the current 1.3.0-SNAPSHOT in main pom.xml by adding 
> dependencyConvergence rule:
> {noformat}
>         <plugin>
>           <groupId>org.apache.maven.plugins</groupId>
>           <artifactId>maven-enforcer-plugin</artifactId>
>           <version>1.3.1</version>
>           <executions>
>             <execution>
>               <id>enforce-versions</id>
>               <goals>
>                 <goal>enforce</goal>
>               </goals>
>               <configuration>
>                 <rules>
>                   <requireMavenVersion>
>                     <version>3.0.4</version>
>                   </requireMavenVersion>
>                   <requireJavaVersion>
>                     <version>${java.version}</version>
>                   </requireJavaVersion>
>                   <dependencyConvergence/>
>                 </rules>
>               </configuration>
>             </execution>
>           </executions>
>         </plugin>
> {noformat}
> And running with:
> mvn -Pyarn -Phadoop-2.4 -Phive -DskipTests clean package 
> -Denforcer.fail=false &> output.txt
> identified a lot of dependency convergence problems (one of them re-opening 
> SPARK-3039 and fixed via exclude transitive dependency/explicit include of 
> desired version of library).
> Many convergence errors like:
> Dependency convergence error for com.thoughtworks.paranamer:paranamer:2.3 
> paths to dependency are:
> +-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
>   +-org.apache.hadoop:hadoop-client:2.4.0
>     +-org.apache.hadoop:hadoop-common:2.4.0
>       +-org.apache.avro:avro:1.7.6
>         +-com.thoughtworks.paranamer:paranamer:2.3
> and
> +-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
>   +-org.json4s:json4s-jackson_2.10:3.2.10
>     +-org.json4s:json4s-core_2.10:3.2.10
>       +-com.thoughtworks.paranamer:paranamer:2.6
> [WARNING] 
> Dependency convergence error for io.netty:netty:3.8.0.Final paths to 
> dependency are:
> +-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
>   +-org.spark-project.akka:akka-remote_2.10:2.3.4-spark
>     +-io.netty:netty:3.8.0.Final
> and
> +-org.apache.spark:spark-core_2.10:1.3.0-SNAPSHOT
>   +-org.seleniumhq.selenium:selenium-java:2.42.2
>     +-org.webbitserver:webbit:0.4.14
>       +-io.netty:netty:3.5.2.Final



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to