[HUDI-585] Optimize the steps of building with scala-2.12 (#1293)
This commit is contained in:
2
LICENSE
2
LICENSE
@@ -245,8 +245,6 @@ This product includes code from Apache Spark
|
||||
|
||||
* org.apache.hudi.AvroConversionHelper copied from classes in org/apache/spark/sql/avro package
|
||||
|
||||
* dev/change-scala-version.sh copied from https://github.com/apache/spark/blob/branch-2.4/dev/change-scala-version.sh
|
||||
|
||||
Copyright: 2014 and onwards The Apache Software Foundation
|
||||
Home page: http://spark.apache.org/
|
||||
License: http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
@@ -65,12 +65,10 @@ mvn clean javadoc:aggregate -Pjavadocs
|
||||
|
||||
### Build with Scala 2.12
|
||||
|
||||
The default Scala version supported is 2.11. To build for Scala 2.12 version, after code checkout run dev/change-scala-version.sh
|
||||
and build using `scala-2.12` profile
|
||||
The default Scala version supported is 2.11. To build for Scala 2.12 version, build using `scala-2.12` profile
|
||||
|
||||
```
|
||||
dev/change-scala-version 2.12
|
||||
mvn clean package -DskipTests -DskipITs -Pscala-2.12
|
||||
mvn clean package -DskipTests -DskipITs -Dscala-2.12
|
||||
```
|
||||
|
||||
## Quickstart
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/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 -e
|
||||
|
||||
VALID_VERSIONS=( 2.11 2.12 )
|
||||
|
||||
usage() {
|
||||
echo "Usage: $(basename $0) [-h|--help] <version>
|
||||
where :
|
||||
-h| --help Display this help text
|
||||
valid version values : ${VALID_VERSIONS[*]}
|
||||
" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [[ ($# -ne 1) || ( $1 == "--help") || $1 == "-h" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
TO_VERSION=$1
|
||||
|
||||
check_scala_version() {
|
||||
for i in ${VALID_VERSIONS[*]}; do [ $i = "$1" ] && return 0; done
|
||||
echo "Invalid Scala version: $1. Valid versions: ${VALID_VERSIONS[*]}" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
check_scala_version "$TO_VERSION"
|
||||
|
||||
if [ $TO_VERSION = "2.11" ]; then
|
||||
FROM_VERSION="2.12"
|
||||
else
|
||||
FROM_VERSION="2.11"
|
||||
fi
|
||||
|
||||
sed_i() {
|
||||
sed -e "$1" "$2" > "$2.tmp" && mv "$2.tmp" "$2"
|
||||
}
|
||||
|
||||
export -f sed_i
|
||||
|
||||
BASEDIR=$(dirname $0)/..
|
||||
find "$BASEDIR" -name 'pom.xml' -not -path '*target*' -print \
|
||||
-exec bash -c "sed_i 's/\(artifactId.*\)_'$FROM_VERSION'/\1_'$TO_VERSION'/g' {}" \;
|
||||
|
||||
# Also update <scala.binary.version> in parent POM
|
||||
# Match any scala binary version to ensure idempotency
|
||||
sed_i '1,/<scala\.binary\.version>[0-9]*\.[0-9]*</s/<scala\.binary\.version>[0-9]*\.[0-9]*</<scala.binary.version>'$TO_VERSION'</' \
|
||||
"$BASEDIR/pom.xml"
|
||||
@@ -23,7 +23,7 @@
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>hudi-spark_2.11</artifactId>
|
||||
<artifactId>hudi-spark_${scala.binary.version}</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>hudi-utilities_2.11</artifactId>
|
||||
<artifactId>hudi-utilities_${scala.binary.version}</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>hudi-spark-bundle_2.11</artifactId>
|
||||
<artifactId>hudi-spark-bundle_${scala.binary.version}</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>hudi-utilities-bundle_2.11</artifactId>
|
||||
<artifactId>hudi-utilities-bundle_${scala.binary.version}</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
|
||||
Reference in New Issue
Block a user