Skip to content
Snippets Groups Projects
  • Josh Rosen's avatar
    6ca990fb
    [SPARK-13294][PROJECT INFRA] Remove MiMa's dependency on spark-class / Spark assembly · 6ca990fb
    Josh Rosen authored
    This patch removes the need to build a full Spark assembly before running the `dev/mima` script.
    
    - I modified the `tools` project to remove a direct dependency on Spark, so `sbt/sbt tools/fullClasspath` will now return the classpath for the `GenerateMIMAIgnore` class itself plus its own dependencies.
       - This required me to delete two classes full of dead code that we don't use anymore
    - `GenerateMIMAIgnore` now uses [ClassUtil](http://software.clapper.org/classutil/) to find all of the Spark classes rather than our homemade JAR traversal code. The problem in our own code was that it didn't handle folders of classes properly, which is necessary in order to generate excludes with an assembly-free Spark build.
    - `./dev/mima` no longer runs through `spark-class`, eliminating the need to reason about classpath ordering between `SPARK_CLASSPATH` and the assembly.
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #11178 from JoshRosen/remove-assembly-in-run-tests.
    6ca990fb
    History
    [SPARK-13294][PROJECT INFRA] Remove MiMa's dependency on spark-class / Spark assembly
    Josh Rosen authored
    This patch removes the need to build a full Spark assembly before running the `dev/mima` script.
    
    - I modified the `tools` project to remove a direct dependency on Spark, so `sbt/sbt tools/fullClasspath` will now return the classpath for the `GenerateMIMAIgnore` class itself plus its own dependencies.
       - This required me to delete two classes full of dead code that we don't use anymore
    - `GenerateMIMAIgnore` now uses [ClassUtil](http://software.clapper.org/classutil/) to find all of the Spark classes rather than our homemade JAR traversal code. The problem in our own code was that it didn't handle folders of classes properly, which is necessary in order to generate excludes with an assembly-free Spark build.
    - `./dev/mima` no longer runs through `spark-class`, eliminating the need to reason about classpath ordering between `SPARK_CLASSPATH` and the assembly.
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #11178 from JoshRosen/remove-assembly-in-run-tests.
misc NaN GiB