Makefile 5.5 KB
Newer Older
F
fyrz 已提交
1 2 3 4 5 6
NATIVE_JAVA_CLASSES = org.rocksdb.AbstractComparator\
	org.rocksdb.AbstractSlice\
	org.rocksdb.BackupableDB\
	org.rocksdb.BackupableDBOptions\
	org.rocksdb.BlockBasedTableConfig\
	org.rocksdb.BloomFilter\
F
fyrz 已提交
7
	org.rocksdb.Checkpoint\
F
fyrz 已提交
8
	org.rocksdb.ColumnFamilyHandle\
9
	org.rocksdb.ColumnFamilyOptions\
F
fyrz 已提交
10 11 12 13 14
	org.rocksdb.Comparator\
	org.rocksdb.ComparatorOptions\
	org.rocksdb.DBOptions\
	org.rocksdb.DirectComparator\
	org.rocksdb.DirectSlice\
F
fyrz 已提交
15
	org.rocksdb.FlushOptions\
F
fyrz 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
	org.rocksdb.Filter\
	org.rocksdb.GenericRateLimiterConfig\
	org.rocksdb.HashLinkedListMemTableConfig\
	org.rocksdb.HashSkipListMemTableConfig\
	org.rocksdb.MergeOperator\
	org.rocksdb.Options\
	org.rocksdb.PlainTableConfig\
	org.rocksdb.ReadOptions\
	org.rocksdb.RestoreBackupableDB\
	org.rocksdb.RestoreOptions\
	org.rocksdb.RocksDB\
	org.rocksdb.RocksEnv\
	org.rocksdb.RocksIterator\
	org.rocksdb.SkipListMemTableConfig\
	org.rocksdb.Slice\
	org.rocksdb.Statistics\
F
fyrz 已提交
32
	org.rocksdb.TtlDB\
F
fyrz 已提交
33 34 35 36
	org.rocksdb.VectorMemTableConfig\
	org.rocksdb.StringAppendOperator\
	org.rocksdb.WriteBatch\
	org.rocksdb.WriteBatch.Handler\
F
fyrz 已提交
37 38
	org.rocksdb.test.WriteBatchInternal\
	org.rocksdb.test.WriteBatchTest\
F
fyrz 已提交
39
    org.rocksdb.WriteOptions\
40 41
	org.rocksdb.WriteBatchWithIndex\
	org.rocksdb.WBWIRocksIterator
A
Ankit Gupta 已提交
42

43 44 45
ROCKSDB_MAJOR = $(shell egrep "ROCKSDB_MAJOR.[0-9]" ../include/rocksdb/version.h | cut -d ' ' -f 3)
ROCKSDB_MINOR = $(shell egrep "ROCKSDB_MINOR.[0-9]" ../include/rocksdb/version.h | cut -d ' ' -f 3)
ROCKSDB_PATCH = $(shell egrep "ROCKSDB_PATCH.[0-9]" ../include/rocksdb/version.h | cut -d ' ' -f 3)
46

47
NATIVE_INCLUDE = ./include
48
ARCH := $(shell getconf LONG_BIT)
49
ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)-linux$(ARCH).jar
50
ifeq ($(PLATFORM), OS_MACOSX)
51
ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)-osx.jar
52
endif
53

54 55
JAVA_TESTS = org.rocksdb.test.BackupableDBOptionsTest\
        org.rocksdb.test.BackupableDBTest\
F
fyrz 已提交
56
		org.rocksdb.test.BlockBasedTableConfigTest\
F
fyrz 已提交
57
		org.rocksdb.test.CheckPointTest\
F
fyrz 已提交
58 59 60 61 62 63
		org.rocksdb.test.ColumnFamilyOptionsTest\
		org.rocksdb.test.ColumnFamilyTest\
		org.rocksdb.test.ComparatorOptionsTest\
		org.rocksdb.test.ComparatorTest\
		org.rocksdb.test.DBOptionsTest\
		org.rocksdb.test.DirectComparatorTest\
64
		org.rocksdb.test.DirectSliceTest\
65
		org.rocksdb.test.EnvironmentTest\
F
fyrz 已提交
66 67
		org.rocksdb.test.FilterTest\
		org.rocksdb.test.FlushTest\
F
fyrz 已提交
68
		org.rocksdb.test.InfoLogLevelTest\
F
fyrz 已提交
69 70 71 72 73 74 75 76
		org.rocksdb.test.KeyMayExistTest\
		org.rocksdb.test.MemTableTest\
		org.rocksdb.test.MergeTest\
		org.rocksdb.test.MixedOptionsTest\
		org.rocksdb.test.OptionsTest\
		org.rocksdb.test.PlainTableConfigTest\
		org.rocksdb.test.ReadOnlyTest\
		org.rocksdb.test.ReadOptionsTest\
F
fyrz 已提交
77
		org.rocksdb.test.RocksDBTest\
78
		org.rocksdb.test.RocksEnvTest\
F
fyrz 已提交
79
		org.rocksdb.test.RocksIteratorTest\
80
		org.rocksdb.test.SizeUnitTest\
81
		org.rocksdb.test.SliceTest\
F
fyrz 已提交
82
		org.rocksdb.test.SnapshotTest\
F
fyrz 已提交
83
		org.rocksdb.test.TtlDBTest\
F
fyrz 已提交
84
		org.rocksdb.test.StatisticsCollectorTest\
F
fyrz 已提交
85
		org.rocksdb.test.WriteBatchHandlerTest\
F
fyrz 已提交
86
		org.rocksdb.test.WriteBatchTest\
F
fyrz 已提交
87
		org.rocksdb.test.WriteOptionsTest\
88
		org.rocksdb.test.WriteBatchWithIndexTest
F
fyrz 已提交
89 90 91 92 93 94 95 96 97

JAVA_TEST_LIBDIR = ./test-libs/
JAVA_JUNIT_JAR = $(JAVA_TEST_LIBDIR)junit-4.12-beta-2.jar
JAVA_HAMCR_JAR = $(JAVA_TEST_LIBDIR)hamcrest-core-1.3.jar
JAVA_MOCKITO_JAR = $(JAVA_TEST_LIBDIR)mockito-all-1.9.5.jar
JAVA_CGLIB_JAR = $(JAVA_TEST_LIBDIR)cglib-2.2.2.jar
JAVA_ASSERTJ_JAR = $(JAVA_TEST_LIBDIR)assertj-core-1.7.0.jar
JAVA_TESTCLASSPATH = $(ROCKSDB_JAR):$(JAVA_JUNIT_JAR):$(JAVA_HAMCR_JAR):$(JAVA_MOCKITO_JAR):$(JAVA_CGLIB_JAR):$(JAVA_ASSERTJ_JAR):.:./*

98 99
clean:
	-find . -name "*.class" -exec rm {} \;
F
fyrz 已提交
100
	rm -rf include/*
C
Chris Riccomini 已提交
101
	rm -rf javadoc/*
F
fyrz 已提交
102
	rm -rf test-libs/
F
fyrz 已提交
103
	rm -rf target
104
	rm -rf librocksdbjni*
F
fyrz 已提交
105
	rm -f rocksdbjni*
F
fyrz 已提交
106

107

108
javadocs:
F
fyrz 已提交
109
	mkdir -p javadoc; javadoc -d javadoc -sourcepath . -subpackages org -exclude org.rocksdb.test
110

F
fyrz 已提交
111 112 113
javalib: java javadocs

java: resolve_test_deps
114
	javac org/rocksdb/util/*.java org/rocksdb/*.java
F
fyrz 已提交
115
	javac -cp $(JAVA_TESTCLASSPATH) org/rocksdb/test/*.java
116 117
	@cp ../HISTORY.md ./HISTORY-CPP.md
	@rm -f ./HISTORY-CPP.md
118 119
	javah -d $(NATIVE_INCLUDE) -jni $(NATIVE_JAVA_CLASSES)

120
sample: java
121
	javac -cp $(ROCKSDB_JAR) RocksDBSample.java
122 123
	@rm -rf /tmp/rocksdbjni
	@rm -rf /tmp/rocksdbjni_not_found
A
Ankit Gupta 已提交
124
	java -ea -Djava.library.path=.:../ -cp ".:./*" -Xcheck:jni RocksDBSample /tmp/rocksdbjni
125 126
	@rm -rf /tmp/rocksdbjni
	@rm -rf /tmp/rocksdbjni_not_found
127

F
fyrz 已提交
128 129 130 131 132 133
column_family_sample: java
	javac -cp $(ROCKSDB_JAR) RocksDBColumnFamilySample.java
	@rm -rf /tmp/rocksdbjni
	java -ea -Djava.library.path=.:../ -cp ".:./*" -Xcheck:jni RocksDBColumnFamilySample /tmp/rocksdbjni
	@rm -rf /tmp/rocksdbjni

F
fyrz 已提交
134 135
resolve_test_deps:
	mkdir -p "$(JAVA_TEST_LIBDIR)"
136 137 138 139 140
	test -s "$(JAVA_JUNIT_JAR)" || curl -k -L -o $(JAVA_JUNIT_JAR) http://search.maven.org/remotecontent?filepath=junit/junit/4.12-beta-2/junit-4.12-beta-2.jar
	test -s "$(JAVA_HAMCR_JAR)" || curl -k -L -o $(JAVA_HAMCR_JAR) http://search.maven.org/remotecontent?filepath=org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
	test -s "$(JAVA_MOCKITO_JAR)" || curl -k -L -o "$(JAVA_MOCKITO_JAR)" http://search.maven.org/remotecontent?filepath=org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar
	test -s "$(JAVA_CGLIB_JAR)" || curl -k -L -o "$(JAVA_CGLIB_JAR)" http://search.maven.org/remotecontent?filepath=cglib/cglib/2.2.2/cglib-2.2.2.jar
	test -s "$(JAVA_ASSERTJ_JAR)" || curl -k -L -o "$(JAVA_ASSERTJ_JAR)" http://central.maven.org/maven2/org/assertj/assertj-core/1.7.0/assertj-core-1.7.0.jar
F
fyrz 已提交
141 142

test: java resolve_test_deps
143
	java -ea -Xcheck:jni -Djava.library.path=.:../ -cp "$(JAVA_TESTCLASSPATH)" org.rocksdb.test.RocksJunitRunner $(JAVA_TESTS)
144 145 146

db_bench: java
	javac org/rocksdb/benchmark/*.java