Pedro Salgado wrote:
Another problem: The classpath element should include all of the libs required to run xdoclet (not only the xdoclet*.jar, but also xjavadoc and the dependencies like commons-collections, etc)... Since I don�t really know the dependencies it is better to include all stuff on the ojb/lib directory.
<path id="classpath.ojb"> <fileset dir="${tool.ojb}/lib"> <include name="**/*.jar"/> </fileset> </path>
Yes, but it does so in every build file in OJB ?! That's the common way to specify the classpath with Ant.
The rest well... Your property file seems to have made wonders but... I think it bypassed the problems (this good... in a way). Still:
- the database name that I insert on your cvs build.properties must exist because otherwise I get a SQLException on executing the target create-db, - the SQLException is also thrown if I don�t use the cvs build.properties (see below), - I needed to add torque.schema.dir and torque.sql.dir (schemaDir and outputDirectory didn�t work... ) to the torque ant calls. - Torque is using the driver and database connection settings that are specified on the mysql.profile that, of course are different from the ones I specified on the cvs build.properties. Question: why are these cvs build.properties settings:
dbmsName=MySQL jdbcLevel=3.0 jdbcRuntimeDriver=com.mysql.jdbc.Driver urlProtocol=jdbc urlSubprotocol=mysql urlDbalias=//localhost/${databaseName}
doing?). It seems that I need to setup my database settings on the mysql.profile (correct me if I am wrong).
You're essentially mixing up two different things here. The two files that I pointed you to, are the build files of the ojb-blank project which is a skeleton project for users to get started with OJB. As such this project only requires the configuration for one database which is quite different from OJB whose unit tests shall run under every supported database. Therefore, the build script for the ojb-blank project only needs build.properties which contains among other stuff the database settings. The OJB build file on the other hand also requires profiles for the individual databases, and its build.properties file only references the profile to use but otherwise doesn't contain any database settings. My advise is that you're better off with the ojb-blank build files as a starting point because most of the stuff in OJB's build files shouldn't be relevant for you.
The other problem that the setup-db target (in the ojb-blank build script) solves, is that the Torque settings are not used by OJB, so we have to setup the environment for Torque before using its build file to create the database etc. This is essentially what the setup-db task does. However, as I can see from your build file, you used the old stuff from the XDoclet docs (which I changed in CVS) but not the changed stuff from the ojb-blank build script (setup-db target). You should use the latter because Torque now requires some more settings that we have to supply prior to calling any targets in the Torque build file.
There is no problem with this... I just wonder what does the cvs properties sets up after all? If I removed them then the following exception appears:
Target create-db Task torque-data-model Task echo Task sql build-torque.xml:321: java.sql.SQLException: General error, message from server: "Unknown database 'ojb'"
This shouldn't appear because: 1- I am not using a database yet... I want to create the required database if it doesn�t exist 2- anyway, the database name should come from the schema file
In the ojb-blank file, you define the database name in the build.properties file, and the build script will setup both the jdbc connection descriptor and the schema file (via the xdoclet target) with the correct name.
3- I don't have an ojb value for any of the properties I set (not on my build.xml, not on my cvs build.properties, not even on the mysql.profile) where does this "ojb" come from?
Below is my working build.xml file. It is still missing the repository.xml and repository_database.xml generation.
Please use the ojb-blank build files as the basis for your project, not OJB's build files. This will make it a lot easier for you.
I am reasonably acquainted with Torque (done severall repository and transfer object generations would minor settings/problems that I was able to solve by my own) and this Xdoclet approach is better but, this OJB-Torque integration still needs a whole lot of testing and documentation :(.
Some of the Torque recently changed and the doc on the website is not yet up-to-date (as you correctly pointed out). However, the usage of Torque within OJB is limited and will likely be replaced with something more usable in the the near future (after the 1.0) because using Torque's build file is complicated.
Tom
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
