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