summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-12-21 20:18:38 -0300
committerEuAndreh <eu@euandre.org>2025-12-21 20:54:40 -0300
commitc62bf5207128f5c305e02179c6f603cd4a28fd5f (patch)
tree855f4bdca2e234811d089d51abcf924d14dc607f
parenttests/: Require datomic.api in tests and capture more things to stderr (diff)
downloaddatomic-c62bf5207128f5c305e02179c6f603cd4a28fd5f.tar.gz
datomic-c62bf5207128f5c305e02179c6f603cd4a28fd5f.tar.xz
Makefile: build peer.jar and transactor.jar only with used thingsHEADmain
-rw-r--r--Makefile26
-rw-r--r--include.txt28
2 files changed, 42 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index e8ac317..8d9bdba 100644
--- a/Makefile
+++ b/Makefile
@@ -25,7 +25,7 @@ CLASSPATH = $(JARPATH)/clojure.jar
.SUFFIXES:
-.SUFFIXES: .in .jar .jar-check .dir
+.SUFFIXES: .in .jar .jar-check .dir .d
.in:
sed \
@@ -63,7 +63,7 @@ inits = \
derived-assets = \
src/$(PROVERSION)/dir.sentinel \
lib/dir.sentinel \
- extracted.sentinel \
+ lib/extracted.sentinel \
$(inits) \
$(NAME).jar \
$(NAME).dir \
@@ -71,16 +71,16 @@ derived-assets = \
integration.jar \
bin/transactor \
bin/$(NAME) \
- dir-transactor.sentinel \
- transactor.jar \
+ peer.d \
+ transactor.d \
peer.jar \
+ transactor.jar \
side-assets = \
src/$(PROVERSION)/ \
lib/ \
src/*.class \
tests/*.class \
- transactor.d \
@@ -104,8 +104,10 @@ lib/dir.sentinel: src/$(PROVERSION)/dir.sentinel
cp src/$(PROVERSION)/*.jar $(@D)
touch $@
-extracted.sentinel: lib/dir.sentinel
+lib/extracted.sentinel: lib/dir.sentinel
+$(MAKE) `find lib/*.jar | sed s:\.jar$$:.dir:`
+ rm -f lib/transactor.dir
+ cd lib/ && ln -s datomic-transactor-pro*.dir transactor.dir
touch $@
src/$(NAME)__init.class: src/$(NAME).clj lib/dir.sentinel
@@ -136,16 +138,16 @@ integration.jar: tests/integration__init.class
unit.jar integration.jar:
cd tests && jar -cvf ../$@ $**.class
-dir-transactor.sentinel: etc/logback.xml extracted.sentinel $(NAME).dir
- rsync -a --delete etc/logback.xml lib/*.dir/ $(NAME).dir/ transactor.d
+peer.d transactor.d: etc/logback.xml $(NAME).dir lib/extracted.sentinel \
+ include.txt
+ rsync -a --delete lib/$**.dir/ `sed -e '/^#/d' -e /^$$/d include.txt` $@
touch $@
-transactor.jar: dir-transactor.sentinel
+peer.jar: peer.d
+transactor.jar: transactor.d
+peer.jar transactor.jar:
cd $*.d && jar -cf ../$@ .
-peer.jar: transactor.jar
- ln -fs transactor.jar peer.jar
-
unit.jar-check: unit.jar
diff --git a/include.txt b/include.txt
new file mode 100644
index 0000000..6a2f94d
--- /dev/null
+++ b/include.txt
@@ -0,0 +1,28 @@
+etc/logback.xml
+dtmc.dir/
+
+# datomic/*
+lib/io-stats*.dir/
+lib/query-stats*.dir/
+lib/java-io*.dir/
+lib/datomic-lucene-core*.dir/
+lib/core2*.dir/
+
+# clojure
+lib/core.async*.dir/
+lib/core.memoize*.dir/
+lib/core.cache*.dir/
+lib/tools.analyzer*.dir/
+lib/tools.reader*.dir/
+lib/data.priority-map*.dir/
+
+# cognitect
+lib/caster*.dir/
+lib/fressian*.dir/
+
+# misc
+lib/slf4j*.dir/
+lib/logback-classic*.dir/
+lib/commons-io*.dir/
+lib/asm-9*.dir/
+lib/caffeine*.dir/