--- Matt Benson <[EMAIL PROTECTED]> wrote: > Pardon the top post, all. > > We have had trouble here and there with the > difference > between "no resources specified" (an error to be > reported) and "no resources found" (usu. ignore and > continue). This sounds like that kind of situation > and I will try to look into it. > > As for your question about an easy way to check the > size of a fileset, Ant 1.7 shipped with the > <resourcecount> task/condition for just this > purpose.
Note that this issue is fixed in svn trunk as of now. br, Matt > > HTH, > Matt > > --- John Shott <[EMAIL PROTECTED]> wrote: > > > Steve: > > > > Thanks for your informative response and your > > suspicion that I may have > > a problem with the size() of my fileset. > > > > Since I can't seem to find a simple method of > trying > > to test the size of > > my fileset, in advance of my call of the sql task, > > I've now tried to > > modify my target to first create a fileset, then > > created a property > > based on a pathcovert of that fileset, and then > > tried to run the sql > > task based on a test of that property. While this > > looks a little ugly > > and kludgey, it was the only way (I thought) to > make > > sure that I was > > guaranteed to not run the sql task if the fileset > > was empty. > > > > My current target that includes the sql task now > > looks like: > > > > <!-- build.xml snippet starts here --> > > > > <target name="loadStoredProcedures"> > > <basename property="this.user" > > file="${this.dir}"/> > > <echo message="Loading stored procedures from > > ${this.dir}."/> > > <fileset dir="${this.dir}" id="this.fileset"> > > <include name="*.sql"/> > > <modified> > > <param name="cache.cachefile" > > value="config/.sql${sfx}.properties"/> > > </modified> > > </fileset> > > <!-- The following path convert is a trick to > > simply set a property --> > > <!-- named ${new.files} only if there are any > > files to be processed --> > > <!-- in refid="this.fileset". --> > > <pathconvert property="new.files" > > refid="this.fileset" > > setonempty="false" targetos="unix"/> > > <if> <isset property="new.files"/> > > <then> > > <echo message="Property new.files is set > to > > ${new.files}."/> > > <sql driver="${jdbc_driver_class}" > > url="${jdbc_url}" > > userid="${this.user}" > > password="${coral.db.password}" > > keepformat="true" delimiter="/" > > escapeprocessing="false" > > print="true" > > onerror="continue"> > > <fileset refid="this.fileset"/> > > <classpath> > > <pathelement > > location="${build.dir}/ext/${jdbc.jar}"/> > > </classpath> > > </sql> > > </then> > > </if> > > </target> > > > > <!-- build.xml snippet ends here --> > > > > I still believe that I am still seeing a failure > > during the sql task and > > have included what I believe to be the relevant > > results of the call 'ant > > -debug loadStoredProcedures 2>&1 | tee > > sql_debug.log' > > > > Apache Ant version 1.7.0 compiled on December 13 > > 2006 > > Buildfile: build.xml > > Adding reference: ant.PropertyHelper > > Detected Java version: 1.5 in: > > /usr/java/jdk1.5.0_14/jre > > Detected OS: Linux > > Finding class net.sf.antcontrib.logic.IfTask > > Loaded from /opencoral/ext/ant/ant-contrib-0.6.jar > > > net/sf/antcontrib/logic/IfTask > > .class > > Class > > > org.apache.tools.ant.taskdefs.condition.ConditionBase > > loaded from > > parent lo > > ader (parentFirst) > > Class net.sf.antcontrib.logic.IfTask loaded from > ant > > loader (parentFirst) > > Finding class > net.sf.antcontrib.logic.IfTask$ElseIf > > Loaded from /opencoral/ext/ant/ant-contrib-0.6.jar > > > net/sf/antcontrib/logic/IfTask > > $ElseIf.class > > Class net.sf.antcontrib.logic.IfTask$ElseIf loaded > > from ant loader > > (parentFirst) > > +Datatype if net.sf.antcontrib.logic.IfTask > > > > loadStoredProcedures: > > Setting project property: this.user -> accmgr > > [echo] Loading stored procedures from > > /opencoral/build-rhel4/sql/storedProce > > dures/accmgr. > > Adding reference: this.fileset > > fileset: Setup scanner in dir > > /opencoral/build-rhel4/sql/storedProcedures/accmgr > > with patternSet{ includes: [*.sql] excludes: [] } > > [pathconvert] Set property new.files = > > /opencoral/build-rhel4/sql/storedProcedure > > > s/accmgr/accounting_summary_source.sql:/opencoral/build-rhel4/sql/storedProcedure > > > s/accmgr/load_rates_source.sql:/opencoral/build-rhel4/sql/storedProcedures/accmgr > > > /raw_accounting_source.sql:/opencoral/build-rhel4/sql/storedProcedures/accmgr/usa > > ge_summary_source.sql > > Setting project property: new.files -> > > /opencoral/build-rhel4/sql/storedProcedure > > > s/accmgr/accounting_summary_source.sql:/opencoral/build-rhel4/sql/storedProcedure > > > s/accmgr/load_rates_source.sql:/opencoral/build-rhel4/sql/storedProcedures/accmgr > > > /raw_accounting_source.sql:/opencoral/build-rhel4/sql/storedProcedures/accmgr/usa > > ge_summary_source.sql > > [echo] Property new.files is set to > > /opencoral/build-rhel4/sql/storedProcedu > > > res/accmgr/accounting_summary_source.sql:/opencoral/build-rhel4/sql/storedProcedu > > > res/accmgr/load_rates_source.sql:/opencoral/build-rhel4/sql/storedProcedures/accm > > > gr/raw_accounting_source.sql:/opencoral/build-rhel4/sql/storedProcedures/accmgr/u > > sage_summary_source.sql. > > fileset: Setup scanner in dir > > /opencoral/build-rhel4/sql/storedProcedures/accmgr > > with patternSet{ includes: [*.sql] excludes: [] } > > [antcall] Exiting /opencoral/build.xml. > > > > BUILD FAILED > > /opencoral/build.xml:1571: The following error > > occurred while executing > > this line > > : > > /opencoral/build.xml:1594: Source file or resource > > collection, > > transactions or sq > > l statement must be set! > > at > > > org.apache.tools.ant.ProjectHelper.addLocationToBuildException(Project > > Helper.java:541) > > at > > > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:418) > > at > > > org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > > Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > > ava:39) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62) > > at > > > net.sf.antcontrib.logic.ForEach.executeSequential(Unknown > > Source) > > at > > net.sf.antcontrib.logic.ForEach.execute(Unknown > > Source) > > at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > > at > > > sun.reflect.GeneratedMethodAccessor2.invoke(Unknown > > Source) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.Target.execute(Target.java:357) > > at > > > org.apache.tools.ant.Target.performTasks(Target.java:385) > > at > > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > > at > > > org.apache.tools.ant.Project.executeTarget(Project.java:1298) > > at > > > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExec > > utor.java:41) > > at > > > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > > at > > org.apache.tools.ant.Main.runBuild(Main.java:698) > > at > > org.apache.tools.ant.Main.startAnt(Main.java:199) > > at > > > org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) > > at > > > org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) > > Caused by: /opencoral/build.xml:1594: Source file > or > > resource > > collection, transac > > tions or sql statement must be set! > > at > > > org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:390) > > at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > > at > > > sun.reflect.GeneratedMethodAccessor2.invoke(Unknown > > Source) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62) > > at > > net.sf.antcontrib.logic.IfTask.execute(Unknown > > Source) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > > Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > > ava:39) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > > org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:134) > > at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > > at > > > sun.reflect.GeneratedMethodAccessor2.invoke(Unknown > > Source) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.Target.execute(Target.java:357) > > at > > > org.apache.tools.ant.Target.performTasks(Target.java:385) > > at > > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > > at > > > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleC > > heckExecutor.java:38) > > at > > > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > > at > > > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) > > ... 26 more > > --- Nested Exception --- > > /opencoral/build.xml:1594: Source file or resource > > collection, > > transactions or sq > > l statement must be set! > > at > > > org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:390) > > at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > > at > > > sun.reflect.GeneratedMethodAccessor2.invoke(Unknown > > Source) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62) > > at > > net.sf.antcontrib.logic.IfTask.execute(Unknown > > Source) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > > Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > > ava:39) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > > org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:134) > > at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > > at > > > sun.reflect.GeneratedMethodAccessor2.invoke(Unknown > > Source) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.Target.execute(Target.java:357) > > at > > > org.apache.tools.ant.Target.performTasks(Target.java:385) > > at > > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > > at > > > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleC > > heckExecutor.java:38) > > at > > > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > > at > > > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) > > at > > > org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > > Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > > ava:39) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62) > > at > > > net.sf.antcontrib.logic.ForEach.executeSequential(Unknown > > Source) > > at > > net.sf.antcontrib.logic.ForEach.execute(Unknown > > Source) > > at > > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > > at > > > sun.reflect.GeneratedMethodAccessor2.invoke(Unknown > > Source) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > > orImpl.java:25) > > at > > java.lang.reflect.Method.invoke(Method.java:585) > > at > > > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java > > :105) > > at > > org.apache.tools.ant.Task.perform(Task.java:348) > > at > > > org.apache.tools.ant.Target.execute(Target.java:357) > > at > > > org.apache.tools.ant.Target.performTasks(Target.java:385) > > at > > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > > at > > > org.apache.tools.ant.Project.executeTarget(Project.java:1298) > > at > > > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExec > > utor.java:41) > > at > > > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > > at > > org.apache.tools.ant.Main.runBuild(Main.java:698) > > at > > org.apache.tools.ant.Main.startAnt(Main.java:199) > > at > > > org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) > > at > > > org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) > > > > Total time: 5 seconds > > > > So, it looks, based on my pathcovert ${new.files} > > property that it > > thinks that the fileset should contain 4 files. > > But, I still seem to be > > generating an error when I try to load that > fileset > > as a "refid" fileset. > > > > Any insights or further tests .... or cleaner ways > > of testing for a > > non-empty fileset .... would be greatly > appreciated. > > > > Thanks, > > > > John > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > For additional commands, e-mail: > > [EMAIL PROTECTED] > > > > > > > > > ____________________________________________________________________________________ > Never miss a thing. Make Yahoo your home page. > http://www.yahoo.com/r/hs > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]