Skip to content
Snippets Groups Projects
Select Git revision
  • 2afc49ae3a413a1080022a018f6c1d9d4cd8a5ef
  • master default protected
  • sdk-8.0.0_support
  • VirusCheckPluginV2
4 results

Dockerfile

Blame
  • Makefile 3.06 KiB
    # Andreas Romeyke, SLUB Dresden
    # Plugin, welches XML Dateien gegen einen XML Katalog validiert
    
    # Pfad zu Java
    JAVAPATH:=$(wildcard /usr/lib/jvm/java-1.17.0-openjdk-*/bin/)
    JAVARELEASE:=17
    
    # Verwendete Rosetta-Version
    ROSETTAVERSION:=7.3.0
    
    # Pfad zum Rosetta-SDK und lokalen JARs
    ROSETTASDK:=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/dps-sdk-projects/dps-sdk-deposit/lib/
    LOCALJARS=$(shell if [ -d lib ]; then find lib -name "*.jar" -print |xargs echo |sed -e "s/ /:/g"; fi)
    
    # classpath
    JUNITCLASSPATH:=./java/:./resources/:/usr/share/java/junit4.jar
    COMMONSCLIJAR:=/usr/share/java/commons-cli.jar
    CLASSPATH:=$(shell find ${ROSETTASDK} -name "*.jar" -print | xargs echo | sed -e "s/ /:/g"):${LOCALJARS}:${COMMONSCLIJAR}
    
    # sources
    PLUGINCLASS:=XmlFormatValidationPlugin
    JAR:=${PLUGINCLASS}.jar
    SOURCES:=$(shell find java/ -name "*.java" -print | xargs echo)
    OBJS:=$(SOURCES:.java=.class)
    BUILD:=build/
    
    TESTSOURCES:=$(shell find resources/ -name "*.java" -print | xargs echo )
    TESTOBJS:=$(TESTSOURCES:.java=.class)
    
    MINIMAL_JAR:=0
    
    all: $(BUILD) $(JAR)
    
    help:
    	@echo "erzeugt Plugin für Rosetta von Exlibris"
    	@echo ""
    	@echo "Das Argument 'clean' löscht temporäre Dateien, 'help' gibt diese Hilfe aus und"
    	@echo "'all' erzeugt ein JAR-File und ein Bash-Script welches das Java-Programm"
    	@echo "aufruft."
    
    jarclean:
    	@rm -Rf $(BUILD)
    
    test_dtd: $(TESTOBJS) $(JAR)
    	java -Djaxp.debug=1 -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore  org.slub.rosetta.dps.repository.plugin.Validation.TestValidateDTD;
    
    test_schema: $(TESTOBJS) $(JAR)
    	java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore  org.slub.rosetta.dps.repository.plugin.Validation.TestValidateSchema;
    
    test_relaxNG: $(TESTOBJS) $(JAR)
    	java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore  org.slub.rosetta.dps.repository.plugin.Validation.TestValidateRelaxNG;
    
    test_combined: $(TESTOBJS) $(JAR)
    	java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore  org.slub.rosetta.dps.repository.plugin.TestXmlFormatValidationPlugin
    
    test: test_dtd test_schema test_relaxNG
    
    clean: jarclean
    	@rm -Rf doc/
    	find ./java/org/ -name "*.class" -exec rm -f \{\} \;
    	@rm -Rf $(JAR)
    
    distclean: clean
    	find ./ -name "*~" -exec rm -f \{\} \;
    	@rm -Rf null
    
    $(BUILD):
    	@mkdir $@;
    	@mkdir $@/lib
    
    $(JAR): $(OBJS)
    	#@cp -r resources $(BUILD)
    	@cp -r PLUGIN-INF/ $(BUILD)
    	@cp -r META-INF/ $(BUILD)
    	@if [ ${MINIMAL_JAR} = 0 ]; then cp -r lib/ $(BUILD); fi
    	@cd java; find ./ -name "*.class" -print -exec cp --parents -r \{\} $(PWD)/$(BUILD) \; ; cd ..
    	@cd $(BUILD); ${JAVAPATH}/jar cfvM ../$@ ./* ; cd ..
    
    %.class: %.java
    	${JAVAPATH}/javac -encoding utf-8 --release ${JAVARELEASE} -g -classpath ${CLASSPATH}:${JUNITCLASSPATH} -Xlint:all $<
    
    doc: $(SOURCES)
    	javadoc -d doc/ $^
    
    check_prerequisites:
    	@echo -n "### Checking java path: $(JAVAPATH) ...."
    	@if [ -e $(JAVAPATH) ]; then echo "fine :)"; else echo " not found! :("; fi
    	@echo -n "### Checking Exlibris Rosetta SDK path: $(ROSETTASDK) ...."
    	@if [ -e $(ROSETTASDK) ]; then echo "fine :)"; else echo " not found! :("; fi
    
    .PHONY: help clean distclean jarclean test