From a5d63ce1e18de2e5ea064781898c59e51cfd11be Mon Sep 17 00:00:00 2001 From: "A.J. Beamon" Date: Wed, 13 Dec 2017 11:07:19 -0800 Subject: [PATCH] Patch up the makefiles and remove references to the completable bindings --- Makefile | 2 +- bindings/bindingtester/known_testers.py | 10 +- bindings/bindingtester/run_binding_tester.sh | 2 +- bindings/bindingtester/run_tester_loop.sh | 4 - bindings/java/local.mk | 298 +++++++++--------- bindings/java/src/main/overview.html.in | 4 +- .../apple/foundationdb/test/TestResult.java | 2 +- build/scver.mk | 3 +- 8 files changed, 152 insertions(+), 173 deletions(-) diff --git a/Makefile b/Makefile index f90e325995..caa4a97915 100644 --- a/Makefile +++ b/Makefile @@ -127,7 +127,7 @@ else endif @echo "#define FDB_VT_PACKAGE_NAME \"$(PACKAGE_NAME)\"" >> $@ -bindings: fdb_c fdb_python fdb_ruby fdb_java fdb_java-completable fdb_node fdb_flow fdb_flow_tester fdb_go fdb_go_tester +bindings: fdb_c fdb_python fdb_ruby fdb_java fdb_node fdb_flow fdb_flow_tester fdb_go fdb_go_tester Makefiles: $(MK_GENERATED) diff --git a/bindings/bindingtester/known_testers.py b/bindings/bindingtester/known_testers.py index 8de3835355..23a07ad61a 100644 --- a/bindings/bindingtester/known_testers.py +++ b/bindings/bindingtester/known_testers.py @@ -51,10 +51,6 @@ _java_cmd = 'java -ea -cp %s:%s com.apple.foundationdb.test.' % ( _absolute_path('java/foundationdb-client.jar'), _absolute_path('java/foundationdb-tests.jar')) -_java_completable_cmd = 'java -ea -cp %s:%s com.apple.foundationdb.test.' % ( - _absolute_path('java/foundationdb-client-completable.jar'), - _absolute_path('java/foundationdb-tests-completable.jar')) - # We could set min_api_version lower on some of these if the testers were updated to support them testers = { 'python' : Tester('python', 'python ' + _absolute_path('python/tests/tester.py'), 2040, 23, MAX_API_VERSION, types=ALL_TYPES), @@ -62,10 +58,8 @@ testers = { 'node' : Tester('node', _absolute_path('nodejs/tests/tester.js'), 53, 500, MAX_API_VERSION), 'streamline' : Tester('streamline', _absolute_path('nodejs/tests/streamline_tester._js'), 53, 500, MAX_API_VERSION), 'ruby' : Tester('ruby', _absolute_path('ruby/tests/tester.rb'), 64, 23, MAX_API_VERSION), - 'java' : Tester('java', _java_cmd + 'StackTester', 2040, 500, MAX_API_VERSION, types=ALL_TYPES), - 'java_async' : Tester('java', _java_cmd + 'AsyncStackTester', 2040, 500, MAX_API_VERSION, types=ALL_TYPES), - 'java_completable' : Tester('java', _java_completable_cmd + 'StackTester', 2040, 510, MAX_API_VERSION, types=ALL_TYPES), - 'java_completable_async' : Tester('java', _java_completable_cmd + 'AsyncStackTester', 2040, 510, MAX_API_VERSION, types=ALL_TYPES), + 'java' : Tester('java', _java_cmd + 'StackTester', 2040, 510, MAX_API_VERSION, types=ALL_TYPES), + 'java_async' : Tester('java', _java_cmd + 'AsyncStackTester', 2040, 510, MAX_API_VERSION, types=ALL_TYPES), 'go' : Tester('go', _absolute_path('go/build/bin/_stacktester'), 63, 200, MAX_API_VERSION), 'flow' : Tester('flow', _absolute_path('flow/bin/fdb_flow_tester'), 63, 500, MAX_API_VERSION), } diff --git a/bindings/bindingtester/run_binding_tester.sh b/bindings/bindingtester/run_binding_tester.sh index a7b62433cc..42af9d593f 100644 --- a/bindings/bindingtester/run_binding_tester.sh +++ b/bindings/bindingtester/run_binding_tester.sh @@ -25,7 +25,7 @@ BREAKONERROR="${BREAKONERROR:-0}" RUNSCRIPTS="${RUNSCRIPTS:-1}" RUNTESTS="${RUNTESTS:-1}" RANDOMTEST="${RANDOMTEST:-0}" -BINDINGTESTS="${BINDINGTESTS:-python python3 java java_async java_completable java_completable_async ruby node go flow}" +BINDINGTESTS="${BINDINGTESTS:-python python3 java java_async ruby node go flow}" LOGLEVEL="${LOGLEVEL:-INFO}" _BINDINGTESTS=(${BINDINGTESTS}) DISABLEDTESTS=() diff --git a/bindings/bindingtester/run_tester_loop.sh b/bindings/bindingtester/run_tester_loop.sh index 1a6256f406..d1eff08b43 100755 --- a/bindings/bindingtester/run_tester_loop.sh +++ b/bindings/bindingtester/run_tester_loop.sh @@ -24,8 +24,6 @@ function run_scripted() { scripted ruby scripted java scripted java_async - scripted java_completable - scripted java_completable_async scripted node scripted go scripted flow @@ -42,8 +40,6 @@ while `true`; do run ruby run java run java_async - run java_completable - run java_completable_async run node #run streamline run go diff --git a/bindings/java/local.mk b/bindings/java/local.mk index 8e0b1f34ab..0c5474db22 100644 --- a/bindings/java/local.mk +++ b/bindings/java/local.mk @@ -28,202 +28,192 @@ fdb_java_CFLAGS := $(fdbclient_CFLAGS) -Ibindings/c JAVADOC_DIR ?= bindings/java fdb_java_LIBS := lib/libfdb_c.$(DLEXT) -fdb_java_LDFLAGS += -Llib ifeq ($(RELEASE),true) - JARVER = $(VERSION) - APPLEJARVER = $(VERSION) + JARVER = $(VERSION) + APPLEJARVER = $(VERSION) else - JARVER = $(VERSION)-PRERELEASE - APPLEJARVER = $(VERSION)-SNAPSHOT + JARVER = $(VERSION)-PRERELEASE + APPLEJARVER = $(VERSION)-SNAPSHOT endif -define add_java_binding_targets +ifeq ($(PLATFORM),linux) + fdb_java_CFLAGS += -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux + fdb_java_LDFLAGS += -static-libgcc - JAVA$(1)_GENERATED_SOURCES := bindings/java/src$(1)/main/com/apple/foundationdb/NetworkOptions.java bindings/java/src$(1)/main/com/apple/foundationdb/ClusterOptions.java bindings/java/src$(1)/main/com/apple/foundationdb/DatabaseOptions.java bindings/java/src$(1)/main/com/apple/foundationdb/TransactionOptions.java bindings/java/src$(1)/main/com/apple/foundationdb/StreamingMode.java bindings/java/src$(1)/main/com/apple/foundationdb/ConflictRangeType.java bindings/java/src$(1)/main/com/apple/foundationdb/MutationType.java bindings/java/src$(1)/main/com/apple/foundationdb/FDBException.java + java_ARCH := amd64 +else ifeq ($(PLATFORM),osx) + # FIXME: Surely there is a better way to grab the JNI headers on any version of OS X. + fdb_java_CFLAGS += -I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers - JAVA$(1)_SOURCES := $$(JAVA$(1)_GENERATED_SOURCES) bindings/java/src$(1)/main/com/apple/foundationdb/*.java bindings/java/src$(1)/main/com/apple/foundationdb/async/*.java bindings/java/src$(1)/main/com/apple/foundationdb/tuple/*.java bindings/java/src$(1)/main/com/apple/foundationdb/directory/*.java bindings/java/src$(1)/main/com/apple/foundationdb/subspace/*.java bindings/java/src$(1)/test/com/apple/foundationdb/test/*.java + java_ARCH := x86_64 +endif - fdb_java$(1): bindings/java/foundationdb-client$(1).jar bindings/java/foundationdb-tests$(1).jar +JAVA_GENERATED_SOURCES := bindings/java/src/main/com/apple/foundationdb/NetworkOptions.java bindings/java/src/main/com/apple/foundationdb/ClusterOptions.java bindings/java/src/main/com/apple/foundationdb/DatabaseOptions.java bindings/java/src/main/com/apple/foundationdb/TransactionOptions.java bindings/java/src/main/com/apple/foundationdb/StreamingMode.java bindings/java/src/main/com/apple/foundationdb/ConflictRangeType.java bindings/java/src/main/com/apple/foundationdb/MutationType.java bindings/java/src/main/com/apple/foundationdb/FDBException.java - bindings/java/foundationdb-tests$(1).jar: bindings/java/.classstamp$(1) - @echo "Building $$@" - @jar cf $$@ -C bindings/java/classes$(1)/test com/apple/foundationdb +JAVA_SOURCES := $(JAVA_GENERATED_SOURCES) bindings/java/src/main/com/apple/foundationdb/*.java bindings/java/src/main/com/apple/foundationdb/async/*.java bindings/java/src/main/com/apple/foundationdb/tuple/*.java bindings/java/src/main/com/apple/foundationdb/directory/*.java bindings/java/src/main/com/apple/foundationdb/subspace/*.java bindings/java/src/test/com/apple/foundationdb/test/*.java - bindings/java/foundationdb-client$(1).jar: bindings/java/.classstamp$(1) lib/libfdb_java.$(DLEXT) - @echo "Building $$@" - @rm -rf bindings/java/classes$(1)/main/lib/$$(PLATFORM)/$$(java_ARCH) - @mkdir -p bindings/java/classes$(1)/main/lib/$$(PLATFORM)/$$(java_ARCH) - @cp lib/libfdb_java.$$(DLEXT) bindings/java/classes$(1)/main/lib/$$(PLATFORM)/$$(java_ARCH)/libfdb_java.$$(java_DLEXT) - @jar cf $$@ -C bindings/java/classes$(1)/main com/apple/foundationdb -C bindings/java/classes$(1)/main lib +fdb_java: bindings/java/foundationdb-client.jar bindings/java/foundationdb-tests.jar - fdb_java$(1)_jar_clean: - @rm -rf $$(JAVA$(1)_GENERATED_SOURCES) - @rm -rf bindings/java/classes$(1) - @rm -f bindings/java/foundationdb-client$(1).jar bindings/java/foundationdb-tests$(1).jar bindings/java/.classstamp$(1) +bindings/java/foundationdb-tests.jar: bindings/java/.classstamp + @echo "Building $@" + @jar cf $@ -C bindings/java/classes/test com/apple/foundationdb - # Redefinition of a target already defined in generated.mk, but it's "okay" and the way things were done before. - fdb_java_clean: fdb_java$(1)_jar_clean +bindings/java/foundationdb-client.jar: bindings/java/.classstamp lib/libfdb_java.$(DLEXT) + @echo "Building $@" + @rm -rf bindings/java/classes/main/lib/$(PLATFORM)/$(java_ARCH) + @mkdir -p bindings/java/classes/main/lib/$(PLATFORM)/$(java_ARCH) + @cp lib/libfdb_java.$(DLEXT) bindings/java/classes/main/lib/$(PLATFORM)/$(java_ARCH)/libfdb_java.$(java_DLEXT) + @jar cf $@ -C bindings/java/classes/main com/apple/foundationdb -C bindings/java/classes/main lib - bindings/java/src$(1)/main/com/apple/foundationdb/StreamingMode.java: bin/vexillographer.exe fdbclient/vexillographer/fdb.options +fdb_java_jar_clean: + @rm -rf $(JAVA_GENERATED_SOURCES) + @rm -rf bindings/java/classes + @rm -f bindings/java/foundationdb-client.jar bindings/java/foundationdb-tests.jar bindings/java/.classstamp + +# Redefinition of a target already defined in generated.mk, but it's "okay" and the way things were done before. +fdb_java_clean: fdb_java_jar_clean + +bindings/java/src/main/com/apple/foundationdb/StreamingMode.java: bin/vexillographer.exe fdbclient/vexillographer/fdb.options @echo "Building Java options" - @$$(MONO) bin/vexillographer.exe fdbclient/vexillographer/fdb.options java $$(@D) + @$(MONO) bin/vexillographer.exe fdbclient/vexillographer/fdb.options java $(@D) - bindings/java/src$(1)/main/com/apple/foundationdb/MutationType.java: bindings/java/src$(1)/main/com/apple/foundationdb/StreamingMode.java +bindings/java/src/main/com/apple/foundationdb/MutationType.java: bindings/java/src/main/com/apple/foundationdb/StreamingMode.java @true - bindings/java/src$(1)/main/com/apple/foundationdb/ConflictRangeType.java: bindings/java/src$(1)/main/com/apple/foundationdb/StreamingMode.java +bindings/java/src/main/com/apple/foundationdb/ConflictRangeType.java: bindings/java/src/main/com/apple/foundationdb/StreamingMode.java @true - bindings/java/src$(1)/main/com/apple/foundationdb/FDBException.java: bindings/java/src$(1)/main/com/apple/foundationdb/StreamingMode.java +bindings/java/src/main/com/apple/foundationdb/FDBException.java: bindings/java/src/main/com/apple/foundationdb/StreamingMode.java @true - bindings/java/src$(1)/main/com/apple/foundationdb/%Options.java: bindings/java/src$(1)/main/com/apple/foundationdb/StreamingMode.java +bindings/java/src/main/com/apple/foundationdb/%Options.java: bindings/java/src/main/com/apple/foundationdb/StreamingMode.java @true - bindings/java/src$(1)/main/overview.html: bindings/java/src$(1)/main/overview.html.in $$(ALL_MAKEFILES) versions.target - @m4 -DVERSION=$$(VERSION) $$< > $$@ +bindings/java/src/main/overview.html: bindings/java/src/main/overview.html.in $(ALL_MAKEFILES) versions.target + @m4 -DVERSION=$(VERSION) $< > $@ - bindings/java/.classstamp$(1): $$(JAVA$(1)_SOURCES) - @echo "Compiling Java$(1) source" - @rm -rf bindings/java/classes$(1) - @mkdir -p bindings/java/classes$(1)/main - @mkdir -p bindings/java/classes$(1)/test - @$$(JAVAC) $$(JAVA$(1)FLAGS) -d bindings/java/classes$(1)/main bindings/java/src$(1)/main/com/apple/foundationdb/*.java bindings/java/src$(1)/main/com/apple/foundationdb/async/*.java bindings/java/src$(1)/main/com/apple/foundationdb/tuple/*.java bindings/java/src$(1)/main/com/apple/foundationdb/directory/*.java bindings/java/src$(1)/main/com/apple/foundationdb/subspace/*.java - @$$(JAVAC) $$(JAVA$(1)FLAGS) -cp bindings/java/classes$(1)/main -d bindings/java/classes$(1)/test bindings/java/src$(1)/test/com/apple/foundationdb/test/*.java - @echo timestamp > bindings/java/.classstamp$(1) +bindings/java/.classstamp: $(JAVA_SOURCES) + @echo "Compiling Java source" + @rm -rf bindings/java/classes + @mkdir -p bindings/java/classes/main + @mkdir -p bindings/java/classes/test + @$(JAVAC) $(JAVAFLAGS) -d bindings/java/classes/main bindings/java/src/main/com/apple/foundationdb/*.java bindings/java/src/main/com/apple/foundationdb/async/*.java bindings/java/src/main/com/apple/foundationdb/tuple/*.java bindings/java/src/main/com/apple/foundationdb/directory/*.java bindings/java/src/main/com/apple/foundationdb/subspace/*.java + @$(JAVAC) $(JAVAFLAGS) -cp bindings/java/classes/main -d bindings/java/classes/test bindings/java/src/test/com/apple/foundationdb/test/*.java + @echo timestamp > bindings/java/.classstamp - javadoc$(1): $$(JAVA$(1)_SOURCES) bindings/java/src$(1)/main/overview.html +javadoc: $(JAVA_SOURCES) bindings/java/src/main/overview.html @echo "Generating Javadocs" - @mkdir -p $$(JAVADOC_DIR)/javadoc$(1)/ - @javadoc -quiet -public -notimestamp -source 1.8 -sourcepath bindings/java/src$(1)/main \ - -overview bindings/java/src$(1)/main/overview.html -d $$(JAVADOC_DIR)/javadoc$(1)/ \ + @mkdir -p $(JAVADOC_DIR)/javadoc/ + @javadoc -quiet -public -notimestamp -source 1.8 -sourcepath bindings/java/src/main \ + -overview bindings/java/src/main/overview.html -d $(JAVADOC_DIR)/javadoc/ \ -windowtitle "FoundationDB Java Client API" \ -doctitle "FoundationDB Java Client API" \ -link "http://docs.oracle.com/javase/8/docs/api" \ com.apple.foundationdb.org.apple.foundationdb.async com.apple.foundationdb.tuple com.apple.foundationdb.directory com.apple.foundationdb.subspace - javadoc$(1)_clean: - @rm -rf $$(JAVADOC_DIR)/javadoc$(1) - @rm bindings/java/src$(1)/main/overview.html - - ifeq ($$(PLATFORM),linux) - # We only need javadoc from one source - TARGETS += javadoc$(1) - CLEAN_TARGETS += javadoc$(1)_clean - - # _release builds the lib on OS X and the jars (including the OS X lib) on Linux - TARGETS += fdb_java$(1)_release - CLEAN_TARGETS += fdb_java$(1)_release_clean - - ifneq ($$(FATJAR),) - packages/fdb-java$(1)-$$(JARVER).jar: $$(MAC_OBJ_JAVA) $$(WINDOWS_OBJ_JAVA) - endif - - bindings/java/pom$(1).xml: bindings/java/pom.xml.in $$(ALL_MAKEFILES) versions.target - @echo "Generating $$@" - @m4 -DVERSION=$$(JARVER) -DNAME=fdb-java$(1) $$< > $$@ - - bindings/java/fdb-java$(1)-$(APPLEJARVER).pom: bindings/java/pom$(1).xml - @echo "Copying $$@" - sed -e 's/-PRERELEASE/-SNAPSHOT/g' bindings/java/pom$(1).xml > "$$@" - - packages/fdb-java$(1)-$$(JARVER).jar: fdb_java$(1) versions.target - @echo "Building $$@" - @rm -f $$@ - @rm -rf packages/jar$(1)_regular - @mkdir -p packages/jar$(1)_regular - @cd packages/jar$(1)_regular && unzip -qq $$(TOPDIR)/bindings/java/foundationdb-client$(1).jar - ifneq ($$(FATJAR),) - @mkdir -p packages/jar$(1)_regular/lib/windows/amd64 - @mkdir -p packages/jar$(1)_regular/lib/osx/x86_64 - @cp $$(MAC_OBJ_JAVA) packages/jar$(1)_regular/lib/osx/x86_64/libfdb_java.jnilib - @cp $$(WINDOWS_OBJ_JAVA) packages/jar$(1)_regular/lib/windows/amd64/fdb_java.dll - endif - @cd packages/jar$(1)_regular && jar cf $$(TOPDIR)/$$@ * - @rm -r packages/jar$(1)_regular - @cd bindings && jar uf $$(TOPDIR)/$$@ ../LICENSE - - packages/fdb-java$(1)-$$(JARVER)-tests.jar: fdb_java$(1) versions.target - @echo "Building $$@" - @rm -f $$@ - @cp $$(TOPDIR)/bindings/java/foundationdb-tests$(1).jar packages/fdb-java$(1)-$$(JARVER)-tests.jar - - packages/fdb-java$(1)-$$(JARVER)-sources.jar: $$(JAVA$(1)_GENERATED_SOURCES) versions.target - @echo "Building $$@" - @rm -f $$@ - @jar cf $(TOPDIR)/$$@ -C bindings/java/src$(1)/main com/apple/foundationdb - - packages/fdb-java$(1)-$$(JARVER)-javadoc.jar: javadoc$(1) versions.target - @echo "Building $$@" - @rm -f $$@ - @cd $$(JAVADOC_DIR)/javadoc$(1)/ && jar cf $$(TOPDIR)/$$@ * - @cd bindings && jar uf $$(TOPDIR)/$$@ ../LICENSE - - packages/fdb-java$(1)-$$(JARVER)-bundle.jar: packages/fdb-java$(1)-$$(JARVER).jar packages/fdb-java$(1)-$$(JARVER)-javadoc.jar packages/fdb-java$(1)-$$(JARVER)-sources.jar bindings/java/pom$(1).xml bindings/java/fdb-java$(1)-$$(APPLEJARVER).pom versions.target - @echo "Building $$@" - @rm -f $$@ - @rm -rf packages/bundle$(1)_regular - @mkdir -p packages/bundle$(1)_regular - @cp packages/fdb-java$(1)-$$(JARVER).jar packages/fdb-java$(1)-$$(JARVER)-javadoc.jar packages/fdb-java$(1)-$$(JARVER)-sources.jar bindings/java/fdb-java$(1)-$$(APPLEJARVER).pom packages/bundle$(1)_regular - @cp bindings/java/pom$(1).xml packages/bundle$(1)_regular/pom.xml - @cd packages/bundle$(1)_regular && jar cf $(TOPDIR)/$$@ * - @rm -rf packages/bundle$(1)_regular - - fdb_java$(1)_release: packages/fdb-java$(1)-$$(JARVER)-bundle.jar packages/fdb-java$(1)-$$(JARVER)-tests.jar - - fdb_java$(1)_release_clean: - @echo "Cleaning Java release" - @rm -f packages/fdb-java$(1)-*.jar packages/fdb-java$(1)-*-sources.jar bindings/java/pom$(1).xml bindings/java/fdb-java$(1)-$$(APPLEJARVER).pom - - endif - -endef - -$(eval $(call add_java_binding_targets,)) -ifeq ($(JAVAVERMAJOR).$(JAVAVERMINOR),1.8) - $(eval $(call add_java_binding_targets,-completable)) -endif +javadoc_clean: + @rm -rf $(JAVADOC_DIR)/javadoc + @rm bindings/java/src/main/overview.html ifeq ($(PLATFORM),linux) + # We only need javadoc from one source + TARGETS += javadoc + CLEAN_TARGETS += javadoc_clean - fdb_java_CFLAGS += -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux - fdb_java_LDFLAGS += -static-libgcc + # _release builds the lib on OS X and the jars (including the OS X lib) on Linux + TARGETS += fdb_java_release + CLEAN_TARGETS += fdb_java_release_clean - # Linux is where we build all the java packages - packages: fdb_java_release fdb_java-completable_release - packages_clean: fdb_java_release_clean fdb_java-completable_release_clean + ifneq ($(FATJAR),) + packages/fdb-java-$(JARVER).jar: $(MAC_OBJ_JAVA) $(WINDOWS_OBJ_JAVA) + endif - java_ARCH := amd64 + bindings/java/pom.xml: bindings/java/pom.xml.in $(ALL_MAKEFILES) versions.target + @echo "Generating $@" + @m4 -DVERSION=$(JARVER) -DNAME=fdb-java $< > $@ - ifneq ($(FATJAR),) - MAC_OBJ_JAVA := lib/libfdb_java.jnilib-$(VERSION_ID) - WINDOWS_OBJ_JAVA := lib/fdb_java.dll-$(VERSION_ID) - endif + bindings/java/fdb-java-$(APPLEJARVER).pom: bindings/java/pom.xml + @echo "Copying $@" + sed -e 's/-PRERELEASE/-SNAPSHOT/g' bindings/java/pom.xml > "$@" + + packages/fdb-java-$(JARVER).jar: fdb_java versions.target + @echo "Building $@" + @rm -f $@ + @rm -rf packages/jar_regular + @mkdir -p packages/jar_regular + @cd packages/jar_regular && unzip -qq $(TOPDIR)/bindings/java/foundationdb-client.jar + ifneq ($(FATJAR),) + @mkdir -p packages/jar_regular/lib/windows/amd64 + @mkdir -p packages/jar_regular/lib/osx/x86_64 + @cp $(MAC_OBJ_JAVA) packages/jar_regular/lib/osx/x86_64/libfdb_java.jnilib + @cp $(WINDOWS_OBJ_JAVA) packages/jar_regular/lib/windows/amd64/fdb_java.dll + endif + @cd packages/jar_regular && jar cf $(TOPDIR)/$@ * + @rm -r packages/jar_regular + @cd bindings && jar uf $(TOPDIR)/$@ ../LICENSE + + packages/fdb-java-$(JARVER)-tests.jar: fdb_java versions.target + @echo "Building $@" + @rm -f $@ + @cp $(TOPDIR)/bindings/java/foundationdb-tests.jar packages/fdb-java-$(JARVER)-tests.jar + + packages/fdb-java-$(JARVER)-sources.jar: $(JAVA_GENERATED_SOURCES) versions.target + @echo "Building $@" + @rm -f $@ + @jar cf $(TOPDIR)/$@ -C bindings/java/src/main com/apple/foundationdb + + packages/fdb-java-$(JARVER)-javadoc.jar: javadoc versions.target + @echo "Building $@" + @rm -f $@ + @cd $(JAVADOC_DIR)/javadoc/ && jar cf $(TOPDIR)/$@ * + @cd bindings && jar uf $(TOPDIR)/$@ ../LICENSE + + packages/fdb-java-$(JARVER)-bundle.jar: packages/fdb-java-$(JARVER).jar packages/fdb-java-$(JARVER)-javadoc.jar packages/fdb-java-$(JARVER)-sources.jar bindings/java/pom.xml bindings/java/fdb-java-$(APPLEJARVER).pom versions.target + @echo "Building $@" + @rm -f $@ + @rm -rf packages/bundle_regular + @mkdir -p packages/bundle_regular + @cp packages/fdb-java-$(JARVER).jar packages/fdb-java-$(JARVER)-javadoc.jar packages/fdb-java-$(JARVER)-sources.jar bindings/java/fdb-java-$(APPLEJARVER).pom packages/bundle_regular + @cp bindings/java/pom.xml packages/bundle_regular/pom.xml + @cd packages/bundle_regular && jar cf $(TOPDIR)/$@ * + @rm -rf packages/bundle_regular + + fdb_java_release: packages/fdb-java-$(JARVER)-bundle.jar packages/fdb-java-$(JARVER)-tests.jar + + fdb_java_release_clean: + @echo "Cleaning Java release" + @rm -f packages/fdb-java-*.jar packages/fdb-java-*-sources.jar bindings/java/pom.xml bindings/java/fdb-java-$(APPLEJARVER).pom + + # Linux is where we build all the java packages + packages: fdb_java_release + packages_clean: fdb_java_release_clean + + ifneq ($(FATJAR),) + MAC_OBJ_JAVA := lib/libfdb_java.jnilib-$(VERSION_ID) + WINDOWS_OBJ_JAVA := lib/fdb_java.dll-$(VERSION_ID) + endif else ifeq ($(PLATFORM),osx) - TARGETS += fdb_java_release - CLEAN_TARGETS += fdb_java_release_clean - java_ARCH := x86_64 + TARGETS += fdb_java_release + CLEAN_TARGETS += fdb_java_release_clean - fdb_java_release: lib/libfdb_java.$(DLEXT) - @mkdir -p lib - @rm -f lib/libfdb_java.$(java_DLEXT)-* - @cp lib/libfdb_java.$(DLEXT) lib/libfdb_java.$(java_DLEXT)-$(VERSION_ID) - @cp lib/libfdb_java.$(DLEXT)-debug lib/libfdb_java.$(java_DLEXT)-debug-$(VERSION_ID) + fdb_java_release: lib/libfdb_java.$(DLEXT) + @mkdir -p lib + @rm -f lib/libfdb_java.$(java_DLEXT)-* + @cp lib/libfdb_java.$(DLEXT) lib/libfdb_java.$(java_DLEXT)-$(VERSION_ID) + @cp lib/libfdb_java.$(DLEXT)-debug lib/libfdb_java.$(java_DLEXT)-debug-$(VERSION_ID) - fdb_java_release_clean: - @rm -f lib/libfdb_java.$(DLEXT)-* - @rm -f lib/libfdb_java.$(java_DLEXT)-* + fdb_java_release_clean: + @rm -f lib/libfdb_java.$(DLEXT)-* + @rm -f lib/libfdb_java.$(java_DLEXT)-* - # FIXME: Surely there is a better way to grab the JNI headers on any version of OS X. - fdb_java_CFLAGS += -I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers + # OS X needs to put its java lib in packages + packages: fdb_java_lib_package - # OS X needs to put its java lib in packages - packages: fdb_java_lib_package + fdb_java_lib_package: fdb_java_release + mkdir -p packages + cp lib/libfdb_java.$(java_DLEXT)-$(VERSION_ID) packages + cp lib/libfdb_java.$(java_DLEXT)-debug-$(VERSION_ID) packages - fdb_java_lib_package: fdb_java_release - mkdir -p packages - cp lib/libfdb_java.$(java_DLEXT)-$(VERSION_ID) packages - cp lib/libfdb_java.$(java_DLEXT)-debug-$(VERSION_ID) packages endif diff --git a/bindings/java/src/main/overview.html.in b/bindings/java/src/main/overview.html.in index f9cd8db9a3..66a10a750d 100644 --- a/bindings/java/src/main/overview.html.in +++ b/bindings/java/src/main/overview.html.in @@ -13,13 +13,13 @@ pom.xml like:
{@code com.apple.cie.foundationdb - fdb-java-completable + fdb-java VERSION } Alternatively, simply download the JAR from -Artifactory +Artifactory and add it to your classpath.

Getting started

diff --git a/bindings/java/src/test/com/apple/foundationdb/test/TestResult.java b/bindings/java/src/test/com/apple/foundationdb/test/TestResult.java index 788ed2f2de..f7f40d973a 100644 --- a/bindings/java/src/test/com/apple/foundationdb/test/TestResult.java +++ b/bindings/java/src/test/com/apple/foundationdb/test/TestResult.java @@ -52,7 +52,7 @@ public class TestResult { } public void save(String directory) { - String file = "javacompletableresult-" + id + ".json"; + String file = "javaresult-" + id + ".json"; if(directory.length() > 0) { file = directory + "/" + file; } diff --git a/build/scver.mk b/build/scver.mk index 5c7e9b387d..5640851e6e 100644 --- a/build/scver.mk +++ b/build/scver.mk @@ -82,8 +82,7 @@ ifdef JAVAC ifneq ($(JAVAVERMAJOR),1) $(warning Unable to compile source using Java version: $(JAVAVER) with compiler: $(JAVAC) on $(PLATFORM) $(ARCH)) else - JAVAFLAGS := -Xlint -source 1.6 -target 1.6 - JAVA-completableFLAGS := -Xlint -source 1.8 -target 1.8 + JAVAFLAGS := -Xlint -source 1.8 -target 1.8 endif endif