The following comment has been added to this issue:
Author: Paul Kearney
Created: Mon, 20 Dec 2004 6:57 PM
Body:
Felipe,
The current plugin.jelly does support the exclusion of files from being
generated. If you set maven.hibernate.input.excludes =
org/apache/maven/hibernate/Item.hbm.xml then this should exclude the Item.java
from being generated.
This just re-uses existing properties and I agree it may well be clearer to
provide hbm generation specific properties rather than reusing existing ones.
Both maven.hibernate.input.includes and maven.hibernate.input.excludes are
reused in the plugin.jelly I submitted.
The second point regarding the addition of the generated source to the src set
expected by the java:compile target I am not sure about.
For one this sounds like it may require overriding the class loader (something
I have never attempted before), but it also strikes me as being beyond the
scope of the plugin. It makes an assumption that everyone using the plugin will
run java:compile after the code is generated. Would it not be more sensible to
allow the person using the plugin to add the generated source directory to
their java:compile set by configuring the maven.compile.src.set property of the
java plugin. Personally, I set the maven.hibernate.generated.output.dir
property to point to my projects java source directory (not that I am
suggesting everyone should have to do this, but it does make sense to me).
Let me know if you agree or not.
Paul
---------------------------------------------------------------------
View this comment:
http://jira.codehaus.org/browse/MPHIBERNATE-12?page=comments#action_28234
---------------------------------------------------------------------
View the issue:
http://jira.codehaus.org/browse/MPHIBERNATE-12
Here is an overview of the issue:
---------------------------------------------------------------------
Key: MPHIBERNATE-12
Summary: Adding POJO from hbm file code generation feature to plugin
Type: New Feature
Status: Unassigned
Priority: Major
Original Estimate: Unknown
Time Spent: Unknown
Remaining: Unknown
Project: maven-hibernate-plugin
Assignee:
Reporter: Paul Kearney
Created: Tue, 2 Nov 2004 4:56 PM
Updated: Mon, 20 Dec 2004 6:57 PM
Environment: N/A
Description:
I have added a feature to my local version of the hibernate plugin which I
thought might be worthy of inclusion in a future version.
In the projects I work on there is a need to generate POJOs classes from
hibernate hbm files and I have adapted and incorportated an old ant script into
our maven-hibernate plugin to do this.
In order to add this goal all you have to do is:
1. Add the following to project.xml:
<dependency>
<groupId>hibernate-extensions</groupId>
<artifactId>hibernate-tools</artifactId>
<version>2.1.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.0</version>
<type>jar</type>
</dependency>
2.
Add the following goal to the plugin.jelly
<goal name="hibernate:hbm-code-generation" prereqs="hibernate:init"
description="Generate POJOs from hbm files">
<ant:echo>Generating POJOs from hbm files</ant:echo>
<ant:fileset id="hbm.fileset"
dir="${maven.hibernate.generated.input.dir}"
includes="${maven.hibernate.input.includes}"/>
<ant:pathconvert property="hbm.files" refid="hbm.fileset" pathsep=" "/>
<ant:java classname="net.sf.hibernate.tool.hbm2java.CodeGenerator"
failonerror="true">
<ant:classpath>
<ant:pathelement
location="${plugin.getDependencyPath('hibernate-extensions:hibernate-tools')}"/>
<ant:pathelement
location="${plugin.getDependencyPath('commons-collections:commons-collections')}"/>
<ant:pathelement
location="${plugin.getDependencyPath('commons-logging:commons-logging')}"/>
<ant:pathelement
location="${plugin.getDependencyPath('jdom:jdom')}"/>
<ant:path refid="maven.dependency.classpath"/>
</ant:classpath>
<ant:arg
value="--output=${maven.hibernate.generated.output.dir}"/>
<ant:arg line="${hbm.files}"/>
</ant:java>
</goal>
3.
Add the following properties to the plugin.properties
maven.hibernate.generated.input.dir=${maven.src.dir}/conf/hibernate
maven.hibernate.generated.output.dir=${maven.src.dir}/java
4.
Ensure that hibernate-tools-2.1.2.jar is available at ibiblio.
It should now be possible to generate POJOs from hbm files. The POJOs will be
placed in the src/java directory by default.
I am in the process of carrying out Step 4 myself and will hopefully do this
soon.
Hope you find this worth consideration and hopefully it can make it into a
future release.
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]