diff options
Diffstat (limited to 'solenv/inc/javaunittest.mk')
-rw-r--r-- | solenv/inc/javaunittest.mk | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/solenv/inc/javaunittest.mk b/solenv/inc/javaunittest.mk new file mode 100644 index 000000000000..e129052a445e --- /dev/null +++ b/solenv/inc/javaunittest.mk @@ -0,0 +1,107 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +# Makefile template for directories that contain Java unit tests. +# +# Before including this makefile, the following variables should be set: +# - PRJ, PRJNAME, TARGET +# - PACKAGE +# - JAVATESTFILES: the unit test classes; +# each one of the form <basename>.java; +# these java files must only define classes within the package corresponding +# to PACKAGE, the name of each defined (outer) class should end with "_Test" +# - JAVAFILES: optional java files, corresponding class files are generated +# that can be used when compiling or running the tests; +# each one of the form <basename>.java; +# these java files must only define classes within the package corresponding +# to PACKAGE, the name of each defined (outer) class should start with +# "Test" +# - IDLTESTFILES: optional idl files, corresponding class files are generated +# that can be used when compiling or running the tests; +# each one of the form <basename>.idl; +# these idl files must only define entities within the module corresponding +# to PACKAGE, the name of each defined entity should start with "Test" +# - JARFILES: optional jar files that can be used when compiling or running the +# tests; +# each one of the form <basename>.jar +# All generated class files are placed into <platform>/class/test/ instead of +# <platform>/class/, so that they are not accidentally included in jar files +# packed from <platform>/class/ subdirectories. + +TESTS := $(subst,.java,.test $(JAVATESTFILES)) +JAVAFILES +:= $(JAVATESTFILES) +JARFILES +:= OOoRunner.jar + +.INCLUDE: settings.mk + +.IF "$(XCLASSPATH)" == "" +XCLASSPATH := $(CLASSDIR) +.ELSE +XCLASSPATH !:= $(XCLASSPATH)$(PATH_SEPERATOR)$(CLASSDIR) +.ENDIF +CLASSDIR !:= $(CLASSDIR)/test + +.INCLUDE: target.mk + +ALLTAR: $(TESTS) + +$(JAVAFILES): $(MISC)/$(TARGET).classdir.flag + +$(MISC)/$(TARGET).classdir.flag: + - $(MKDIR) $(CLASSDIR) + $(TOUCH) $@ + +.IF "$(TESTS)" != "" +$(TESTS): $(JAVACLASSFILES) +.ENDIF + +%.test .PHONY: %.java + $(JAVAI) $(JAVAIFLAGS) $(JAVACPS) $(CLASSPATH) org.openoffice.Runner \ + -TestBase java_complex -NoOffice yes \ + -o $(subst,/,. $(subst,.test, $(PACKAGE).$@)) + +.IF "$(IDLTESTFILES)" != "" + +# The following dependency (to execute javac whenever javamaker has run) does +# not work reliably, see #i28827#: +$(JAVAFILES) $(JAVACLASSFILES): $(MISC)/$(TARGET).javamaker.flag + +$(MISC)/$(TARGET).javamaker.flag: $(MISC)/$(TARGET).rdb + $(JAVAMAKER) -O$(CLASSDIR) -BUCR -nD $< -X$(SOLARBINDIR)/types.rdb + $(TOUCH) $@ + +$(MISC)/$(TARGET).rdb .ERRREMOVE: \ + $(foreach,i,$(IDLTESTFILES) $(subst,.idl,.urd $(MISC)/$(TARGET)/$i)) + - rm $@ + $(REGMERGE) $@ /UCR $< + +$(foreach,i,$(IDLTESTFILES) $(subst,.idl,.urd $(MISC)/$(TARGET)/$i)): \ + $(IDLTESTFILES) + - $(MKDIR) $(MISC)/$(TARGET) + $(IDLC) -O$(MISC)/$(TARGET) -I$(SOLARIDLDIR) -cid -we $< + +.ENDIF |