Author: antonio Date: Thu Dec 30 22:15:59 2004 New Revision: 123772 URL: http://svn.apache.org/viewcvs?view=rev&rev=123772 Log: Use macrodef Modified: cocoon/branches/BRANCH_2_1_X/tools/ide/eclipse/blocks-classpath.xsl
Modified: cocoon/branches/BRANCH_2_1_X/tools/ide/eclipse/blocks-classpath.xsl Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/tools/ide/eclipse/blocks-classpath.xsl?view=diff&rev=123772&p1=cocoon/branches/BRANCH_2_1_X/tools/ide/eclipse/blocks-classpath.xsl&r1=123771&p2=cocoon/branches/BRANCH_2_1_X/tools/ide/eclipse/blocks-classpath.xsl&r2=123772 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/tools/ide/eclipse/blocks-classpath.xsl (original) +++ cocoon/branches/BRANCH_2_1_X/tools/ide/eclipse/blocks-classpath.xsl Thu Dec 30 22:15:59 2004 @@ -23,6 +23,101 @@ <xsl:template match="/"> <project default="generate-customized-eclipse-project" basedir="." name="blocks-eclipse"> <description>Autogenerated Ant build file that builds customized eclipse project for selected blocks.</description> + + <macrodef name="test-include-block"> + <attribute name="name"/> + <sequential> + <condition property="[EMAIL PROTECTED]"> + <not> + <istrue value="[EMAIL PROTECTED]"/> + </not> + </condition> + <condition property="[EMAIL PROTECTED]"> + <isfalse value="[EMAIL PROTECTED]"/> + </condition> + </sequential> + </macrodef> + + <macrodef name="eclipseclasspath-block"> + <attribute name="name"/> + <sequential> + <!-- block src and test directory --> + <if> + <available file="${{blocks}}/@{{name}}/java" type="dir"/> + <then> + <path id="[EMAIL PROTECTED]"> + <dirset dir="${{blocks}}/@{{name}}"> + <include name="java"/> + <include name="test"/> + </dirset> + </path> + <property name="[EMAIL PROTECTED]" refid="[EMAIL PROTECTED]"/> + <replace file="${{build.temp}}/classpath-temp.xml" + token="@eclipse-src@" value="[EMAIL PROTECTED]@eclipse-src@"/> + </then> + </if> + <!-- block mocks directory --> + <if> + <available file="${{blocks}}/@{{name}}/mocks" type="dir"/> + <then> + <path id="[EMAIL PROTECTED]"> + <dirset dir="${{blocks}}/@{{name}}"> + <include name="**/mocks"/> + </dirset> + </path> + <property name="[EMAIL PROTECTED]" refid="[EMAIL PROTECTED]"/> + <replace file="${{build.temp}}/classpath-temp.xml" + token="@eclipse-mocks@" value="[EMAIL PROTECTED]@eclipse-mocks@"/> + </then> + </if> + <!-- block lib directory (deprecated) --> + <if> + <available file="${{blocks}}/@{{name}}/lib" type="dir"/> + <then> + <path id="[EMAIL PROTECTED]"> + <fileset dir="${{blocks}}/@{{name}}"> + <include name="**/*.jar"/> + </fileset> + </path> + <property name="[EMAIL PROTECTED]" refid="[EMAIL PROTECTED]"/> + <replace file="${{build.temp}}/classpath-temp.xml" + token="@eclipse-libs@" value="[EMAIL PROTECTED]@eclipse-libs@"/> + </then> + </if> + </sequential> + </macrodef> + + <macrodef name="include-lib-block"> + <attribute name="name"/> + <attribute name="lib-name"/> + <sequential> + <if> + <not> + <istrue value="[EMAIL PROTECTED]"/> + </not> + <then> + <property name="[EMAIL PROTECTED]" value="true"/> + <path id="[EMAIL PROTECTED]@{{lib-name}}"> + <fileset dir="${{lib.optional}}"> + <include name="@{{lib-name}}*.jar"/> + </fileset> + </path> + <property name="[EMAIL PROTECTED]@{{lib-name}}" refid="[EMAIL PROTECTED]@{{lib-name}}"/> + <!-- The new lib cannot be empty --> + <if> + <not> + <equals arg1="[EMAIL PROTECTED]@{{lib-name}}}}" arg2=""/> + </not> + <then> + <replace file="${{build.temp}}/classpath-temp.xml" + token="@eclipse-libs@" value="[EMAIL PROTECTED]@[EMAIL PROTECTED]@"/> + </then> + </if> + </then> + </if> + </sequential> + </macrodef> + <xsl:apply-templates select="module"/> </project> </xsl:template> @@ -34,14 +129,7 @@ <target name="init"> <xsl:for-each select="$cocoon-blocks"> <xsl:variable name="block-name" select="substring-after(@name,'cocoon-block-')"/> - <condition property="include.block.{$block-name}"> - <not> - <istrue value="${{exclude.block.{$block-name}}}"/> - </not> - </condition> - <condition property="internal.exclude.block.{$block-name}"> - <isfalse value="${{include.block.{$block-name}}}"/> - </condition> + <test-include-block name="{$block-name}"/> </xsl:for-each> <!-- prepare the various paths that will form the project --> @@ -156,77 +244,11 @@ <xsl:variable name="cocoon-block-dependencies" select="depend[starts-with(@project,'cocoon-block-')]"/> <target name="[EMAIL PROTECTED]" unless="internal.exclude.block.{$block-name}"> - <!-- block src and test directory --> - <if> - <available file="${{blocks}}/{$block-name}/java" type="dir"/> - <then> - <path id="src-{$block-name}"> - <dirset dir="${{blocks}}/{$block-name}"> - <include name="java"/> - <include name="test"/> - </dirset> - </path> - <property name="src-{$block-name}" refid="src-{$block-name}"/> - <replace file="${{build.temp}}/classpath-temp.xml" - token="@eclipse-src@" value="[EMAIL PROTECTED]@"/> - </then> - </if> - <!-- block mocks directory --> - <if> - <available file="${{blocks}}/{$block-name}/mocks" type="dir"/> - <then> - <path id="mocks-{$block-name}"> - <dirset dir="${{blocks}}/{$block-name}"> - <include name="**/mocks"/> - </dirset> - </path> - <property name="mocks-{$block-name}" refid="mocks-{$block-name}"/> - <replace file="${{build.temp}}/classpath-temp.xml" - token="@eclipse-mocks@" value="[EMAIL PROTECTED]@"/> - </then> - </if> - - <!-- block lib directory (deprecated) --> - <if> - <available file="${{blocks}}/{$block-name}/lib" type="dir"/> - <then> - <path id="lib-{$block-name}"> - <fileset dir="${{blocks}}/{$block-name}"> - <include name="**/*.jar"/> - </fileset> - </path> - <property name="lib-{$block-name}" refid="lib-{$block-name}"/> - <replace file="${{build.temp}}/classpath-temp.xml" - token="@eclipse-libs@" value="[EMAIL PROTECTED]@"/> - </then> - </if> + <eclipseclasspath-block name="{$block-name}"/> <!-- Add optional libraries used by this block --> <xsl:if test="library[not(@bundle='false')]"> <xsl:for-each select="library[not(@bundle='false')]"> - <if> - <not> - <istrue value="[EMAIL PROTECTED]"/> - </not> - <then> - <property name="[EMAIL PROTECTED]" value="true"/> - <path id="[EMAIL PROTECTED]"> - <fileset dir="${{lib.optional}}"> - <include name="[EMAIL PROTECTED]"/> - </fileset> - </path> - <property name="[EMAIL PROTECTED]" refid="[EMAIL PROTECTED]"/> - <!-- The new lib cannot be empty --> - <if> - <not> - <equals arg1="[EMAIL PROTECTED]" arg2=""/> - </not> - <then> - <replace file="${{build.temp}}/classpath-temp.xml" - token="@eclipse-libs@" value="[EMAIL PROTECTED]@eclipse-libs@"/> - </then> - </if> - </then> - </if> + <include-lib-block name="{$block-name}" lib-name="[EMAIL PROTECTED]"/> </xsl:for-each> </xsl:if> </target>