From a3c65f81d2b0626358b38b1d1687ba8103877e15 Mon Sep 17 00:00:00 2001 From: Markus Pilman Date: Fri, 25 Sep 2020 14:59:25 -0600 Subject: [PATCH] Build with maven (doesn't work yet) --- bindings/java/CMakeLists.txt | 14 ++-- bindings/java/pom.xml.cmake | 127 +++++++++++++++++++++++++++++++++++ bindings/java/pom.xml.in | 39 ----------- 3 files changed, 136 insertions(+), 44 deletions(-) create mode 100644 bindings/java/pom.xml.cmake delete mode 100644 bindings/java/pom.xml.in diff --git a/bindings/java/CMakeLists.txt b/bindings/java/CMakeLists.txt index aaabf7ee30..cc898fbc2c 100644 --- a/bindings/java/CMakeLists.txt +++ b/bindings/java/CMakeLists.txt @@ -104,6 +104,10 @@ set(JAVA_TESTS_SRCS src/test/com/apple/foundationdb/test/WatchTest.java src/test/com/apple/foundationdb/test/WhileTrueTest.java) +set(JAVA_JUNIT_TESTS + src/junit/com/apple/foundationdb/tuple/AllTests.java + src/junit/com/apple/foundationdb/tuple/ArrayUtilTests.java) + set(GENERATED_JAVA_DIR ${CMAKE_CURRENT_BINARY_DIR}/src/main/com/apple/foundationdb) file(MAKE_DIRECTORY ${GENERATED_JAVA_DIR}) @@ -119,6 +123,8 @@ set(GENERATED_JAVA_FILES vexillographer_compile(TARGET fdb_java_options LANG java OUT ${GENERATED_JAVA_DIR} OUTPUT ${GENERATED_JAVA_FILES}) +configure_file(pom.xml.cmake ${CMAKE_CURRENT_BINARY_DIR}/pom.xml) + set(SYSTEM_NAME "linux") if (APPLE) set(SYSTEM_NAME "osx") @@ -175,11 +181,9 @@ add_jar(fdb-java ${JAVA_BINDING_SRCS} ${GENERATED_JAVA_FILES} ${CMAKE_SOURCE_DIR OUTPUT_DIR ${PROJECT_BINARY_DIR}/lib VERSION ${CMAKE_PROJECT_VERSION} MANIFEST ${MANIFEST_FILE}) add_dependencies(fdb-java fdb_java_options fdb_java) -# TODO[mpilman]: The java RPM will require some more effort (mostly on debian). However, -# most people will use the fat-jar, so it is not clear how high this priority is. - -#install_jar(fdb-java DESTINATION ${FDB_SHARE_DIR}/java COMPONENT java) -#install(TARGETS fdb_java DESTINATION ${FDB_LIB_DIR} COMPONENT java) +add_jar(fdb-junit ${JAVA_JUNIT_TESTS} + INCLUDE_JARS fdb-java ${JUNIT_JAR}) +add_dependencies(fdb-junit fdb-java junit) if(NOT OPEN_FOR_IDE) set(FAT_JAR_BINARIES "NOTFOUND" CACHE STRING diff --git a/bindings/java/pom.xml.cmake b/bindings/java/pom.xml.cmake new file mode 100644 index 0000000000..06a6da9b12 --- /dev/null +++ b/bindings/java/pom.xml.cmake @@ -0,0 +1,127 @@ + + + + 4.0.0 + + com.apple.foundationdb + fdb-java + 1.0-SNAPSHOT + + fdb-java + https://www.foundationdb.org + + + UTF-8 + 1.8 + 1.8 + + + + + junit + junit + 4.11 + test + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.0.0 + + + generate-sources + + add-source + + + + ${CMAKE_CURRENT_BINARY_DIR}/src/main + ${CMAKE_CURRENT_SOURCE_DIR}/src/main + ${CMAKE_CURRENT_SOURCE_DIR}/src/test + + + + + add-test-source + generate-test-sources + + add-test-source + + + + ${CMAKE_CURRENT_SOURCE_DIR}/src/junit + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 3.3.0 + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + + + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + diff --git a/bindings/java/pom.xml.in b/bindings/java/pom.xml.in deleted file mode 100644 index bde8970984..0000000000 --- a/bindings/java/pom.xml.in +++ /dev/null @@ -1,39 +0,0 @@ - - 4.0.0 - - org.foundationdb - NAME - VERSION - jar - - foundationdb-java - Java bindings for the FoundationDB database. These bindings require the FoundationDB client, which is under a different license. The client can be obtained from https://www.foundationdb.org/download/. - 2010 - https://www.foundationdb.org - - - FoundationDB - https://www.foundationdb.org - - - - - FoundationDB - - - - - http://0.0.0.0 - - - - - The Apache v2 License - http://www.apache.org/licenses/ - - - -