git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@720862 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -565,6 +565,11 @@ Other changes: | |||
| process proceed if an error occurs. | |||
| Bugzilla Report 36260. | |||
| * <xslt> has a new attribute failOnNoResources that can be used to | |||
| make the build fail/continue if the collection of resources to | |||
| transform is empty. | |||
| Bugzilla Report 46274. | |||
| Changes from Ant 1.7.0 TO Ant 1.7.1 | |||
| ============================================= | |||
| @@ -247,6 +247,14 @@ element which is used to perform Entity and URI resolution.</p> | |||
| <em>Since Ant 1.8.0</em>.</td> | |||
| <td valign="top" align="center">No, default is true.</td> | |||
| </tr> | |||
| <tr> | |||
| <td valign="top">failOnNoResources</td> | |||
| <td valign="top">Whether the build should fail if the nested | |||
| resource collection is empty. Note that this attribute has no | |||
| effect of <code>failOnError</code> is false. | |||
| <em>Since Ant 1.8.0</em>.</td> | |||
| <td valign="top" align="center">No, default is true.</td> | |||
| </tr> | |||
| </table> | |||
| <h3>Parameters specified as nested elements</h3> | |||
| @@ -190,6 +190,14 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { | |||
| */ | |||
| private boolean failOnError = true; | |||
| /** | |||
| * Whether the build should fail if the nested resource collection | |||
| * is empty. | |||
| * | |||
| * @since Ant 1.8.0 | |||
| */ | |||
| private boolean failOnNoResources = true; | |||
| /** | |||
| * Creates a new XSLTProcess Task. | |||
| */ | |||
| @@ -389,7 +397,9 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { | |||
| } | |||
| } else { // only resource collections, there better be some | |||
| if (resources.size() == 0) { | |||
| handleError("no resources specified"); | |||
| if (failOnNoResources) { | |||
| handleError("no resources specified"); | |||
| } | |||
| return; | |||
| } | |||
| } | |||
| @@ -576,6 +586,15 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { | |||
| failOnError = b; | |||
| } | |||
| /** | |||
| * Whether the build should fail if the nested resource collection is empty. | |||
| * | |||
| * @since Ant 1.8.0 | |||
| */ | |||
| public void setFailOnNoResources(boolean b) { | |||
| failOnNoResources = b; | |||
| } | |||
| /** | |||
| * Load processor here instead of in setProcessor - this will be | |||
| * called from within execute, so we have access to the latest | |||
| @@ -91,7 +91,7 @@ undefined='<xsl:value-of select="$undefined"/>' | |||
| </au:expectfailure> | |||
| </target> | |||
| <target name="testTransformationError"> | |||
| <target name="testTransformationError" depends="setUp"> | |||
| <au:expectfailure expectedmessage="Fatal error during transformation"> | |||
| <xslt in="${legacy.dir}/../input.stdin" | |||
| out="${output}/out.xml" | |||
| @@ -100,7 +100,7 @@ undefined='<xsl:value-of select="$undefined"/>' | |||
| </au:expectfailure> | |||
| </target> | |||
| <target name="testTransformationErrorNoFail"> | |||
| <target name="testTransformationErrorNoFail" depends="setUp"> | |||
| <xslt in="${legacy.dir}/../input.stdin" | |||
| out="${output}/out.xml" | |||
| style="${legacy.dir}/printParams.xsl" | |||
| @@ -108,7 +108,7 @@ undefined='<xsl:value-of select="$undefined"/>' | |||
| <au:assertFileDoesntExist file="${output}/out.xml"/> | |||
| </target> | |||
| <target name="testTransformationErrorNoFailOnTransformation"> | |||
| <target name="testTransformationErrorNoFailOnTransformation" depends="setUp"> | |||
| <xslt in="${legacy.dir}/../input.stdin" | |||
| out="${output}/out.xml" | |||
| style="${legacy.dir}/printParams.xsl" | |||
| @@ -116,4 +116,34 @@ undefined='<xsl:value-of select="$undefined"/>' | |||
| <au:assertFileDoesntExist file="${output}/out.xml"/> | |||
| </target> | |||
| <target name="testNoResources" depends="setUp"> | |||
| <au:expectfailure expectedmessage="no resources specified"> | |||
| <xslt destdir="${output}" style="${legacy.dir}/printParams.xsl" | |||
| useImplicitFileset="false"> | |||
| <fileset dir="."> | |||
| <include name="I don't exist"/> | |||
| </fileset> | |||
| </xslt> | |||
| </au:expectfailure> | |||
| </target> | |||
| <target name="testNoResourcesNoFail" depends="setUp"> | |||
| <xslt destdir="${output}" style="${legacy.dir}/printParams.xsl" | |||
| useImplicitFileset="false" | |||
| failOnNoResources="false"> | |||
| <fileset dir="."> | |||
| <include name="I don't exist"/> | |||
| </fileset> | |||
| </xslt> | |||
| </target> | |||
| <target name="testNoResourcesNoError" depends="setUp"> | |||
| <xslt destdir="${output}" style="${legacy.dir}/printParams.xsl" | |||
| useImplicitFileset="false" | |||
| failOnError="false"> | |||
| <fileset dir="."> | |||
| <include name="I don't exist"/> | |||
| </fileset> | |||
| </xslt> | |||
| </target> | |||
| </project> | |||