I thought, <import> statement would processed earlier ...
But I played a little bit and it seems that this would work:
1. The buildfile creates a second buildfile with your sql-oracle target
- extract the static stuff into two files (prepend,append)
BTW: I used properties in the sql-append.txt for Ant and Oracle...
- generate the <transaction> lines from your sample.sql file using
regexp's
- copy these three parts together
2. Import the just created buildfile
You call that (master)buildfile as used....
>Part of my requirement is to call the "SQL" task only once and
>add as many "<transaction>" elements as the number of lines in
>"sample.sql".
>
>Note: "Sample.sql" contains other sql file names as mentioned
>in my first e-mail.
So here are my example files (I commented the <sql> statement and used
an <echo> instead)
build.xml
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
<project>
<macrodef name="buildSQL">
<sequential>
<copy file="sample.sql" tofile="sql.txt" overwrite="true"/>
<replaceregexp
file="sql.txt"
match="(.*)"
replace=" <transaction src="\1"/>"
byline="true"
/>
<move file="sql.txt" tofile="sql.xml">
<filterchain>
<concatfilter prepend="sql-prepend.txt"
append="sql-append.txt"/>
</filterchain>
</move>
</sequential>
</macrodef>
<buildSQL/>
<import file="sql.xml"/>
</project>
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
sql-prepend.txt
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
<project name="callOracle">
<target name="sql-oracle">
<echo>SQL-Oracle</echo>
<!--
<sql
driver="oracle.jdbc.driver.OracleDriver"
delimiter="/"
delimitertype="row"
keepformat="true"
url="jdbc:oracle:thin:@${machine_name}:1521:${database_Instance_name}"
userid="${user_name}"
password="${password}"
>
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
sql-append.txt
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
<classpath>
<pathelement location="${oracle.home}/jdbc/lib/classes12.jar"/>
<fileset dir="${ant.home}/lib">
<include name="**/*.jar"/>
</fileset>
</classpath>
</sql>
-->
</target>
</project>
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
sample.sql
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
release\Country.sql
release\State.sql
release\City.sql
---8-<-------8-<-------8-<-------8-<-------8-<-------8-<-------8-<------
-8-<----
Test run:
C:\tmp\ant-createProject>ant sql-oracle
Buildfile: build.xml
[copy] Copying 1 file to C:\tmp\ant-createProject
[move] Moving 1 file to C:\tmp\ant-createProject
sql-oracle:
[echo] SQL-Oracle
BUILD SUCCESSFUL
Total time: 0 seconds
Jan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]