Re: building errors
"Shash Chatterjee" <[email protected]>
| Newsgroups | gmane.comp.java.keel.user |
|---|---|
| Message-ID | <[email protected]> |
Peter, This is likely my fault, resulting from a change I did to support using Keel as a "binary distribution". I say "likely" since the errors I am getting are a little bit different, but I think it is the same issue. I have attached the two files that need to be in keel-build/import, since you won't see it change in CVS until tomorrow. HTH, Shash > Hello all, > > I had some errors during building keel from CVS. > > I had the following error messages in series: > 1. > keel_module:containermeta: > [echo] Collecting Fortress meta-info for keel-core ... > > BUILD FAILED > > G:\projects\keel\keel-build\build.xml:43: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:135: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:168: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:149: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:190: Following error occured > while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:306: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:102: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:282: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:117: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-module.xml:173: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-module.xml:72: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-module.xml:139: > G:\projects\keel\keel-core\build\lib not found. > > 2. > keel_module:containermeta: > [echo] Collecting Fortress meta-info for keel-core ... > > BUILD FAILED > > G:\projects\keel\keel-build\build.xml:43: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:135: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:168: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:149: Following error occured > while executing this line > G:\projects\keel\keel-build\build.xml:190: Following error occured > while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:306: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:102: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:282: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-iterate.xml:117: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-module.xml:173: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-module.xml:72: Following > error occured while executing this line > G:\projects\keel\keel-build\import\keel-module.xml:139: > G:\projects\keel\keel-container\build\lib not found. > > Each of them I've solved by manual copying libraries > from keel\keel-core\lib to keel\keel-core\build\lib > and > from keel\keel-container\lib to keel\keel-container\build\lib > > Seemingly the task that copyes libs to build/libs is missed by I cant > say where it should be. > > -- > Best regards, > Peter Velychko > [email protected] > > _______________________________________________ > User mailing list > [email protected] > http://lists.keelframework.org/listinfo.cgi/user-keelframework.org
keel-build-bin-app.xml
(text/xml, 4.1 KB)
<!--
**************************************************************************
*
* Copyright (c) 2002-2004, The Keel Group, Ltd. All rights reserved.
*
* This software is made available under the terms of the license found
* in the LICENSE file, included with this source code. The license can
* also be found at: http://www.keelframework.org/LICENSE
*
**************************************************************************
-->
<!--
**************************************************************************
This ant project is meant to be imported by a top level build script,
specifically, a Keel app-* application subsystem.
**************************************************************************
-->
<project name="keel_build_bin_app" default="nocall">
<import file="keel-util.xml"/>
<import file="keel-module.xml"/>
<import file="keel-assemble-server.xml"/>
<import file="keel-assemble-client.xml"/>
<import file="keel-run.xml"/>
<import file="keel-test.xml"/>
<import file="keel-bundle-server.xml"/>
<import file="keel-bundle-client.xml"/>
<import file="keel-deploy.xml"/>
<import file="keel-dist.xml"/>
<import file="keel-tools-download.xml"/>
<import file="keel-tools-install.xml"/>
<!-- Read properties shared by ALL Keel build files -->
<property file="${user.home}/.ant.properties"/>
<property file="${keelmodule}/local-ant.properties" />
<property file="${keelmodule}/ant.properties"/>
<property file="${keel-build}/local-ant.properties"/>
<property file="${keel-build}/ant.properties"/>
<!-- Read properties shared by all Keel build files, except the top-level build.xml -->
<property file="${keel-build}/ant-keel-sub.properties"/>
<!-- For a binary build, all JARs are together: override the standard classpath in keel_module.xml -->
<target name="keel_module:setupclasspath">
<path id="keelmodule.classpathset">
<!-- Include every jar in the "lib" sub-directory in the classpath -->
<fileset dir="${keel-server-dist}/lib">
<include name="*.jar"/>
</fileset>
</path>
<property name="keelmodule.classpath" refid="keelmodule.classpathset"/>
</target>
<!-- For a binary build, all JARs are together: override the standard classpath in keel_module.xml -->
<target name="keel_module:containermetasetup">
<path id="metacollector.classpath">
<!-- Include every jar in the "lib" sub-directory in the classpath -->
<fileset dir="${keel-server-dist}/lib">
<include name="*.jar"/>
</fileset>
</path>
</target>
<target name="keel:build">
<antcall target="keel_module:build"/>
</target>
<target name="keel:jar" depends="keel:build">
<antcall target="keel_module:jar"/>
</target>
<target name="keel:assemble" depends="keel:jar">
<mkdir dir="install/temp" />
<antcall target="keel:assemble_server"/>
<antcall target="keel:assemble_client"/>
</target>
<target name="keel:assemble_server" depends="keel:jar">
<antcall target="keel_assemble_server:install"/>
<antcall target="keel_assemble_server:install_with_dist"/>
</target>
<target name="keel:assemble_client" depends="keel:jar">
<antcall target="keel_assemble_client:install"/>
<antcall target="keel_assemble_client:install_with_dist"/>
</target>
<target name="keel:bundle" depends="keel:jar">
<mkdir dir="install/temp" />
<antcall target="keel:bundle_server"/>
<antcall target="keel:bundle_client"/>
</target>
<target name="keel:bundle_server">
<antcall target="keel_bundle_server:bundle"/>
</target>
<target name="keel:bundle_client">
<antcall target="keel_bundle_client:bundle_with_dist"/>
</target>
<target name="keel:deploy">
<antcall target="keel_deploy:deploy"/>
</target>
<target name="keel:assemble_deploy">
<antcall target="keel:assemble"/>
<antcall target="keel:bundle"/>
<antcall target="keel:deploy"/>
</target>
<target name="assemble-deploy">
<antcall target="keel:assemble_deploy"/>
</target>
</project>
keel-module.xml
(text/xml, 28.1 KB)
<!--
**************************************************************************
*
* Copyright (c) 2002-2004, The Keel Group, Ltd. All rights reserved.
*
* This software is made available under the terms of the license found
* in the LICENSE file, included with this source code. The license can
* also be found at: http://www.keelframework.org/LICENSE
*
**************************************************************************
-->
<!--
**************************************************************************
This ant project is meant to be imported by a top level build script. This
set of targets is meant to be used to generate all the server/client-side
artifacts by each Keel module: JARs, container meta data, persistence meta-data
etc. The targets here are meant to be iterated over by a "custom.xml" Ant script
that iterates over all the required modules for a particular deployment.
**************************************************************************
-->
<project name="keel_module" default="nocall">
<import file="keel-module-doc.xml"/>
<!--
============================================================================
Setup the classpath used for compiling the source for a module.
This is geared for app-* and svc-* modules, all the other module types
need to override this target as appropriate
============================================================================
-->
<target name="keel_module:setupclasspath">
<path id="keelmodule.classpathset">
<!-- Include every jar in the "lib" sub-directory of the module -->
<fileset dir="${keelmodule.lib}">
<include name="*.jar"/>
</fileset>
<!-- Include every jar in the "lib" sub-directory of Keel common -->
<fileset dir="${keel-common.build.lib}">
<include name="*.jar"/>
</fileset>
<!-- Include every jar in the "lib" sub-directory of Keel core -->
<fileset dir="${keel-core.build.lib}">
<include name="*.jar"/>
</fileset>
<!-- Include every jar in the "lib" sub-directory of Keel container -->
<fileset dir="${keel-container.build.lib}">
<include name="*.jar"/>
</fileset>
</path>
<property name="keelmodule.classpath" refid="keelmodule.classpathset"/>
</target>
<!--
****************************************************************************
Compile src/test java, extract container/persistence/model meta,
copy non-java files to output dir
****************************************************************************
-->
<target name="keel_module:build"
description="Compile src/test java, extract container/persistence/model meta, copy non-java files to output dir"
depends="keel:readdeploy,keel_module:checkbuild,keel_module:checkmeta"
unless="build.notRequired">
<mkdir dir="${keelmodule.lib}"/>
<mkdir dir="${keelmodule.build.java}"/>
<antcall target="keel_module:compilesources"/>
<condition property="compile.tests" value="true">
<available file="${keelmodule.src.test}" type="dir"/>
</condition>
<antcall target="keel_module:compiletests"/>
<antcall target="keel_module:containermeta"/>
<antcall target="keel_module:xdocletmeta"/>
<antcall target="keel_module:copynonjava"/>
</target>
<!--
****************************************************************************
Compile source .java files
****************************************************************************
-->
<target name="keel_module:compilesources"
depends="keel_module:setupclasspath,keel_module:setupclover"
description="Compile spurce .java files">
<javac source="1.4"
srcdir="${keelmodule.src.java}"
destdir="${keelmodule.build.java}"
includes="**/*.java"
classpath="${keelmodule.classpath}"
debug="${javac.debug}"
optimize="${javac.optimize}"
deprecation="${javac.deprecation}"
verbose="${javac.verbose}"
/>
</target>
<!--
****************************************************************************
Compile test .java files
****************************************************************************
-->
<target name="keel_module:compiletests" if="compile.tests"
depends="keel_module:setupclasspath"
description="Compile test .java files">
<javac source="1.4" srcdir="${keelmodule.src.test}" destdir="${keelmodule.build.java}"
includes="**/*.java"
classpath="${keelmodule.classpath}"
debug="${javac.debug}" optimize="${javac.optimize}"
deprecation="${javac.deprecation}" verbose="${javac.verbose}"/>
</target>
<!--
============================================================================
If with.clover is specified, then setup for Clover test-covberage instrumentation
============================================================================
-->
<target name="keel_module:setupclover" if="with.clover">
<taskdef resource="clovertasks"/>
<typedef resource="clovertypes"/>
<clover-format id="std.format" srclevel="true" type="pdf"/>
<clover-format id="bw.format" bw="true" srclevel="true" type="pdf"/>
<property name="format" value="std.format"/>
<mkdir dir="${keel.test.clover}/${deploy.name}"/>
<mkdir dir="${keel.test.clover}/${deploy.name}/data"/>
<copy file="${keel-build}/lib/clover.jar" todir="${keel.install.lib.dir}" verbose="true"/>
<copy file="${keel-build}/lib/clover.jar" todir="${keel.install.clientlib.dir}" verbose="true"/>
<clover-setup initString="${keel.test.clover}/${deploy.name}/data/mycoverage.db"/>
</target>
<!--
****************************************************************************
Collects meta-information from source Javadoc tags
****************************************************************************
-->
<target name="keel_module:containermetasetup">
<path id="metacollector.classpath">
<!-- Include every jar in the "lib" sub-directory of Keel server -->
<fileset dir="${keel-common}/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${keel-core}/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${keel-container}/lib">
<include name="*.jar"/>
</fileset>
</path>
</target>
<target name="keel_module:containermeta" if="do.rolesmeta" unless="meta.is.uptodate.with.src"
description="Collects meta-information from source Javadoc tags">
<echo message="Collecting Fortress meta-info for ${keelmodule.name} ..."/>
<antcall target="keel_module:containermetasetup"/>
<taskdef name="collect-metainfo"
classname="org.apache.avalon.fortress.tools.ComponentMetaInfoCollector">
<classpath refid="metacollector.classpath"/>
</taskdef>
<mkdir dir="${keelmodule.build.java}"/>
<!-- Compile this sub-systems .java files -->
<collect-metainfo destdir="${keelmodule.build.java}">
<fileset dir="${keelmodule.src.java}"/>
<fileset dir="${keelmodule.src.test}"/>
</collect-metainfo>
</target>
<!--
****************************************************************************
Target to copy non-Java files into build directory so that
resources (such as properties, etc.) can be included in JAR
****************************************************************************
-->
<target name="keel_module:copynonjava" unless="dont.copy.nonjavafiles"
description="Copy non-java files to build directory">
<copy todir="${keelmodule.build.java}">
<fileset dir="${keelmodule.src.java}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<!--
****************************************************************************
Create JAR file for the current application and
copy JARs from module/lib to build/lib
****************************************************************************
-->
<target name="keel_module:jar" unless="build.notRequired"
description="Create a JAR, copy JARs from module/lib to build/lib">
<antcall target="keel_module:build"/>
<antcall target="keel_module:serverjar"/>
<antcall target="keel_module:clientjar"/>
<antcall target="keel_module:copyserverjars"/>
<antcall target="keel_module:copyclientjars"/>
</target>
<!--
============================================================================
Create the Keel server-side JAR for this module
============================================================================
-->
<target name="keel_module:serverjar" depends="keel_module:fixjarname">
<mkdir dir="${keelmodule.build.lib}"/>
<jar jarfile="${betterjarname}"
basedir="${keelmodule.build.java}"
excludes="**/*.java,**/package.html" update="false" index="true"
description="Keel ${keelmodule.name} Subsystem Classes ${keelmodule.version}"
/>
</target>
<!--
============================================================================
Copy out all the server-side JARs created/supplied by this module
============================================================================
-->
<target name="keel_module:copyserverjars">
<mkdir dir="${keelmodule.build.lib}"/>
<copy todir="${keelmodule.build.lib}">
<fileset dir="${keelmodule.lib}">
<include name="*.jar"/>
</fileset>
</copy>
</target>
<!--
============================================================================
Create the Keel client-side JAR for this module
Most modules don't need this, therefore by default this just creates a dir
modules that do this, need to override this target
============================================================================
-->
<target name="keel_module:clientjar">
<mkdir dir="${keelmodule.build.clientlib}"/>
</target>
<!--
============================================================================
Copy out all the client-side JARs created/supplied by this module
============================================================================
-->
<target name="keel_module:copyclientjars">
<mkdir dir="${keelmodule.build.clientlib}"/>
</target>
<!--
============================================================================
Top-level target for all the XDoclet meta extraction
============================================================================
-->
<target name="keel_module:xdocletmeta" if="do.xdoclet" unless="jar.is.uptodate.with.src">
<delete>
<fileset dir="${keelmodule.conf}">
<include name="*-persist-system.xconf"/>
<include name="*-model-system.xconf"/>
</fileset>
</delete>
<property name="xdoclet.root.dir" value="${keel-build}/deploy/${xdoclet.name}"/>
<property file="${xdoclet.root.dir}/build.properties"/>
<property name="lib.dir" value="${xdoclet.root.dir}/lib"/>
<property name="dist.lib.dir" value="${lib.dir}"/>
<path id="xdoclet.class.path">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${dist.lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<taskdef
name="jdodoclet"
classname="xdoclet.modules.jdo.JdoDocletTask"
classpathref="xdoclet.class.path"
/>
<taskdef
name="persistdoclet"
classname="xdoclet.modules.persist.PersistDocletTask"
classpathref="xdoclet.class.path"
/>
<taskdef
name="modeldoclet"
classname="xdoclet.modules.model.ModelDocletTask"
classpathref="xdoclet.class.path"
/>
<antcall target="keel_module:xdocletjdo" />
<antcall target="keel_module:xdocletpersist"/>
<antcall target="keel_module:xdocletmodel"/>
</target>
<!--
============================================================================
Extract JDO meta-data
============================================================================
-->
<target name="keel_module:xdocletjdo" if="do.xdoclet.jdo" unless="build.notRequired">
<echo message="Creating JDO Service configuration via XDoclet"/>
<jdodoclet
destdir="${keelmodule.build.java}"
mergedir="${keelmodule.conf}"
excludedtags="@version,@author,@todo"
addedtags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"
force="false"
verbose="false">
<fileset dir="${keelmodule.src.java}">
<include name="**/*.java"/>
</fileset>
<fileset dir="${keelmodule.src.test}">
<include name="**/*.java"/>
</fileset>
<jdometadata project="metadata" generation="project"/>
<triactive/>
</jdodoclet>
</target>
<!--
============================================================================
Extract Peristence meta-data
============================================================================
-->
<target name="keel_module:xdocletpersist" if="has.persistmeta">
<echo message="Creating Default Persistence Service configuration via XDoclet"/>
<persistdoclet
destdir="${keelmodule.build.java}"
mergedir="${keelmodule.conf}"
excludedtags="@version,@author,@todo,@see"
addedtags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"
force="false"
verbose="true">
<fileset dir="${keelmodule.src.java}">
<include name="**/*.java"/>
</fileset>
<fileset dir="${keelmodule.src.test}">
<include name="**/*.java"/>
</fileset>
<persist version="2.0"/>
</persistdoclet>
<copy todir="${keelmodule.conf}" flatten="true" overwrite="true">
<fileset dir="${keelmodule.build.java}">
<include name="**/*-persist-system.xconf"/>
</fileset>
</copy>
</target>
<!--
============================================================================
Extract Model meta-data
============================================================================
-->
<target name="keel_module:xdocletmodel" if="do.xdoclet.model">
<echo message="Creating Model configuration via XDoclet"/>
<modeldoclet
destdir="${keelmodule.build.java}"
mergedir="${keelmodule.conf}"
excludedtags="@version,@author,@todo,@see"
addedtags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"
force="false"
verbose="true">
<model version="2.0"/>
<fileset dir="${keelmodule.src.java}">
<include name="**/*.java"/>
</fileset>
<fileset dir="${keelmodule.src.test}">
<include name="**/*.java"/>
</fileset>
</modeldoclet>
<copy todir="${keelmodule.conf}" flatten="true" overwrite="true">
<fileset dir="${keelmodule.build.java}">
<include name="**/*-model-system.xconf"/>
</fileset>
</copy>
</target>
<!--
****************************************************************************
Shortcut assemble and deploy target, to be used when the assemble step on
one or more Keel subsystems has been done manually.
****************************************************************************
-->
<target name="shortcut-assemble-deploy">
<antcall target="keel_module:fad"/>
</target>
<target name="keel_module:fad"
description="Assemble just this module, and install/deploy entire Keel system">
<antcall target="keel_module:build"/>
<antcall target="keel_assemble_server:install"/>
<antcall target="keel_assemble_client:install"/>
<!-- We need to disable passing of properties to the called ant script,
so that it can use it's own subsystem properties. However, we do pass
the deployment name so that we are not prompted again -->
<ant antfile="${basedir}/build.xml" target="keel:bundle" inheritAll="false">
<property name="deploy.name" value="${deploy.name}"/>
</ant>
<ant antfile="${basedir}/build.xml" target="keel:deploy" inheritAll="false">
<property name="deploy.name" value="${deploy.name}"/>
</ant>
</target>
<!--
****************************************************************************
Cleans up all files from local build directory
****************************************************************************
-->
<target name="keel_module:clean"
description="Clean all files created by this module">
<delete failonerror="false">
<fileset dir="${keelmodule.conf}" includes="*-persist-system.xconf" />
<fileset dir="${keelmodule.conf}" includes="*-model-system.xconf"/>
<fileset dir="${keelmodule.conf}" includes="*-hibernate-system.xconf"/>
<fileset dir="${keelmodule.build}" includes="**/*"/>
</delete>
</target>
<!--
****************************************************************************
This installs the generated Javadoc for this subsystem
****************************************************************************
-->
<target name="install-javadoc" description="Installs javadoc documentation">
<mkdir dir="${keel.install.javadoc.dir}/${keelmodule.name}"/>
<copy todir="${keel.install.javadoc.dir}/${keelmodule.name}">
<fileset dir="${keelmodule.build.javadoc}">
<include name="**/*"/>
</fileset>
</copy>
</target>
<!--
****************************************************************************
This copies all the files this subsys needs to supply for a source release
****************************************************************************
-->
<target name="keel_module:releasesrc">
<copy
todir="${keelmodule.release.dir}/${release.bundle}/${keelmodule.name}">
<fileset dir="${keelmodule}">
<exclude name="**/.*"/>
<exclude name="**/build/"/>
<exclude name="**/CVS"/>
</fileset>
</copy>
</target>
<!--
============================================================================
Use JUnitDoclet to create test stubs for all public methods in module
============================================================================
-->
<target name="junitdoclet">
<javadoc
source="1.4"
packagenames="org.keel.*,org.apache.*"
classpath="${keelmodule.classpath}"
sourcepath="${keelmodule.src.java}"
defaultexcludes = "yes"
doclet = "com.objectfab.tools.junitdoclet.JUnitDoclet"
docletpath="${keel-build}/lib/JUnitDoclet.jar"
additionalparam = "-d ${keelmodule.src.test} -buildall">
</javadoc>
</target>
<!--
============================================================================
A utility target to clean up JAR names. Normally a module called x gets a JAR
name of keel-x, but modules starting with a kell become keel-keel-x, this target
cleans that up.
============================================================================
-->
<target name="keel_module:fixjarname">
<condition property="betterjarname" value="${keelmodule.build}/lib/keel-common-${module.version}.jar">
<equals arg1="${keelmodule.name}" arg2="keel-common"/>
</condition>
<condition property="betterjarname" value="${keelmodule.build}/lib/keel-core-${module.version}.jar">
<equals arg1="${keelmodule.name}" arg2="keel-core"/>
</condition>
<condition property="betterjarname" value="${keelmodule.build}/lib/keel-container-${module.version}.jar">
<equals arg1="${keelmodule.name}" arg2="keel-container"/>
</condition>
<condition property="betterjarname" value="${keelmodule.build}/lib/keel-server-${module.version}.jar">
<equals arg1="${keelmodule.name}" arg2="keel-server"/>
</condition>
<condition property="betterjarname" value="${keelmodule.build}/lib/keel-client-${module.version}.jar">
<equals arg1="${keelmodule.name}" arg2="keel-client"/>
</condition>
<condition property="betterjarname" value="${keelmodule.build}/lib/${keelmodule.jar.name}.jar">
<not>
<isset property="betterjarname"/>
</not>
</condition>
</target>
<!--
============================================================================
Extra-smart dependency checker....makes build a lot faster by skipping
compiles and meta generattion. Checks that the JAR is newer than source,
as well as a meta-file. otherwise sets a property thar forces recompile
============================================================================
-->
<target name="keel_module:checkbuild" depends="keel_module:fixjarname">
<uptodate property="jar.is.uptodate.with.src">
<srcfiles dir= "${keelmodule.src}" includes="**/*"/>
<mapper type="merge" to="${betterjarname}"/>
</uptodate>
<uptodate property="meta.is.uptodate.with.src">
<srcfiles dir= "${keelmodule.src}" includes="**/*.java"/>
<mapper type="merge" to="${keelmodule.build}/classes/services.list"/>
</uptodate>
<condition property="build.notRequired">
<and>
<isset property="jar.is.uptodate.with.src"/>
<isset property="meta.is.uptodate.with.src"/>
</and>
</condition>
<!-- Uncomment below for additional debugging -->
<!--
<echo>
***** Uptodate check for ${betterjarname} in ${keelmodule.name} *****
Property jar.is.uptodate.with.src for ${keelmodule.name} is ${jar.is.uptodate.with.src}
Property meta.is.uptodate.with.src/do.rolesmeta for ${keelmodule.name} is ${meta.is.uptodate.with.src}/${do.rolesmeta}
Property build.notRequired for ${keelmodule.name} is ${build.notRequired}
</echo>
-->
</target>
<!--
============================================================================
Extra-smart dependency checker....makes build a lot faster by skipping
meta generation if (with user-defined properties) a module indicates it does
not have meta-data to be extracted.
============================================================================
-->
<target name="keel_module:checkmeta">
<condition property="do.rolesmeta" value="true">
<and>
<not>
<or>
<istrue value="${dont.create.rolesmeta}"/>
<and>
<isset property="has.servicemeta"/>
<isfalse value="${has.servicemeta}"/>
</and>
</or>
</not>
</and>
</condition>
<condition property="do.xdoclet.model" value="true">
<and>
<not>
<istrue value="${dont.create.modelmeta}"/>
</not>
<istrue value="${has.modelmeta}"/>
</and>
</condition>
<condition property="do.xdoclet.jdo" value="true">
<and>
<istrue value="${has.persistmeta}"/>
<istrue value="${service.jdo}"/>
</and>
</condition>
<condition property="do.xdoclet" value="true">
<and>
<not>
<istrue value="${dont.create.persistmeta}"/>
</not>
<or>
<istrue value="${has.persistmeta}"/>
<istrue value="${do.xdoclet.jdo}"/>
<istrue value="${do.xdoclet.model}"/>
</or>
</and>
</condition>
<!--
<echo>
***** Meta-generation check for ${keelmodule.name} *****
Roles meta - ${do.rolesmeta}
Model meta - ${do.xdoclet.model}
Persistence meta - ${has.persistmeta}
JDO meta - ${do.xdoclet.jdo}
XDoclet - ${do.xdoclet}
</echo>
-->
</target>
<!--
****************************************************************************
Runs functional (anteater) tests for module
****************************************************************************
-->
<target name="keel_module:anteater"
depends="keel:readdeploy"
description="Runs functional (anteater) tests for module">
<echo message="Checking for functional tests for ${keelmodule.name}"/>
<available file="${keelmodule}/test.xml" property="test.xml.exists"/>
<condition property="unixtype">
<os family="unix"/>
</condition>
<antcall target="keel_module:runanteater"/>
</target>
<target name="keel_module:runanteater" if="test.xml.exists">
<antcall target="keel_module:anteaterunixtype"/>
<antcall target="keel_module:anteaterwindowstype"/>
</target>
<target name="keel_module:anteaterunixtype" if="unixtype">
<exec executable="${anteater.path}/bin/anteater" failonerror="true">
<arg line="-Ddeploy.name=${deploy.name} -f ${keelmodule}/test.xml"/>
</exec>
</target>
<target name="keel_module:anteaterwindowstype" unless="unixtype">
<exec executable="cmd.exe" failonerror="true">
<arg line="/c ${anteater.path}/bin/anteater.bat -Ddeploy.name=${deploy.name} -f ${keelmodule}/test.xml"/>
</exec>
</target>
<!--
============================================================================
Runs all unit tests for current module
============================================================================
-->
<target name="unittests">
<antcall target="keel_module:unittests"/>
</target>
<target name="keel_module:unittests"
description="Run JUnit tests for this module"
depends="keel:readdeploy,keel_run:runclasspath">
<fileset dir="${keelmodule.build.java}" id="junitfileset">
<include name="**/*Suite*.class"/>
<include name="**/*Tests*.class"/>
</fileset>
<runjunit/>
</target>
<!--
============================================================================
Runs a single unit test for current module
============================================================================
-->
<target name="unittest">
<antcall target="keel_module:unittest"/>
</target>
<target name="keel_module:unittest"
description="Run single JUnit test for this module"
depends="keel:readdeploy,keel_run:runclasspath">
<fail message="No test specified; please specify one with -Dtest=xxxx" unless="test"/>
<fileset dir="${keelmodule.build.java}" id="junitfileset">
<include name="**/${test}.class"/>
</fileset>
<runjunit/>
</target>
</project>