82066a1667
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 <joshrosen@databricks.com> Closes #11774 from JoshRosen/SPARK-13948.
48 lines
1.5 KiB
Bash
Executable file
48 lines
1.5 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
# (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
set -o pipefail
|
|
set -e
|
|
|
|
# Go to the Spark project root directory
|
|
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*
|
|
|
|
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=$?
|
|
|
|
if [ $ret_val != 0 ]; then
|
|
echo "NOTE: Exceptions to binary compatibility can be added in project/MimaExcludes.scala"
|
|
fi
|
|
|
|
rm -f .generated-mima*
|
|
exit $ret_val
|