From bdeda23d22ccb4185f8dab019a6dfa39efb0f834 Mon Sep 17 00:00:00 2001 From: Mizux Seiha Date: Mon, 15 Mar 2021 21:27:59 +0100 Subject: [PATCH] make: Add support for multi os java package --- CMakeLists.txt | 3 +++ cmake/java.cmake | 15 +++++++++++---- makefiles/Makefile.java.mk | 17 ++++++++++++----- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f936e70bda..39d0bc0316 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,6 +141,9 @@ message(STATUS "Build .Net examples: ${BUILD_DOTNET_EXAMPLES}") if(BUILD_JAVA) option(SKIP_GPG "Disable GPG sign" OFF) message(STATUS "Java disable gpg:sign: ${SKIP_GPG}") + + option(COMPLETE_JAVA_PACKAGE "Build a Java multi OS Package" OFF) + message(STATUS "Java multiple os package: ${COMPLETE_JAVA_PACKAGE}") endif() # By default all dependencies are NOT built (i.e. BUILD_DEPS=OFF), diff --git a/cmake/java.cmake b/cmake/java.cmake index 2fd3a7e624..f8914de085 100644 --- a/cmake/java.cmake +++ b/cmake/java.cmake @@ -152,10 +152,17 @@ add_custom_target(java_native_package set(JAVA_PROJECT_PATH ${PROJECT_BINARY_DIR}/java/${JAVA_PROJECT}) file(MAKE_DIRECTORY ${JAVA_PROJECT_PATH}/${JAVA_PACKAGE_PATH}) -configure_file( - ${PROJECT_SOURCE_DIR}/ortools/java/pom-local.xml.in - ${JAVA_PROJECT_PATH}/pom.xml - @ONLY) +if(COMPLETE_JAVA_PACKAGE) + configure_file( + ${PROJECT_SOURCE_DIR}/ortools/java/pom-full.xml.in + ${JAVA_PROJECT_PATH}/pom.xml + @ONLY) +else() + configure_file( + ${PROJECT_SOURCE_DIR}/ortools/java/pom-local.xml.in + ${JAVA_PROJECT_PATH}/pom.xml + @ONLY) +endif() file(GLOB_RECURSE java_files RELATIVE ${PROJECT_SOURCE_DIR}/ortools/java "ortools/java/*.java") diff --git a/makefiles/Makefile.java.mk b/makefiles/Makefile.java.mk index 8db1661edc..6dd18b5363 100644 --- a/makefiles/Makefile.java.mk +++ b/makefiles/Makefile.java.mk @@ -378,9 +378,7 @@ endif $(TEMP_JAVA_DIR): $(MKDIR) $(TEMP_JAVA_DIR) -$(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_PROJECT): | $(TEMP_JAVA_DIR) - $(MKDIR) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_PROJECT) - +# ortools-native $(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_NATIVE_PROJECT): | $(TEMP_JAVA_DIR) $(MKDIR) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_NATIVE_PROJECT) @@ -411,12 +409,21 @@ endif cd $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_NATIVE_PROJECT) && "$(MVN_BIN)" install -B $(GPG_SIGN) $(TOUCH) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_NATIVE_PROJECT)$Stimestamp +# ortools-java +ifeq ($(COMPLETE_JAVA_PACKAGE),1) +JAVA_ORTOOLS_POM=pom-full.xml.in +else +JAVA_ORTOOLS_POM=pom-local.xml.in +endif + +$(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_PROJECT): | $(TEMP_JAVA_DIR) + $(MKDIR) $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_PROJECT) $(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_PROJECT)/pom.xml: \ - ${SRC_DIR}/ortools/java/pom-local.xml.in \ + ${SRC_DIR}/ortools/java/$(JAVA_ORTOOLS_POM) \ | $(TEMP_JAVA_DIR)/$(JAVA_ORTOOLS_PROJECT) $(SED) -e "s/@PROJECT_VERSION@/$(OR_TOOLS_VERSION)/" \ - ortools$Sjava$Spom-local.xml.in \ + ortools$Sjava$S$(JAVA_ORTOOLS_POM) \ > $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_PROJECT)$Spom.xml $(SED) -i -e 's/@JAVA_PACKAGE@/$(JAVA_ORTOOLS_PACKAGE)/' \ $(TEMP_JAVA_DIR)$S$(JAVA_ORTOOLS_PROJECT)$Spom.xml