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>

Attachment: project.properties
Description: Binary data

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to