Ant-скрипт, чтобы игнорировать определенную часть XML - PullRequest
1 голос
/ 20 апреля 2011

в следующем XML-файле при выполнении сценария ant появляется сообщение об ошибке C: \ Work \ 6.70_Extensions \ ANTScripts_Check_IN.xml: 134: Не удалось создать задачу или тип: buildmachine4.

<?xml version="1.0"?>

<project name="TrueCM_Checks" default="help">
        <taskdef name="CFileEdit" classname="com.ANT_Tasks.CFileEdit"/>


<!-- ========================================================== -->
<!--  init                                                      -->
<!-- ========================================================== -->
    <target name="init">
        <property file="..\Master Build.properties"/>
        <property file="TrueCM.properties"/>
    </target>


<!-- ========================================================== -->
<!--  main                                                      -->
<!-- ========================================================== -->
        <target name="main" depends="init">

            <ant antfile="..\Master Build.xml" target="Print Properties"/>

            <tstamp>
                <format property="BUILD_DATE" pattern="d-MMMM-yyyy hh:mm aa" locale="US"/>
            </tstamp>

            <echo message="BUILD START: ${BUILD_DATE}"/>

            <parallel>
                <antcall target="Check IN Master Build.xml"/>
                <antcall target="Check IN Master Build.properties"/>
                <antcall target="Check IN TrueCM_Check_INOUT.xml"/>
                <antcall target="Check IN TrueCM.properties"/>
                <antcall target="Check IN TrueCM_SnapShots.xml"/>
                <antcall target="Check IN TrueCM_Update.xml"/>
                <antcall target="Check IN ANTScripts_Check_IN.xml"/>
            </parallel>


            <tstamp>
                <format property="BUILD_DATE" pattern="d-MMMM-yyyy hh:mm aa" locale="US"/>
            </tstamp>

            <echo message="BUILD END: ${BUILD_DATE}"/>

        </target>


        <target name="Check IN Master Build.xml">
            <echo>Checking IN Master Build.xml;</echo>
            <exec executable="${TrueCM_App}\${TrueCM_Mode}"   failonerror="true">

                <arg line='-I "C:/Work/${TrueCM_Tip}/release/SASE Lab Tools/ANT Builds/Master Build.xml"'/>
            </exec>

        </target>

...
...



<!-- ========================================================== -->
<!--  Check Out                                                 -->
<!-- ========================================================== -->
    <buildmachine4>
        <checkout1 exe="wco" folder='-f -R "C:/Work/6.70_Extensions/ANT Builds/"'/>
        <checkout2 exe="wco" folder='-f -R "C:/Work/7.00_Extensions/ANT Builds/"'/> 
    </buildmachine4>
    <buildmachine5> 
        <checkout3 exe="wco" folder='-f -R "C:/Work/7.10.00_Tip/ANT Builds/"'/>
    </buildmachine5>    
</project>

ошибка из-за <buildmachine4> и <buildmachine5>. Как я могу гарантировать, что он будет игнорировать <buildmachine4> и <buildmachine5>? содержит параметр для моего пользовательского интерфейса.

1 Ответ

1 голос
/ 20 апреля 2011

Теги buildmachine не определены в вашем файле сборки.

Если вы хотите сделать buildmachine допустимыми задачами ant, вам нужно определить их как задачу (http://ant.apache.org/manual/Tasks/taskdef.html) и использовать их внутри цели.

  <taskdef name="buildmachine4" classname="com.mydomain.BuildmachineTask"/>

В противном случае вам, возможно, придется раскомментировать эти строки

<!--buildmachine4>
        <checkout1 exe="wco" folder='-f -R "C:/Work/6.70_Extensions/ANT Builds/"'/>
        <checkout2 exe="wco" folder='-f -R "C:/Work/7.00_Extensions/ANT Builds/"'/> 
    </buildmachine4>
    <buildmachine5> 
        <checkout3 exe="wco" folder='-f -R "C:/Work/7.10.00_Tip/ANT Builds/"'/>
    </buildmachine5-->  

Это все, что я могу придумать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...