Skip to content

Commit f17b09b

Browse files
lwhite1kou
authored andcommitted
ARROW-16571: [Java] Update .gitignore to exclude JNI-related binaries
Adds three lines to gitignore to exclude three folders containing binaries and other build output produced by the JNI build process. The folders: - java-dist/ - java-native-c/ - java-native-cpp/ are created in the root arrow directory when cmake is run The command line build is documented here: https://arrow.apache.org/docs/dev/developers/java/building.html# I followed the macOS instructions: [Building JNI Libraries on MacOS](https://arrow.apache.org/docs/dev/developers/java/building.html#id7) To build only the C Data Interface library: $ cd arrow $ brew bundle --file=cpp/Brewfile Homebrew Bundle complete! 25 Brewfile dependencies now installed. $ export JAVA_HOME=<absolute path to your java home> $ mkdir -p java-dist java-native-c $ cd java-native-c $ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_PREFIX=../java-dist \ ../java/c $ cmake --build . --target install To build other JNI libraries: $ cd arrow $ brew bundle --file=cpp/Brewfile Homebrew Bundle complete! 25 Brewfile dependencies now installed. $ export JAVA_HOME=<absolute path to your java home> $ mkdir -p java-dist java-native-cpp $ cd java-native-cpp $ cmake \ -DARROW_BOOST_USE_SHARED=OFF \ -DARROW_BROTLI_USE_SHARED=OFF \ -DARROW_BZ2_USE_SHARED=OFF \ -DARROW_GFLAGS_USE_SHARED=OFF \ -DARROW_GRPC_USE_SHARED=OFF \ -DARROW_LZ4_USE_SHARED=OFF \ -DARROW_OPENSSL_USE_SHARED=OFF \ -DARROW_PROTOBUF_USE_SHARED=OFF \ -DARROW_SNAPPY_USE_SHARED=OFF \ -DARROW_THRIFT_USE_SHARED=OFF \ -DARROW_UTF8PROC_USE_SHARED=OFF \ -DARROW_ZSTD_USE_SHARED=OFF \ -DARROW_JNI=ON \ -DARROW_PARQUET=ON \ -DARROW_FILESYSTEM=ON \ -DARROW_DATASET=ON \ -DARROW_GANDIVA_JAVA=ON \ -DARROW_GANDIVA_STATIC_LIBSTDCPP=ON \ -DARROW_GANDIVA=ON \ -DARROW_ORC=ON \ -DARROW_PLASMA_JAVA_CLIENT=ON \ -DARROW_PLASMA=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_PREFIX=../java-dist \ -DCMAKE_UNITY_BUILD=ON \ -Dre2_SOURCE=BUNDLED \ -DBoost_SOURCE=BUNDLED \ -Dutf8proc_SOURCE=BUNDLED \ -DSnappy_SOURCE=BUNDLED \ -DORC_SOURCE=BUNDLED \ -DZLIB_SOURCE=BUNDLED \ ../cpp $ cmake --build . --target install [Building Arrow JNI Modules](https://arrow.apache.org/docs/dev/developers/java/building.html#id8) To compile the JNI bindings, use the arrow-c-data Maven profile: $ cd arrow/java $ mvn -Darrow.c.jni.dist.dir=../java-dist/lib -Parrow-c-data clean install To compile the JNI bindings for ORC / Gandiva / Dataset, use the arrow-jni Maven profile: $ cd arrow/java $ mvn -Darrow.cpp.build.dir=../java-dist/lib -Parrow-jni clean install Closes #13153 from lwhite1/update-gitignore-to-include-folders-where-binaries-are-created Authored-by: Larry White <lwhite1@users.noreply.github.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
1 parent eb7f986 commit f17b09b

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,8 @@ cpp/Brewfile.lock.json
8282

8383
# docker volumes used for caching
8484
.docker
85+
86+
# generated native binaries created by java JNI build
87+
java-dist/
88+
java-native-c/
89+
java-native-cpp/

0 commit comments

Comments
 (0)