Skip to content

Commit

Permalink
ARROW-16584: [Java] Java JNI with S3 support (#13157)
Browse files Browse the repository at this point in the history
macOS development target is changed to 10.13 from 10.11.
See also the discussion on mailing list:
https://lists.apache.org/thread/pjgjrl716gvqzql586cnnoxb38nb0j5w

Lead-authored-by: Artavazd Balaian <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
  • Loading branch information
3 people authored Jul 29, 2022
1 parent fa7e7a3 commit 7fe71f5
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 2 deletions.
3 changes: 2 additions & 1 deletion ci/docker/java-jni-manylinux-201x.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ RUN vcpkg install \
--x-feature=gcs \
--x-feature=json \
--x-feature=parquet \
--x-feature=gandiva
--x-feature=gandiva \
--x-feature=s3

# Install Java
ARG java=1.8.0
Expand Down
2 changes: 2 additions & 0 deletions ci/docker/linux-apt-jni.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ RUN apt-get update -y -q && \
g++ \
gcc \
libboost-all-dev \
libcurl4-openssl-dev \
libgflags-dev \
libgoogle-glog-dev \
libgtest-dev \
Expand Down Expand Up @@ -81,6 +82,7 @@ ENV ARROW_BUILD_TESTS=ON \
ARROW_PARQUET=ON \
ARROW_PLASMA_JAVA_CLIENT=ON \
ARROW_PLASMA=ON \
ARROW_S3=ON \
ARROW_USE_CCACHE=ON \
CC=gcc \
CXX=g++ \
Expand Down
5 changes: 5 additions & 0 deletions ci/scripts/java_jni_macos_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ echo "=== Building Arrow C++ libraries ==="
: ${ARROW_PLASMA_JAVA_CLIENT:=ON}
: ${ARROW_PLASMA:=ON}
: ${ARROW_PYTHON:=OFF}
: ${ARROW_S3:=ON}
: ${CMAKE_BUILD_TYPE:=Release}
: ${CMAKE_UNITY_BUILD:=ON}

Expand Down Expand Up @@ -71,10 +72,12 @@ cmake \
-DARROW_PLASMA_JAVA_CLIENT=${ARROW_PLASMA_JAVA_CLIENT} \
-DARROW_PROTOBUF_USE_SHARED=OFF \
-DARROW_PYTHON=${ARROW_PYTHON} \
-DARROW_S3=${ARROW_S3} \
-DARROW_SNAPPY_USE_SHARED=OFF \
-DARROW_THRIFT_USE_SHARED=OFF \
-DARROW_UTF8PROC_USE_SHARED=OFF \
-DARROW_ZSTD_USE_SHARED=OFF \
-DAWSSDK_SOURCE=BUNDLED \
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_PREFIX=${build_dir}/cpp \
Expand Down Expand Up @@ -110,11 +113,13 @@ echo "=== Checking shared dependencies for libraries ==="

pushd ${dist_dir}
archery linking check-dependencies \
--allow CoreFoundation \
--allow libSystem \
--allow libarrow_cdata_jni \
--allow libarrow_dataset_jni \
--allow libarrow_orc_jni \
--allow libc++ \
--allow libcurl \
--allow libgandiva_jni \
--allow libncurses \
--allow libz \
Expand Down
2 changes: 2 additions & 0 deletions ci/scripts/java_jni_manylinux_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ devtoolset_include_cpp="/opt/rh/devtoolset-${devtoolset_version}/root/usr/includ
: ${ARROW_PLASMA:=ON}
: ${ARROW_PLASMA_JAVA_CLIENT:=ON}
: ${ARROW_PYTHON:=OFF}
: ${ARROW_S3:=ON}
: ${ARROW_BUILD_TESTS:=OFF}
: ${CMAKE_BUILD_TYPE:=Release}
: ${CMAKE_UNITY_BUILD:=ON}
Expand Down Expand Up @@ -83,6 +84,7 @@ cmake \
-DARROW_PROTOBUF_USE_SHARED=OFF \
-DARROW_PYTHON=${ARROW_PYTHON} \
-DARROW_RPATH_ORIGIN=${ARROW_RPATH_ORIGIN} \
-DARROW_S3=${ARROW_S3} \
-DARROW_SNAPPY_USE_SHARED=OFF \
-DARROW_THRIFT_USE_SHARED=OFF \
-DARROW_UTF8PROC_USE_SHARED=OFF \
Expand Down
8 changes: 7 additions & 1 deletion dev/tasks/java-jars/github.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,20 @@ jobs:
name: Build C++ Libs MacOS
runs-on: macos-latest
env:
MACOSX_DEPLOYMENT_TARGET: "10.11"
MACOSX_DEPLOYMENT_TARGET: "10.13"
steps:
{{ macros.github_checkout_arrow()|indent }}
{{ macros.github_install_archery()|indent }}
- name: Install Dependencies
run: |
brew install --overwrite git
brew bundle --file=arrow/cpp/Brewfile
# We want to link aws-sdk-cpp statically but Homebrew's
# aws-sdk-cpp provides only shared library. If we have
# Homebrew's aws-sdk-cpp, our build mix Homebrew's
# aws-sdk-cpp and bundled aws-sdk-cpp. We uninstall Homebrew's
# aws-sdk-cpp to ensure using only bundled aws-sdk-cpp.
brew uninstall aws-sdk-cpp
- name: Build C++ Libs
run: |
set -e
Expand Down

0 comments on commit 7fe71f5

Please sign in to comment.