crossley 2003/03/05 04:17:15
Modified: . build.xml Log: Move validate-config stuff into their own targets. Allow them to be switched off via build.properties Revision Changes Path 1.353 +53 -42 xml-cocoon2/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/xml-cocoon2/build.xml,v retrieving revision 1.352 retrieving revision 1.353 diff -u -r1.352 -r1.353 --- build.xml 5 Mar 2003 08:11:21 -0000 1.352 +++ build.xml 5 Mar 2003 12:17:15 -0000 1.353 @@ -129,6 +129,10 @@ <!-- A task to patch xml files --> <taskdef name="xpatch" classname="XConfToolTask" classpath="${tools.tasks.dest}"/> + <!-- Jing is used in various targets for XML validation with RELAX NG --> + <taskdef name="jing" classname="com.thaiopensource.relaxng.util.JingTask" + classpathref="classpath"/> + </target> <!-- Preparation Targets =================================================== --> @@ -148,26 +152,6 @@ <echo>+-------------------------------------------------------------------------------+</echo> <mkdir dir="${build}"/> - - <!-- Jing is used in various build targets for XML validation - with RELAX NG --> - <taskdef name="jing" classname="com.thaiopensource.relaxng.util.JingTask" - classpathref="classpath"/> - - <!-- Validate some important core config. Do default config files here, - then do them again after the blocks have been processed. --> - <jing rngfile="./src/webapp/WEB-INF/entities/any.rng"> - <fileset dir="./src/webapp/WEB-INF" includes="cocoon.xconf"/> - </jing> - <jing rngfile="./src/webapp/WEB-INF/entities/roles-v01.rng"> - <fileset dir="./src/java/org/apache/cocoon" includes="cocoon.roles"/> - </jing> -<!-- FIXME: recent sitemap changes have broken validation - <jing rngfile="${build.webapp}/WEB-INF/entities/sitemap-v06.rng"> - <fileset dir="./src/webapp" includes="sitemap.xmap"/> - </jing> ---> - </target> <!-- Prepare the build directories --> @@ -182,7 +166,7 @@ <target name="compile" depends="compile-core, compile-scratchpad, compile-deprecated"/> <!-- compiles the core --> - <target name="compile-core" depends="prepare-core"> + <target name="compile-core" depends="validate-core-config,prepare-core"> <!-- copy those files that need to be in the classpath --> <copy todir="${build.dest}"> @@ -646,25 +630,7 @@ <xpatch directory="${deprecated.conf}" extension="xconf" configuration="${build.webapp}/WEB-INF/cocoon.xconf"/> </target> - <target name="webapp" depends="prepare-webapp,prepare-webapp-samples,prepare-webapp-deprecated"> - - <!-- Validate some important core config. --> - <jing rngfile="${build.webapp}/WEB-INF/entities/any.rng"> - <fileset dir="${build.webapp}/WEB-INF" includes="cocoon.xconf"/> - </jing> -<!-- FIXME: precept.xroles has a new un-defined attribute "default-hint" - which is breaking validation. - <jing rngfile="${build.webapp}/WEB-INF/entities/roles-v01.rng"> - <fileset dir="${build}/classes/org/apache/cocoon" - includes="cocoon.roles"/> - </jing> ---> -<!-- FIXME: recent sitemap changes have broken validation - <jing rngfile="${build.webapp}/WEB-INF/entities/sitemap-v06.rng"> - <fileset dir="${build.webapp}" includes="sitemap.xmap"/> - </jing> ---> - </target> + <target name="webapp" depends="prepare-webapp,prepare-webapp-samples,prepare-webapp-deprecated,validate-config"/> <target name="war" depends="webapp"> <!-- A task to create manifest for webapp. --> @@ -711,6 +677,51 @@ </xslt> </target> + <!-- Validate some important default core configuration files. Process the + default config files here, then do them again later in validate-config + after the blocks have been processed and fragments added. + --> + <target name="validate-core-config" depends="prepare" + description="Validation of default core configuration files using RELAX NG" + if="validate.config"> + <echo message="Conducting validation of default core configuration files."/> + <echo message="(You can turn validation off if you must - comment out the validate.config property in build.properties)"/> + <jing rngfile="./src/webapp/WEB-INF/entities/any.rng"> + <fileset dir="./src/webapp/WEB-INF" includes="cocoon.xconf"/> + </jing> + <jing rngfile="./src/webapp/WEB-INF/entities/roles-v01.rng"> + <fileset dir="./src/java/org/apache/cocoon" includes="cocoon.roles"/> + </jing> +<!-- FIXME: recent sitemap changes have broken validation + <jing rngfile="${build.webapp}/WEB-INF/entities/sitemap-v06.rng"> + <fileset dir="./src/webapp" includes="sitemap.xmap"/> + </jing> +--> + </target> + + <!-- Validate some important final configuration files. At this stage + the fragments from blocks have been added to the default core config. + --> + <target name="validate-config" if="validate.config"> + <echo message="Conducting validation of final configuration files."/> + <echo message="(You can turn validation off if you must - comment out the validate.config property in build.properties)"/> + <jing rngfile="${build.webapp}/WEB-INF/entities/any.rng"> + <fileset dir="${build.webapp}/WEB-INF" includes="cocoon.xconf"/> + </jing> +<!-- FIXME: precept.xroles has a new un-defined attribute "default-hint" + which is breaking validation. + <jing rngfile="${build.webapp}/WEB-INF/entities/roles-v01.rng"> + <fileset dir="${build}/classes/org/apache/cocoon" + includes="cocoon.roles"/> + </jing> +--> +<!-- FIXME: recent sitemap changes have broken validation + <jing rngfile="${build.webapp}/WEB-INF/entities/sitemap-v06.rng"> + <fileset dir="${build.webapp}" includes="sitemap.xmap"/> + </jing> +--> + </target> + <!-- Validation of xdocs --> <!-- This only does documentation/xdocs/**.xml and does not attempt to do webapps, blocks, java, etc. because most of their xdocs do not bother @@ -720,7 +731,7 @@ depends="prepare-docs" if="validate.xdocs"> <echo message="Conducting validation of core XML documentation."/> - <echo message="(You can turn validation off if you must, commenting out the validate.xdocs property)"/> + <echo message="(You can turn validation off if you must - comment out the validate.xdocs property in build.properties)"/> <echo message="Validating all **/book.xml instances using RELAX NG ..."/> <jing rngfile="${webapp}/WEB-INF/entities/book-v01.rng">