From fb8e8122f623f4548b22ece7485c4570d7ece1a6 Mon Sep 17 00:00:00 2001
From: David Li
Date: Wed, 4 Dec 2024 01:59:41 -0500
Subject: [PATCH] GH-44828: [Java][Release] Remove Java from release scripts
(#44854)
### Rationale for this change
Java has been moved to its own repo.
### What changes are included in this PR?
Remove Java/Maven from dev/release.
### Are these changes tested?
N/A
### Are there any user-facing changes?
No
* GitHub Issue: #44828
Authored-by: David Li
Signed-off-by: Sutou Kouhei
---
dev/release/01-prepare-test.rb | 28 ----
dev/release/02-source-test.rb | 23 ++-
dev/release/02-source.sh | 23 ++-
dev/release/06-java-upload.sh | 153 ------------------
...7-matlab-upload.sh => 06-matlab-upload.sh} | 0
...8-binary-verify.sh => 07-binary-verify.sh} | 0
dev/release/post-04-website.sh | 1 -
dev/release/post-10-docs.sh | 3 -
dev/release/post-12-bump-versions-test.rb | 17 --
dev/release/setup-rhel-rebuilds.sh | 4 -
dev/release/setup-ubuntu.sh | 2 -
dev/release/utils-prepare.sh | 11 --
dev/release/verify-release-candidate.sh | 143 +---------------
docs/source/developers/release.rst | 28 +---
14 files changed, 25 insertions(+), 411 deletions(-)
delete mode 100755 dev/release/06-java-upload.sh
rename dev/release/{07-matlab-upload.sh => 06-matlab-upload.sh} (100%)
rename dev/release/{08-binary-verify.sh => 07-binary-verify.sh} (100%)
diff --git a/dev/release/01-prepare-test.rb b/dev/release/01-prepare-test.rb
index a6e655cd36b59..2081d7ab9d9b1 100644
--- a/dev/release/01-prepare-test.rb
+++ b/dev/release/01-prepare-test.rb
@@ -311,34 +311,6 @@ def test_version_pre_tag
]
end
- Dir.glob("java/**/pom.xml") do |path|
- version = "#{@snapshot_version}"
- lines = File.readlines(path, chomp: true)
- target_lines = lines.grep(/#{Regexp.escape(version)}/)
- hunks = []
- target_lines.each do |line|
- new_line = line.gsub(@snapshot_version) do
- @release_version
- end
- hunks << [
- "-#{line}",
- "+#{new_line}",
- ]
- end
- tag = "main"
- target_lines = lines.grep(/#{Regexp.escape(tag)}/)
- target_lines.each do |line|
- new_line = line.gsub("main") do
- "apache-arrow-#{@release_version}"
- end
- hunks << [
- "-#{line}",
- "+#{new_line}",
- ]
- end
- expected_changes << {hunks: hunks, path: path}
- end
-
Dir.glob("ruby/**/version.rb") do |path|
version = " VERSION = \"#{@snapshot_version}\""
new_version = " VERSION = \"#{@release_version}\""
diff --git a/dev/release/02-source-test.rb b/dev/release/02-source-test.rb
index 3dec19326f92b..95c1a4f448389 100644
--- a/dev/release/02-source-test.rb
+++ b/dev/release/02-source-test.rb
@@ -42,7 +42,7 @@ def source(*targets)
targets.each do |target|
env["SOURCE_#{target}"] = "1"
end
- sh(env, @tarball_script, @release_version, "0")
+ sh(env, @tarball_script, @release_version, "0")
output = sh(env, @script, @release_version, "0")
sh("tar", "xf", @archive_name)
output
@@ -143,13 +143,13 @@ def test_vote
#{@current_commit} [2]
The source release rc0 is hosted at [3].
-The binary artifacts are hosted at [4][5][6][7][8][9][10][11].
-The changelog is located at [12].
+The binary artifacts are hosted at [4][5][6][7][8][9][10].
+The changelog is located at [11].
Please download, verify checksums and signatures, run the unit tests,
-and vote on the release. See [13] for how to validate a release candidate.
+and vote on the release. See [12] for how to validate a release candidate.
-See also a verification result on GitHub pull request [14].
+See also a verification result on GitHub pull request [13].
The vote will be open for at least 72 hours.
@@ -164,13 +164,12 @@ def test_vote
[5]: https://apache.jfrog.io/artifactory/arrow/amazon-linux-rc/
[6]: https://apache.jfrog.io/artifactory/arrow/centos-rc/
[7]: https://apache.jfrog.io/artifactory/arrow/debian-rc/
-[8]: https://apache.jfrog.io/artifactory/arrow/java-rc/#{@release_version}-rc0
-[9]: https://apache.jfrog.io/artifactory/arrow/nuget-rc/#{@release_version}-rc0
-[10]: https://apache.jfrog.io/artifactory/arrow/python-rc/#{@release_version}-rc0
-[11]: https://apache.jfrog.io/artifactory/arrow/ubuntu-rc/
-[12]: https://github.com/apache/arrow/blob/#{@current_commit}/CHANGELOG.md
-[13]: https://arrow.apache.org/docs/developers/release_verification.html
-[14]: #{verify_pr_url || "null"}
+[8]: https://apache.jfrog.io/artifactory/arrow/nuget-rc/#{@release_version}-rc0
+[9]: https://apache.jfrog.io/artifactory/arrow/python-rc/#{@release_version}-rc0
+[10]: https://apache.jfrog.io/artifactory/arrow/ubuntu-rc/
+[11]: https://github.com/apache/arrow/blob/#{@current_commit}/CHANGELOG.md
+[12]: https://arrow.apache.org/docs/developers/release_verification.html
+[13]: #{verify_pr_url || "null"}
VOTE
end
end
diff --git a/dev/release/02-source.sh b/dev/release/02-source.sh
index cc3f5b7cc5251..94fa6a814a61d 100755
--- a/dev/release/02-source.sh
+++ b/dev/release/02-source.sh
@@ -59,7 +59,7 @@ echo "Using commit $release_hash"
tarball=apache-arrow-${version}.tar.gz
if [ ${SOURCE_DOWNLOAD} -gt 0 ]; then
- # Wait for the release candidate workflow to finish before attempting
+ # Wait for the release candidate workflow to finish before attempting
# to download the tarball from the GitHub Release.
. $SOURCE_DIR/utils-watch-gh-workflow.sh ${tag} "release_candidate.yml"
rm -f ${tarball}
@@ -163,13 +163,13 @@ This release candidate is based on commit:
${release_hash} [2]
The source release rc${rc} is hosted at [3].
-The binary artifacts are hosted at [4][5][6][7][8][9][10][11].
-The changelog is located at [12].
+The binary artifacts are hosted at [4][5][6][7][8][9][10].
+The changelog is located at [11].
Please download, verify checksums and signatures, run the unit tests,
-and vote on the release. See [13] for how to validate a release candidate.
+and vote on the release. See [12] for how to validate a release candidate.
-See also a verification result on GitHub pull request [14].
+See also a verification result on GitHub pull request [13].
The vote will be open for at least 72 hours.
@@ -184,13 +184,12 @@ The vote will be open for at least 72 hours.
[5]: https://apache.jfrog.io/artifactory/arrow/amazon-linux-rc/
[6]: https://apache.jfrog.io/artifactory/arrow/centos-rc/
[7]: https://apache.jfrog.io/artifactory/arrow/debian-rc/
-[8]: https://apache.jfrog.io/artifactory/arrow/java-rc/${version}-rc${rc}
-[9]: https://apache.jfrog.io/artifactory/arrow/nuget-rc/${version}-rc${rc}
-[10]: https://apache.jfrog.io/artifactory/arrow/python-rc/${version}-rc${rc}
-[11]: https://apache.jfrog.io/artifactory/arrow/ubuntu-rc/
-[12]: https://github.com/apache/arrow/blob/${release_hash}/CHANGELOG.md
-[13]: https://arrow.apache.org/docs/developers/release_verification.html
-[14]: ${verify_pr_url}
+[8]: https://apache.jfrog.io/artifactory/arrow/nuget-rc/${version}-rc${rc}
+[9]: https://apache.jfrog.io/artifactory/arrow/python-rc/${version}-rc${rc}
+[10]: https://apache.jfrog.io/artifactory/arrow/ubuntu-rc/
+[11]: https://github.com/apache/arrow/blob/${release_hash}/CHANGELOG.md
+[12]: https://arrow.apache.org/docs/developers/release_verification.html
+[13]: ${verify_pr_url}
MAIL
echo "---------------------------------------------------------"
fi
diff --git a/dev/release/06-java-upload.sh b/dev/release/06-java-upload.sh
deleted file mode 100755
index d0fd851da5767..0000000000000
--- a/dev/release/06-java-upload.sh
+++ /dev/null
@@ -1,153 +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
-set -u
-set -o pipefail
-
-SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-
-if [ $# -ne 2 ]; then
- echo "Usage: $0 "
- exit
-fi
-
-version=$1
-rc=$2
-
-: ${UPLOAD_DEFAULT=1}
-: ${UPLOAD_FORCE_SIGN=${UPLOAD_DEFAULT}}
-
-if [ ${UPLOAD_FORCE_SIGN} -gt 0 ]; then
- pushd "${SOURCE_DIR}"
- if [ ! -f .env ]; then
- echo "You must create $(pwd)/.env"
- echo "You can use $(pwd)/.env.example as template"
- exit 1
- fi
- . .env
- popd
-fi
-
-version_with_rc="${version}-rc${rc}"
-crossbow_job_prefix="release-${version_with_rc}"
-crossbow_package_dir="${SOURCE_DIR}/../../packages"
-
-: ${CROSSBOW_JOB_NUMBER:="0"}
-: ${CROSSBOW_JOB_ID:="${crossbow_job_prefix}-${CROSSBOW_JOB_NUMBER}"}
-: ${ARROW_ARTIFACTS_DIR:="${crossbow_package_dir}/${CROSSBOW_JOB_ID}/java-jars"}
-
-if [ ! -e "${ARROW_ARTIFACTS_DIR}" ]; then
- echo "${ARROW_ARTIFACTS_DIR} does not exist"
- exit 1
-fi
-
-if [ ! -d "${ARROW_ARTIFACTS_DIR}" ]; then
- echo "${ARROW_ARTIFACTS_DIR} is not a directory"
- exit 1
-fi
-
-pushd "${ARROW_ARTIFACTS_DIR}"
-
-files=
-types=
-classifiers=
-
-sign() {
- local path="$1"
- local classifier="$2"
- local type=$(echo "${path}" | grep -o "[^.]*$")
-
- local asc_path="${path}.asc"
- if [ ${UPLOAD_FORCE_SIGN} -gt 0 ]; then
- rm -f "${asc_path}"
- gpg \
- --detach-sig \
- --local-user "${GPG_KEY_ID}" \
- --output "${asc_path}" \
- "${path}"
- fi
- if [ -n "${files}" ]; then
- files="${files},"
- types="${types},"
- classifiers="${classifiers},"
- fi
- files="${files}${asc_path}"
- types="${types}${type}.asc"
- classifiers="${classifiers}${classifier}"
-
- # .md5 and .sha1 are generated automatically on repository side.
- # local sha512_path="${path}.sha512"
- # shasum --algorithm 512 "${path}" > "${sha512_path}"
- # files="${files},${sha512_path}"
- # types="${types},${type}.sha512"
- # classifiers="${classifiers},${classifier}"
-}
-
-for pom in *.pom; do
- base=$(basename ${pom} .pom)
- files=""
- types=""
- classifiers=""
- args=()
- args+=(deploy:deploy-file)
- args+=(-DrepositoryId=apache.releases.https)
- args+=(-DretryFailedDeploymentCount=10)
- args+=(-Durl=https://repository.apache.org/service/local/staging/deploy/maven2)
- pom="${PWD}/${pom}"
- args+=(-DpomFile="${pom}")
- if [ -f "${base}.jar" ]; then
- jar="${PWD}/${base}.jar"
- args+=(-Dfile="${jar}")
- sign "${jar}" ""
- else
- args+=(-Dfile="${pom}")
- fi
- sign "${pom}" ""
- if [ "$(echo ${base}-*)" != "${base}-*" ]; then
- for other_file in ${base}-*; do
- file="${PWD}/${other_file}"
- type=$(echo "${other_file}" | grep -o "[^.]*$")
- case "${type}" in
- asc|sha256|sha512)
- continue
- ;;
- esac
- classifier=$(basename "${other_file}" ".${type}" | sed -e "s/${base}-//g")
- files="${files},${file}"
- types="${types},${type}"
- classifiers="${classifiers},${classifier}"
- sign "${file}" "${classifier}"
- done
- fi
- args+=(-Dfiles="${files}")
- args+=(-Dtypes="${types}")
- args+=(-Dclassifiers="${classifiers}")
- pushd "${SOURCE_DIR}"
- mvn "${args[@]}"
- popd
-done
-
-popd
-
-echo "Success!"
-echo "Press the 'Close' button manually by Web interface:"
-echo " https://repository.apache.org/#stagingRepositories"
-echo "It publishes the artifacts to the staging repository:"
-echo " https://repository.apache.org/content/repositories/staging/org/apache/arrow/"
diff --git a/dev/release/07-matlab-upload.sh b/dev/release/06-matlab-upload.sh
similarity index 100%
rename from dev/release/07-matlab-upload.sh
rename to dev/release/06-matlab-upload.sh
diff --git a/dev/release/08-binary-verify.sh b/dev/release/07-binary-verify.sh
similarity index 100%
rename from dev/release/08-binary-verify.sh
rename to dev/release/07-binary-verify.sh
diff --git a/dev/release/post-04-website.sh b/dev/release/post-04-website.sh
index a2b0bd61525eb..dc5c7b58af00e 100755
--- a/dev/release/post-04-website.sh
+++ b/dev/release/post-04-website.sh
@@ -274,7 +274,6 @@ current:
mirrors: 'https://www.apache.org/dyn/closer.lua/arrow/arrow-${version}/'
tarball-name: 'apache-arrow-${version}.tar.gz'
tarball-url: 'https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-${version}/apache-arrow-${version}.tar.gz'
- java-artifacts: 'https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.arrow%22%20AND%20v%3A%22${version}%22'
asc: '${apache_download_url}/arrow/arrow-${version}/apache-arrow-${version}.tar.gz.asc'
sha256: '${apache_download_url}/arrow/arrow-${version}/apache-arrow-${version}.tar.gz.sha256'
sha512: '${apache_download_url}/arrow/arrow-${version}/apache-arrow-${version}.tar.gz.sha512'
diff --git a/dev/release/post-10-docs.sh b/dev/release/post-10-docs.sh
index 70c54c555f839..fdf37ce1a757a 100755
--- a/dev/release/post-10-docs.sh
+++ b/dev/release/post-10-docs.sh
@@ -64,9 +64,6 @@ done
versioned_paths+=("docs/dev/")
rm -rf docs/dev/
if [ "$is_major_release" = "yes" ] ; then
- # copy the current stable docs to temporary directory
- # (remove java reference to reduce size)
- rm -rf docs/java/reference/
cp -r docs/ docs_temp/
fi
# delete current stable docs and restore all previous versioned docs
diff --git a/dev/release/post-12-bump-versions-test.rb b/dev/release/post-12-bump-versions-test.rb
index 60fd1096ce0ab..229dc7e1e1b08 100644
--- a/dev/release/post-12-bump-versions-test.rb
+++ b/dev/release/post-12-bump-versions-test.rb
@@ -349,23 +349,6 @@ def test_version_post_tag
]
end
- Dir.glob("java/**/pom.xml") do |path|
- version = "#{@snapshot_version}"
- lines = File.readlines(path, chomp: true)
- target_lines = lines.grep(/#{Regexp.escape(version)}/)
- hunks = []
- target_lines.each do |line|
- new_line = line.gsub(@snapshot_version) do
- @next_snapshot_version
- end
- hunks << [
- "-#{line}",
- "+#{new_line}",
- ]
- end
- expected_changes << {hunks: hunks, path: path}
- end
-
Dir.glob("ruby/**/version.rb") do |path|
version = " VERSION = \"#{@snapshot_version}\""
new_version = " VERSION = \"#{@next_snapshot_version}\""
diff --git a/dev/release/setup-rhel-rebuilds.sh b/dev/release/setup-rhel-rebuilds.sh
index e8861a19f35b7..ab68a69bcaf7d 100755
--- a/dev/release/setup-rhel-rebuilds.sh
+++ b/dev/release/setup-rhel-rebuilds.sh
@@ -35,11 +35,9 @@ dnf -y install \
cmake \
git \
gobject-introspection-devel \
- java-11-openjdk-devel \
libcurl-devel \
llvm-devel \
llvm-toolset \
- maven \
ncurses-devel \
ninja-build \
nodejs \
@@ -55,5 +53,3 @@ npm install -g yarn
python3 -m ensurepip --upgrade
alternatives --set python /usr/bin/python3
-alternatives --set java java-11-openjdk.$(uname -i)
-alternatives --set javac java-11-openjdk.$(uname -i)
diff --git a/dev/release/setup-ubuntu.sh b/dev/release/setup-ubuntu.sh
index ef9d3dde5c1f9..b877c1225ab6a 100755
--- a/dev/release/setup-ubuntu.sh
+++ b/dev/release/setup-ubuntu.sh
@@ -57,10 +57,8 @@ apt-get install -y -q --no-install-recommends \
libglib2.0-dev \
libsqlite3-dev \
libssl-dev \
- maven \
ninja-build \
nlohmann-json${nlohmann_json}-dev \
- openjdk-11-jdk \
pkg-config \
python${python}-dev \
python${python}-venv \
diff --git a/dev/release/utils-prepare.sh b/dev/release/utils-prepare.sh
index 1b7ba54e491fb..36b34e4353943 100644
--- a/dev/release/utils-prepare.sh
+++ b/dev/release/utils-prepare.sh
@@ -84,17 +84,6 @@ update_versions() {
git add vcpkg.json
popd
- pushd "${ARROW_DIR}/java"
- mvn versions:set -DnewVersion=${version} -DprocessAllModules -DgenerateBackupPoms=false
- if [ "${type}" = "release" ]; then
- # versions-maven-plugin:set-scm-tag does not update the whole reactor. Invoking separately
- mvn versions:set-scm-tag -DnewTag=apache-arrow-${version} -DgenerateBackupPoms=false -pl :arrow-java-root
- mvn versions:set-scm-tag -DnewTag=apache-arrow-${version} -DgenerateBackupPoms=false -pl :arrow-bom
- fi
- git add "pom.xml"
- git add "**/pom.xml"
- popd
-
pushd "${ARROW_DIR}/csharp"
sed -i.bak -E -e \
"s/^ .+<\/Version>/ ${version}<\/Version>/" \
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index 0305e22843841..52977bc4c0149 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -20,8 +20,6 @@
# Requirements
# - Ruby >= 2.3
-# - Maven >= 3.8.7
-# - JDK >= 11
# - gcc >= 4.8
# - Node.js >= 18
# - Go >= 1.22
@@ -439,46 +437,6 @@ maybe_setup_conda() {
fi
}
-install_maven() {
- MAVEN_VERSION=3.8.7
- if command -v mvn > /dev/null; then
- # --batch-mode is for disabling output color.
- SYSTEM_MAVEN_VERSION=$(mvn --batch-mode -v | head -n 1 | awk '{print $3}')
- show_info "Found Maven version ${SYSTEM_MAVEN_VERSION} at $(command -v mvn)."
- else
- SYSTEM_MAVEN_VERSION=0.0.0
- show_info "Maven installation not found."
- fi
-
- if [[ "$MAVEN_VERSION" == "$SYSTEM_MAVEN_VERSION" ]]; then
- show_info "System Maven version ${SYSTEM_MAVEN_VERSION} matches required Maven version ${MAVEN_VERSION}. Skipping installation."
- else
- # Append pipe character to make preview release versions like "X.Y.Z-beta-1" sort
- # as older than their corresponding release version "X.Y.Z". This works because
- # `sort -V` orders the pipe character lower than any version number character.
- older_version=$(printf '%s\n%s\n' "$SYSTEM_MAVEN_VERSION" "$MAVEN_VERSION" | sed 's/$/|/' | sort -V | sed 's/|$//' | head -n1)
- if [[ "$older_version" == "$SYSTEM_MAVEN_VERSION" ]]; then
- show_info "Installing Maven version ${MAVEN_VERSION}..."
- APACHE_MIRROR="https://www.apache.org/dyn/closer.lua?action=download&filename="
- curl -sL -o apache-maven-${MAVEN_VERSION}-bin.tar.gz \
- ${APACHE_MIRROR}/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
- tar xzf apache-maven-${MAVEN_VERSION}-bin.tar.gz
- export PATH=$(pwd)/apache-maven-${MAVEN_VERSION}/bin:$PATH
- # --batch-mode is for disabling output color.
- show_info "Installed Maven version $(mvn --batch-mode -v | head -n 1 | awk '{print $3}')"
- else
- show_info "System Maven version ${SYSTEM_MAVEN_VERSION} is newer than minimum version ${MAVEN_VERSION}. Skipping installation."
- fi
- fi
-}
-
-maybe_setup_maven() {
- show_info "Ensuring that Maven is installed..."
- if [ "${USE_CONDA}" -eq 0 ]; then
- install_maven
- fi
-}
-
maybe_setup_virtualenv() {
# Optionally setup pip virtualenv with the passed dependencies
local env="venv-${VENV_ENV:-source}"
@@ -535,66 +493,6 @@ maybe_setup_nodejs() {
fi
}
-test_package_java() {
- show_header "Build and test Java libraries"
-
- maybe_setup_maven
- maybe_setup_conda maven openjdk
-
- pushd java
-
- if [ ${TEST_INTEGRATION_JAVA} -gt 0 ]; then
- # Build JNI for C data interface
- local -a cmake_options=()
- # Enable only C data interface.
- cmake_options+=(-DARROW_JAVA_JNI_ENABLE_C=ON)
- cmake_options+=(-DARROW_JAVA_JNI_ENABLE_DEFAULT=OFF)
- # Disable Testing because GTest might not be present.
- cmake_options+=(-DBUILD_TESTING=OFF)
- if [ ! -z "${CMAKE_GENERATOR}" ]; then
- cmake_options+=(-G "${CMAKE_GENERATOR}")
- fi
- local build_dir="${ARROW_TMPDIR}/java-jni-build"
- local install_dir="${ARROW_TMPDIR}/java-jni-install"
- local dist_dir="${ARROW_TMPDIR}/java-jni-dist"
- cmake \
- -S . \
- -B "${build_dir}" \
- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-release} \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_INSTALL_PREFIX="${install_dir}" \
- -DCMAKE_PREFIX_PATH="${ARROW_HOME}" \
- "${cmake_options[@]}"
- cmake --build "${build_dir}"
- cmake --install "${build_dir}"
-
- local normalized_arch=$(arch)
- case ${normalized_arch} in
- aarch64|arm64)
- normalized_arch=aarch_64
- ;;
- i386)
- normalized_arch=x86_64
- ;;
- esac
- rm -fr ${dist_dir}
- mkdir -p ${dist_dir}
- mv ${install_dir}/lib/* ${dist_dir}
- mvn install \
- -Darrow.c.jni.dist.dir=${dist_dir} \
- -Parrow-c-data
- fi
-
- if [ ${TEST_JAVA} -gt 0 ]; then
- mvn test
- fi
-
- # Build jars
- mvn package
-
- popd
-}
-
test_and_install_cpp() {
show_header "Build, install and test C++ libraries"
@@ -893,13 +791,9 @@ test_integration() {
maybe_setup_virtualenv
pip install -e dev/archery[integration]
- pip install -e dev/archery[integration-java]
- JAVA_DIR=$ARROW_SOURCE_DIR/java
CPP_BUILD_DIR=$ARROW_TMPDIR/cpp-build
- files=( $JAVA_DIR/tools/target/arrow-tools-*-jar-with-dependencies.jar )
- export ARROW_JAVA_INTEGRATION_JAR=${files[0]}
export ARROW_CPP_EXE_PATH=$CPP_BUILD_DIR/release
INTEGRATION_TEST_ARGS=""
@@ -911,7 +805,6 @@ test_integration() {
LD_LIBRARY_PATH=$ARROW_CPP_EXE_PATH:$LD_LIBRARY_PATH archery integration \
--run-ipc --run-flight --run-c-data \
--with-cpp=${TEST_INTEGRATION_CPP} \
- --with-java=${TEST_INTEGRATION_JAVA} \
--with-js=${TEST_INTEGRATION_JS} \
$INTEGRATION_TEST_ARGS
}
@@ -1009,9 +902,6 @@ test_source_distribution() {
if [ ${TEST_RUBY} -gt 0 ]; then
test_ruby
fi
- if [ ${BUILD_JAVA} -gt 0 ]; then
- test_package_java
- fi
if [ ${TEST_INTEGRATION} -gt 0 ]; then
test_integration
fi
@@ -1032,9 +922,6 @@ test_binary_distribution() {
if [ ${TEST_WHEELS} -gt 0 ]; then
test_wheels
fi
- if [ ${TEST_JARS} -gt 0 ]; then
- test_jars
- fi
}
test_linux_wheels() {
@@ -1170,30 +1057,6 @@ test_wheels() {
popd
}
-test_jars() {
- show_header "Testing Java JNI jars"
-
- maybe_setup_maven
- maybe_setup_conda maven python
-
- local download_dir=${ARROW_TMPDIR}/jars
- mkdir -p ${download_dir}
-
- ${PYTHON:-python3} $SOURCE_DIR/download_rc_binaries.py $VERSION $RC_NUMBER \
- --dest=${download_dir} \
- --package_type=jars
-
- verify_dir_artifact_signatures ${download_dir}
-
- # TODO: This should be replaced with real verification by ARROW-15486.
- # https://issues.apache.org/jira/browse/ARROW-15486
- # [Release][Java] Verify staged maven artifacts
- if [ ! -d "${download_dir}/arrow-memory/${VERSION}" ]; then
- echo "Artifacts for ${VERSION} isn't uploaded yet."
- return 1
- fi
-}
-
# By default test all functionalities.
# To deactivate one test, deactivate the test and all of its dependents
# To explicitly select one test, set TEST_DEFAULT=0 TEST_X=1
@@ -1206,12 +1069,10 @@ test_jars() {
# Binary verification tasks
: ${TEST_APT:=${TEST_BINARIES}}
: ${TEST_BINARY:=${TEST_BINARIES}}
-: ${TEST_JARS:=${TEST_BINARIES}}
: ${TEST_WHEELS:=${TEST_BINARIES}}
: ${TEST_YUM:=${TEST_BINARIES}}
# Source verification tasks
-: ${TEST_JAVA:=${TEST_SOURCE}}
: ${TEST_CPP:=${TEST_SOURCE}}
: ${TEST_CSHARP:=${TEST_SOURCE}}
: ${TEST_GLIB:=${TEST_SOURCE}}
@@ -1222,15 +1083,13 @@ test_jars() {
# For selective Integration testing, set TEST_DEFAULT=0 TEST_INTEGRATION_X=1 TEST_INTEGRATION_Y=1
: ${TEST_INTEGRATION_CPP:=${TEST_INTEGRATION}}
-: ${TEST_INTEGRATION_JAVA:=${TEST_INTEGRATION}}
: ${TEST_INTEGRATION_JS:=${TEST_INTEGRATION}}
# Automatically build/test if its activated by a dependent
TEST_GLIB=$((${TEST_GLIB} + ${TEST_RUBY}))
BUILD_CPP=$((${TEST_CPP} + ${TEST_GLIB} + ${TEST_PYTHON} + ${TEST_INTEGRATION_CPP}))
-BUILD_JAVA=$((${TEST_JAVA} + ${TEST_INTEGRATION_JAVA}))
BUILD_JS=$((${TEST_JS} + ${TEST_INTEGRATION_JS}))
-TEST_INTEGRATION=$((${TEST_INTEGRATION} + ${TEST_INTEGRATION_CPP} + ${TEST_INTEGRATION_JAVA} + ${TEST_INTEGRATION_JS}))
+TEST_INTEGRATION=$((${TEST_INTEGRATION} + ${TEST_INTEGRATION_CPP} + ${TEST_INTEGRATION_JS}))
# Execute tests in a conda environment
: ${USE_CONDA:=0}
diff --git a/docs/source/developers/release.rst b/docs/source/developers/release.rst
index 53550752d497b..52f4a751dcc81 100644
--- a/docs/source/developers/release.rst
+++ b/docs/source/developers/release.rst
@@ -55,13 +55,6 @@ generated properly.
default-key ${YOUR_GPG_KEY_ID}
- The GPG key needs to be added to this `SVN repo `_ and `this one `_.
- - Configure Maven to `publish artifacts to Apache repositories `_. You will need to `setup a master password `_ at ``~/.m2/settings-security.xml`` and ``settings.xml`` as specified on the `Apache guide `_. It can be tested with the following command:
-
- .. code-block::
-
- # You might need to export GPG_TTY=$(tty) to properly prompt for a passphrase
- mvn clean install -Papache-release
-
- Have the build requirements for cpp and c_glib installed.
- Set the ``CROSSBOW_GITHUB_TOKEN`` environment variable to automatically create the verify release Pull Request.
- Install ``en_US.UTF-8`` locale. You can confirm available locales by ``locale -a``.
@@ -220,20 +213,13 @@ Build source and binaries and submit them
# otherwise I got errors referencing "ioctl" errors.
dev/release/05-binary-upload.sh
- # Sign and upload the Java artifacts
- #
- # Note that you need to press the "Close" button manually by Web interface
- # after you complete the script:
- # https://repository.apache.org/#stagingRepositories
- dev/release/06-java-upload.sh
-
# Sign and upload MATLAB artifacts to the GitHub Releases area.
#
# Note that you need to have GitHub CLI installed to run this script.
- dev/release/07-matlab-upload.sh
+ dev/release/06-matlab-upload.sh
# Start verifications for binaries and wheels
- dev/release/08-binary-verify.sh
+ dev/release/07-binary-verify.sh
Verify the Release
------------------
@@ -276,7 +262,6 @@ Be sure to go through on the following checklist:
#. Upload C# packages
#. Update conda recipes
#. Upload wheels/sdist to pypi
-#. Publish Maven artifacts
#. Update R packages
#. Update vcpkg port
#. Update Conan recipe
@@ -532,15 +517,6 @@ Be sure to go through on the following checklist:
# dev/release/post-11-python.sh 10.0.0
dev/release/post-11-python.sh
-.. dropdown:: Publish Maven packages
- :animate: fade-in-slide-down
- :class-title: sd-fs-5
- :class-container: sd-shadow-md
-
- - Logon to the Apache repository: https://repository.apache.org/#stagingRepositories
- - Select the Arrow staging repository you created for RC: ``orgapachearrow-XXXX``
- - Click the ``release`` button
-
.. dropdown:: Update R packages
:animate: fade-in-slide-down
:class-title: sd-fs-5