From 78783128dbc935c95b89041a5430ed43d5f06774 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Wed, 14 Dec 2022 16:33:59 +0100 Subject: [PATCH] - simplified - fixed test target --- Makefile | 57 +++++++++++++++++++++++++++----------------------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index dcdf89f..e053e00 100644 --- a/Makefile +++ b/Makefile @@ -5,66 +5,64 @@ # Pfad zu Java JAVAPATH=$(wildcard /usr/lib/jvm/java-1.17.0-openjdk-*/bin/) +JAVARELEASE=17 # Verwendete Rosetta-Version -ROSETTAVERSION=7.3.0 +ROSETTAVERSION:=7.3.0 # Pfad zum Rosetta-SDK -ROSETTASDK=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/lib/ +ROSETTASDK:=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/lib/ # Pfad zum Rosetta-SDK, Deposit-Module -ROSETTASDKDEPOSIT=${ROSETTASDK}/../dps-sdk-projects/dps-sdk-deposit/lib -ROSETTASDKPLUGINS=${ROSETTASDK}/../../bundled_plugins/ - +ROSETTASDKDEPOSIT:=${ROSETTASDK}/../dps-sdk-projects/dps-sdk-deposit/lib +ROSETTASDKPLUGINS:=${ROSETTASDK}/../../bundled_plugins/ +ROSETTASDKJARS=$(shell find ${ROSETTASDKDEPOSIT} -name "*.jar") # classpath -JUNITCLASSPATH=/usr/share/java/junit4.jar -#SOURCESCLASSPATH=org/slub/rosetta/dps/repository/plugin/storage/nfs -CLASSPATH=./java:${ROSETTASDKDEPOSIT}/../src/:${ROSETTASDKDEPOSIT}/xmlbeans-2.3.0.jar:${ROSETTASDKDEPOSIT}/dps-sdk-${ROSETTAVERSION}.jar:${ROSETTASDKDEPOSIT}/log4j-api-2.17.1.jar:${ROSETTASDKDEPOSIT}/log4j-core-2.17.1.jar:${ROSETTASDKPLUGINS}/NFSStoragePlugin.jar +JUNITCLASSPATH:=./java/:/usr/share/java/junit4.jar:$(shell find ${ROSETTASDKDEPOSIT} -name "*.jar" -print |xargs echo |sed -e "s/ /:/g") +CLASSPATH:=${ROSETTASDKDEPOSIT}/dps-sdk-${ROSETTAVERSION}.jar # sources +SOURCES:=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java java/org/slub/rosetta/dps/repository/plugin/storage/nfs/TestSLUBStoragePlugin.java +OBJS:=$(SOURCES:.java=.class) +JAR:=SLUBStoragePlugin.jar +BUILD:=build/ -#SOURCES=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java\ -# java/org/slub/rosetta/dps/repository/plugin/storage/nfs/TestSLUBStoragePlugin.java -SOURCES=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java -OBJS=$(SOURCES:.java=.class) - - -all: SLUBStoragePlugin.jar +all: $(BUILD) $(JAR) help: @echo "erzeugt Storage-Plugin für Rosetta von Exlibris" @echo "" @echo "Das Argument 'clean' löscht temporäre Dateien, 'help' gibt diese Hilfe aus und" - @echo "'compile' erzeugt ein JAR-File und ein Bash-Script welches das Java-Programm" + @echo "'all' erzeugt ein JAR-File und ein Bash-Script welches das Java-Programm" @echo "aufruft." jarclean: - @rm -Rf build + @rm -Rf $(BUILD) test: $(OBJS) - java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.storage.nfs.testSLUBStoragePlugin + java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.storage.nfs.TestSLUBStoragePlugin clean: jarclean @rm -Rf doc/ find ./java/org/ -name "*.class" -exec rm -f \{\} \; - @rm -Rf SLUBStoragePlugin.jar + @rm -Rf $(JAR) distclean: clean find ./ -name "*~" -exec rm -f \{\} \; @rm -Rf null -SLUBStoragePlugin.jar: $(OBJS) - @mkdir build; - @find ./ -name "*~" -exec rm -f \{\} \; - @cp -r PLUGIN-INF/ build/ - @cp -r META-INF/ build/ - @cd java; find ./ -name "*.class" -print -exec cp --parents -r \{\} $(PWD)/build \; ; cd .. - #@cp /exlibris/dps/d4_1/system.dir/bundled_plugins/NFSStoragePlugin.jar build/ - #cd build; ${JAVAPATH}/jar xfz /exlibris/dps/d4_1/system.dir/bundled_plugins/NFSStoragePlugin.jar - @cd build; ${JAVAPATH}/jar cfvM ../$@ ./* ; cd .. +$(BUILD): + @mkdir $@; + @mkdir $@/lib + +$(JAR): $(OBJS) + @cp -r PLUGIN-INF/ $(BUILD) + @cp -r META-INF/ $(BUILD) + @cd java; find ./ -name "*.class" -print -exec cp --parents -r \{\} $(PWD)/$(BUILD) \; ; cd .. + @cd $(BUILD); ${JAVAPATH}/jar cfvM ../$@ ./* ; cd .. %.class: %.java - ${JAVAPATH}/javac -classpath ${CLASSPATH}:${JUNITCLASSPATH} -Xlint:all -Werror $< + ${JAVAPATH}/javac --release ${JAVARELEASE} -g -classpath ${CLASSPATH}:${JUNITCLASSPATH} -Xlint:all $< doc: $(SOURCES) javadoc -d doc/ $^ @@ -76,4 +74,3 @@ check_prerequisites: @if [ -e $(ROSETTASDK) ]; then echo "fine :)"; else echo " not found! :("; fi .PHONY: help clean distclean jarclean test - -- GitLab