次を使用してbuild.xml
、親から子を呼び出しています。build.xml
subant
<target name="deploy-vc-orgstr">
<subant target="deploy" failonerror="true">
<fileset dir="${orgstr.vc.home}" includes="build.xml"/>
</subant>
</target>
子の build.xml からコンパイル エラーが発生しても、親のビルドに BUILD SUCCESSFUL と表示されます。ログに、ターゲット「deploy-vc-orgstr」のビルド中にコンパイル エラーが表示されます。
子ビルドの失敗時に親ビルドを失敗させる方法は?
実際には、2 つのターゲットが定義されています。
target: deploy-vc-orgstr
target: deploy
ターゲット「deploy-vc-orgstr」の取得が失敗した場合、ターゲット「デプロイ」も失敗する必要があります。
私のbuild.xmlは次のとおりです。
<?xml version="1.0" encoding="windows-1252" ?>
<!--Ant buildfile generated by Oracle JDeveloper-->
<!--Generated Nov 1, 2012 5:00:36 PM-->
<project name="SafetyExcellenceManagementSystem" default="deploy" basedir=".">
<property file="build.properties"/>
<!--Change to include model build Starts -->
<target name="deploy-vc-orgstr">
<subant target="deploy" failonerror="true">
<fileset dir="${orgstr.vc.home}" includes="*/build.xml"/>
</subant>
</target>
<target name="init">
<tstamp/>
<mkdir dir="${output.dir}"/>
</target>
<target name="deploy" description="Deploy JDeveloper profiles"
depends="init,deploy-vc-orgstr">
<taskdef name="ojdeploy"
classname="oracle.jdeveloper.deploy.ant.OJDeployAntTask"
uri="oraclelib:OJDeployAntTask"
classpath="${oracle.jdeveloper.ant.library}"/>
<ora:ojdeploy xmlns:ora="oraclelib:OJDeployAntTask"
executable="${oracle.jdeveloper.ojdeploy.path}"
ora:buildscript="${oracle.jdeveloper.deploy.dir}/ojdeploy-build.xml"
ora:statuslog="${oracle.jdeveloper.deploy.dir}/ojdeploy-statuslog.xml">
<ora:deploy>
<ora:parameter name="workspace"
value="${oracle.jdeveloper.workspace.path}"/>
<ora:parameter name="profile"
value="${oracle.jdeveloper.deploy.profile.name}"/>
<!--ora:parameter name="nocompile" value="true"/-->
<ora:parameter name="outputfile"
value="${oracle.jdeveloper.deploy.outputfile}"/>
</ora:deploy>
</ora:ojdeploy>
</target>
</project>