From 82066a166768399eada42f3d65150becf43320b3 Mon Sep 17 00:00:00 2001 From: Josh Rosen Date: Wed, 16 Mar 2016 23:02:25 -0700 Subject: [SPARK-13948] MiMa check should catch if the visibility changes to private MiMa excludes are currently generated using both the current Spark version's classes and Spark 1.2.0's classes, but this doesn't make sense: we should only be ignoring classes which were `private` in the previous Spark version, not classes which became private in the current version. This patch updates `dev/mima` to only generate excludes with respect to the previous artifacts that MiMa checks against. It also updates `MimaBuild` so that `excludeClass` only applies directly to the class being excluded and not to its companion object (since a class and its companion object can have different accessibility). Author: Josh Rosen Closes #11774 from JoshRosen/SPARK-13948. --- dev/mima | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'dev') diff --git a/dev/mima b/dev/mima index c8e2df6cfc..ea746e6f01 100755 --- a/dev/mima +++ b/dev/mima @@ -24,21 +24,17 @@ set -e FWDIR="$(cd "`dirname "$0"`"/..; pwd)" cd "$FWDIR" +SPARK_PROFILES="-Pyarn -Pspark-ganglia-lgpl -Pkinesis-asl -Phive-thriftserver -Phive" TOOLS_CLASSPATH="$(build/sbt "export tools/fullClasspath" | tail -n1)" +OLD_DEPS_CLASSPATH="$(build/sbt $SPARK_PROFILES "export oldDeps/fullClasspath" | tail -n1)" rm -f .generated-mima* -generate_mima_ignore() { - java \ - -XX:MaxPermSize=1g \ - -Xmx2g \ - -cp "$TOOLS_CLASSPATH:$1" \ - org.apache.spark.tools.GenerateMIMAIgnore -} - -SPARK_PROFILES="-Pyarn -Pspark-ganglia-lgpl -Pkinesis-asl -Phive-thriftserver -Phive" -generate_mima_ignore "$(build/sbt $SPARK_PROFILES "export assembly/fullClasspath" | tail -n1)" -generate_mima_ignore "$(build/sbt $SPARK_PROFILES "export oldDeps/fullClasspath" | tail -n1)" +java \ + -XX:MaxPermSize=1g \ + -Xmx2g \ + -cp "$TOOLS_CLASSPATH:$OLD_DEPS_CLASSPATH" \ + org.apache.spark.tools.GenerateMIMAIgnore echo -e "q\n" | build/sbt mimaReportBinaryIssues | grep -v -e "info.*Resolving" ret_val=$? -- cgit v1.2.3