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.

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]

Reply via email to