Okay, I got good reception on wanting to have a standalone torque, but none to the patch I submitted, so I'm giving it another go.
This time, it should be completely backwards compatibly with existing build techniques (and existing build.properties). I was very conservative and think what I put together should work well. Basically I default all output to the existing places, but then give properties that let the user override them before invoking Torque. I think this has the most applicability when using the -classpath targets; I just realized today what they do and it's very cool. So I currently have the torque-3.0-b2.jar in my lib.repo, so all I had to do was drop this modified build-torque.xml into my project dir and add the properties to make it read/write into the directories I wanted into the project.properties. I'm just a little bit concerned about conflicts of the templates in the jar. If enough people start doing this, shouldn't they be down in the classpath? Like instead of just /sql/base/Control.vm, /org/apache/torque/templates/sql/base/Control.vm? Besides the patch, I've also attached the project.properties and build.xml I'm using to link into Torque. Here's hoping for a better response. Or at least some response. :-) - Stephen
cvs diff src\conf\build-torque.xml (in directory C:\cvs\jakarta-turbine-torque\)
Index: src/conf/build-torque.xml
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-torque/src/conf/build-torque.xml,v
retrieving revision 1.30
diff -r1.30 build-torque.xml
2a3
> <property file="${user.home}/build.properties"/>
4,6c5,17
< <property name="build.properties" value="build.properties"/>
< <property file="${build.properties}"/>
< <property name="lib.dir" value="lib"/>
---
>
> <property name="torque.outputDirectory" value="${torque.home}/${outputDirectory}"/>
> <property name="torque.schemaDirectory" value="${torque.home}/${schemaDirectory}"/>
> <property name="torque.target.java.dir" value="${torque.outputDirectory}/java"/>
> <property name="torque.target.sql.dir" value="${torque.outputDirectory}/sql"/>
> <property name="torque.target.doc.dir" value="${torque.outputDirectory}/doc"/>
> <property name="torque.target.javadoc.dir"
>value="${torque.outputDirectory}/javadoc"/>
> <property name="torque.target.obj.dir" value="${torque.outputDirectory}/java/ojb"/>
> <property name="torque.target.build.dir" value="${torque.home}/bin/classes"/>
> <property name="torque.lib.dir" value="lib"/>
>
> <property name="torque.build.properties" value="build.properties"/>
> <property file="${torque.build.properties}"/>
11c22
< <fileset dir="${lib.dir}">
---
> <fileset dir="${torque.lib.dir}">
67c78
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
69c80
< outputDirectory="${torque.home}/${outputDirectory}/sql"
---
> outputDirectory="${torque.target.sql.dir}"
72c83
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
76c87
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
104c115
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
106c117
< outputDirectory="${torque.home}/${outputDirectory}/doc"
---
> outputDirectory="${torque.target.doc.dir}"
109c120
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
111c122
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
137c148
< outputDirectory="${torque.home}/${outputDirectory}/sql"
---
> outputDirectory="${torque.target.sql.dir}"
141c152
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
155c166
< src="${torque.home}/${outputDirectory}/sql/create-db.sql"
---
> src="${torque.target.sql.dir}/create-db.sql"
182,183c193,194
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
< srcDir="${torque.home}/${outputDirectory}/sql">
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
> srcDir="${torque.target.sql.dir}">
202c213
< <echo message=" taking build.properties from: ${build.properties}"/>
---
> <echo message=" taking build.properties from: ${torque.build.properties}"/>
216c227
< outputFile="${torque.home}/${outputDirectory}/schema.xml"
---
> outputFile="${torque.outputDirectory}/schema.xml"
235c246
< <echo message=" taking build.properties from: ${build.properties}"/>
---
> <echo message=" taking build.properties from: ${torque.build.properties}"/>
244c255
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
246c257
< outputDirectory="${torque.home}/${outputDirectory}"
---
> outputDirectory="${torque.outputDirectory}"
249,251c260,262
< xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
< dataXmlFile="${torque.home}/${schemaDirectory}/${project}-data.xml"
< dataDTD="${torque.home}/${schemaDirectory}/${project}-data.dtd"
---
> xmlFile="${torque.schemaDirectory}/${project}-schema.xml"
> dataXmlFile="${torque.schemaDirectory}/${project}-data.xml"
> dataDTD="${torque.schemaDirectory}/${project}-data.dtd"
253c264
< sqldbmap="${basedir}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
282,283c293,294
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
< outputDirectory="${torque.home}/${outputDirectory}/sql"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
> outputDirectory="${torque.target.sql.dir}"
286c297
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
307c318
< <echo message=" taking build.properties from: ${build.properties}"/>
---
> <echo message=" taking build.properties from: ${torque.build.properties}"/>
316c327
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
318c329
< outputDirectory="${torque.home}/${outputDirectory}"
---
> outputDirectory="${torque.outputDirectory}"
321c332
< xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
---
> xmlFile="${torque.schemaDirectory}/${project}-schema.xml"
354c365
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
356c367
< outputDirectory="${torque.home}/${outputDirectory}"
---
> outputDirectory="${torque.outputDirectory}"
359c370
< xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
---
> xmlFile="${torque.schemaDirectory}/${project}-schema.xml"
388c399
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
390c401
< outputDirectory="${torque.home}/${outputDirectory}/java"
---
> outputDirectory="${torque.target.java.dir}"
395c406
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
428c439
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
430c441
< outputDirectory="${torque.home}/${outputDirectory}/sql"
---
> outputDirectory="${torque.target.sql.dir}"
433c444
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
437c448
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
457c468
< <echo message=" taking build.properties from: ${build.properties}"/>
---
> <echo message=" taking build.properties from: ${torque.build.properties}"/>
466c477
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
468c479
< outputDirectory="${torque.home}/${outputDirectory}"
---
> outputDirectory="${torque.outputDirectory}"
471,473c482,484
< xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
< dataXmlFile="${torque.home}/${schemaDirectory}/${project}-data.xml"
< dataDTD="${torque.home}/${schemaDirectory}/${project}-data.dtd"
---
> xmlFile="${torque.schemaDirectory}/${project}-schema.xml"
> dataXmlFile="${torque.schemaDirectory}/${project}-data.xml"
> dataDTD="${torque.schemaDirectory}/${project}-data.dtd"
475c486
< sqldbmap="${basedir}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
503c514
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
505c516
< outputDirectory="${torque.home}/${outputDirectory}"
---
> outputDirectory="${torque.outputDirectory}"
508c519
< xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
---
> xmlFile="${torque.schemaDirectory}/${project}-schema.xml"
526c537
< <echo message=" taking build.properties from: ${build.properties}"/>
---
> <echo message=" taking build.properties from: ${torque.build.properties}"/>
535c546
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
537c548
< outputDirectory="${torque.home}/${outputDirectory}"
---
> outputDirectory="${torque.outputDirectory}"
540c551
< xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
---
> xmlFile="${torque.schemaDirectory}/${project}-schema.xml"
574c585
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
576c587
< outputDirectory="${torque.home}/${outputDirectory}/java"
---
> outputDirectory="${torque.target.java.dir}"
581c592
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
615c626
< outputDirectory="${torque.home}/${outputDirectory}/sql"
---
> outputDirectory="${torque.target.sql.dir}"
619c630
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
629c640
< src="${torque.home}/${outputDirectory}/sql/create-db.sql"
---
> src="${torque.target.sql.dir}/create-db.sql"
661,662c672,673
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
< outputDirectory="${torque.home}/${outputDirectory}/sql"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
> outputDirectory="${torque.target.sql.dir}"
665c676
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
694c705
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
696c707
< outputDirectory="${torque.home}/${outputDirectory}/doc"
---
> outputDirectory="${torque.target.doc.dir}"
699c710
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
701c712
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
720,721c731,732
< <property name="src.dir" value="${outputDirectory}/java"/>
< <property name="build.dest" value="bin/classes"/>
---
> <property name="src.dir" value="${torque.target.java.dir}"/>
> <property name="build.dest" value="${torque.target.build.dir}"/>
771c782
< <mkdir dir="${torque.home}/${outputDirectory}/javadoc"/>
---
> <mkdir dir="${torque.target.javadoc.dir}"/>
774c785
< sourcepath="${torque.home}/${outputDirectory}"
---
> sourcepath="${torque.target.java.dir}"
776c787
< destdir="${outputDirectory}/javadoc"
---
> destdir="${torque.target.javadoc.dir}"
807c818
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
811c822
< outputDirectory="${torque.home}/${outputDirectory}/ojb"
---
> outputDirectory="${torque.target.ojb.dir}"
813c824
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
815c826
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
837c848
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
843c854
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
845c856
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
867c878
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
873c884
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
875c886
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
897c908
< contextProperties="${build.properties}"
---
> contextProperties="${torque.build.properties}"
903c914
< sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
---
> sqldbmap="${torque.target.sql.dir}/sqldb.map"
905c916
< <fileset dir="${torque.home}/${schemaDirectory}">
---
> <fileset dir="${torque.schemaDirectory}">
*****CVS exited normally with code 1*****
<?xml version="1.0"?>
<project name="maven" default="war" basedir=".">
<property file="${user.home}/build.properties"/>
<property file="build.properties"/>
<property file="project.properties"/>
<!-- Tie Torque into Maven -->
<property name="maven.core.callback.pre-compile.buildFile" value="build-torque.xml"/>
<property name="maven.core.callback.pre-compile.buildTarget" value="main-classpath"/>
<!-- property name="maven.core.callback.pre-clean.buildFile" value="build-torque.xml"/ -->
<!-- property name="maven.core.callback.pre-clean.buildTarget" value="clean"/ -->
<!-- Use the cool exportAll-enabled Ant task -->
<taskdef name="maven-ant" classname="org.apache.maven.ant.Ant">
<classpath>
<pathelement location="${lib.repo}/maven.jar"/>
</classpath>
</taskdef>
<!-- Make sure we copy the gdss-pipeline.xml file over to the destination dir. -->
<property name="maven.core.callback.post-compile.buildFile" value="${basedir}/build.xml"/>
<property name="maven.core.callback.post-compile.buildTarget" value="copy-pipeline"/>
<target name="copy-pipeline">
<copy file="src/conf/gdss-pipeline.xml" todir="target/classes/com/mobiledecisions/gdss"/>
<!-- jar destfile="target/${maven.j2ee.war.name}" update="true"></jar -->
</target>
<target name="war">
<maven-ant antfile="${maven.home}/plugins/j2ee/build.xml" target="war" exportAll="true"/>
<unjar src="target/upgdss.war" dest="target/webapp"/>
<echo message="${maven.src.dir}"/>
</target>
<!-- maven:start -->
<target name="maven:iutest">
<ant antfile="${maven.home}/plugins/iutest/build.xml" target="iutest"/>
</target>
<target name="maven:update-jars">
<ant antfile="${maven.home}/plugins/core/build.xml" target="update-jars"/>
</target>
<target name="maven:docs">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="docs"/>
</target>
<target name="maven:cvs-change-log">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="cvs-change-log"/>
</target>
<target name="maven:compile">
<ant antfile="${maven.home}/plugins/core/build.xml" target="compile"/>
</target>
<target name="maven:pdf">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="pdf"/>
</target>
<target name="maven:validate-war">
<ant antfile="${maven.home}/plugins/j2ee/build.xml" target="validate-war"/>
</target>
<target name="maven:env">
<ant antfile="${maven.home}/plugins/core/build.xml" target="env"/>
</target>
<target name="maven:deploy-site">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="deploy-site"/>
</target>
<target name="maven:gump-descriptor">
<ant antfile="${maven.home}/plugins/core/build.xml" target="gump-descriptor"/>
</target>
<target name="maven:announce">
<ant antfile="${maven.home}/plugins/core/build.xml" target="announce"/>
</target>
<target name="maven:install-jar">
<ant antfile="${maven.home}/plugins/core/build.xml" target="install-jar"/>
</target>
<target name="maven:war">
<ant antfile="${maven.home}/plugins/j2ee/build.xml" target="war"/>
</target>
<target name="maven:dist">
<ant antfile="${maven.home}/plugins/core/build.xml" target="dist"/>
</target>
<target name="maven:task-list">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="task-list"/>
</target>
<target name="maven:javadocs">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="javadocs"/>
</target>
<target name="maven:run-singletest">
<ant antfile="${maven.home}/plugins/test/build.xml" target="run-singletest"/>
</target>
<target name="maven:jar">
<ant antfile="${maven.home}/plugins/core/build.xml" target="jar"/>
</target>
<target name="maven:docs-quick">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="docs-quick"/>
</target>
<target name="maven:validate-pom">
<ant antfile="${maven.home}/plugins/core/build.xml" target="validate-pom"/>
</target>
<target name="maven:ear">
<ant antfile="${maven.home}/plugins/j2ee/build.xml" target="ear"/>
</target>
<target name="maven:test">
<ant antfile="${maven.home}/plugins/test/build.xml" target="test"/>
</target>
<target name="maven:deploy-dist">
<ant antfile="${maven.home}/plugins/core/build.xml" target="deploy-dist"/>
</target>
<target name="maven:maven-update">
<ant antfile="${maven.home}/plugins/core/build.xml" target="maven-update"/>
</target>
<target name="maven:generate-reactor">
<ant antfile="${maven.home}/plugins/reactor/build.xml" target="generate-reactor"/>
</target>
<target name="maven:fo">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="fo"/>
</target>
<target name="maven:clean">
<ant antfile="${maven.home}/plugins/core/build.xml" target="clean"/>
</target>
<target name="maven:site">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="site"/>
</target>
<target name="maven:dist-build">
<ant antfile="${maven.home}/plugins/core/build.xml" target="dist-build"/>
</target>
<target name="maven:cross-ref">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="cross-ref"/>
</target>
<target name="maven:activity-log">
<ant antfile="${maven.home}/plugins/docs/build.xml" target="activity-log"/>
</target>
<target name="maven:verify-project">
<ant antfile="${maven.home}/plugins/core/build.xml" target="verify-project"/>
</target>
<target name="maven:metrics">
<ant antfile="${maven.home}/plugins/metrics/build.xml" target="metrics"/>
</target>
<target name="maven:check-source">
<ant antfile="${maven.home}/plugins/core/build.xml" target="check-source"/>
</target>
<!-- maven:end -->
<!-- torque:start -->
<target name="torque:main">
<ant antfile="build-torque.xml" target="main-classpath"/>
</target>
<target name="torque:sql">
<ant antfile="build-torque.xml" target="sql-classpath"/>
</target>
<target name="torque:doc">
<ant antfile="build-torque.xml" target="doc-classpath"/>
</target>
<target name="torque:create-db">
<ant antfile="build-torque.xml" target="create-db-classpath"/>
</target>
<target name="torque:insert-sql">
<ant antfile="build-torque.xml" target="insert-sql-classpath"/>
</target>
<target name="torque:jdbc">
<ant antfile="build-torque.xml" target="jdbc-classpath"/>
</target>
<target name="torque:datasql">
<ant antfile="build-torque.xml" target="datasql-classpath"/>
</target>
<target name="torque:id-table-init-sql">
<ant antfile="build-torque.xml" target="id-table-init-sql-classpath"/>
</target>
<target name="torque:datadump">
<ant antfile="build-torque.xml" target="datadump-classpath"/>
</target>
<target name="torque:datadtd">
<ant antfile="build-torque.xml" target="datadtd-classpath"/>
</target>
<target name="torque:om">
<ant antfile="build-torque.xml" target="om-classpath"/>
</target>
<target name="torque:sql2xml">
<ant antfile="build-torque.xml" target="sql2xml-classpath"/>
</target>
<target name="torque:ojb-repository">
<ant antfile="build-torque.xml" target="ojb-repository-classpath"/>
</target>
<target name="torque:ojb-model">
<ant antfile="build-torque.xml" target="ojb-model-classpath"/>
</target>
<target name="torque:clean">
<!-- ant antfile="build-torque.xml" target="clean"/-->
</target>
<!-- torque:end -->
</project>
project.properties
Description: Binary data
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
