You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Adam Hardy (JIRA)" <ji...@apache.org> on 2009/02/09 16:22:59 UTC

[jira] Commented: (OPENJPA-609) Suggested changes/additions to the EnhancingWithMaven page

    [ https://issues.apache.org/jira/browse/OPENJPA-609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671891#action_12671891 ] 

Adam Hardy commented on OPENJPA-609:
------------------------------------

I found this config works best. The classes element takes just one directory where the plugin will search for classes to enhance. Note also the phase - better than just process-classes.

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>openjpa-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>JPA Enhance</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>enhance</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <toolProperties>
            <property>
              <name>addDefaultConstructor</name>
              <value>true</value>
            </property>
            <property>
              <name>enforcePropertyRestrictions</name>
              <value>true</value>
            </property>
            <property>
              <name>properties</name>
              <value>META-INF/persistence.xml#OpenJpaTest</value>
            </property>
          </toolProperties>
          <classes>
            ${build.outputDirectory}/org/permacode/patternrepo/domain/entity/            
          </classes>
        </configuration>
      </plugin>

> Suggested changes/additions to the EnhancingWithMaven page
> ----------------------------------------------------------
>
>                 Key: OPENJPA-609
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-609
>             Project: OpenJPA
>          Issue Type: Improvement
>          Components: docs
>            Reporter: Michael Vorburger
>            Priority: Minor
>
> I suggest the following edits to the to the EnhancingWithMaven page at http://openjpa.apache.org/enhancingwithmaven.html :
> 1) Add failonerror="true" to <java>
> 2) Use dir="${basedir}/target/classes" instead of dir="target/classes" because of problems with relative directories when using multi-project (POM with <modules> etc.) structure
> Explain/remind that the maven-antrun-plugin is very problematic... I ran into WEIRED issues with it because I had other instances of the maven-antrun-plugin in ANOTHER project than the one I was putting this into, and adding the maven-antrun-plugin with OpenJPA enhancement to a project caused class no longer found issues in another POM that also used the maven-antrun-plugin but worked before.
> If using the maven-antrun-plugin, could also taskdef to use the PCEnhancerTask/openjpac ant task.  I found this to be more suitable as I can easily use <fileset><include><exclude> to e.g. exclude some classes that are in a JAR . Until I ran into the problem above and switched to the OpenJPA Maven Plugin, which works well actually.
> But point out that the OpenJPA Maven Plugin at http://mojo.codehaus.org/openjpa-maven-plugin comes with it's own fixed version of OpenJPA (currently a very outdated and no longer found 0.9.6 apparently!), which makes it a lot less useful... unless there is a way to work around this (force the version of a dependency of a plugin to another version?!). See http://jira.codehaus.org/browse/MOJO-1132 (but http://jira.codehaus.org/browse/MOJO-1133).
> Lastly, the Enhancer could probably also be integrated into Maven using http://mojo.codehaus.org/exec-maven-plugin/java-mojo.html or http://maven.apache.org/guides/plugin/guide-ant-plugin-development.html; haven't tried this, but may be worth pointing out?
> PPS: Why don't you integrate the openjpa-maven-plugin with OpenJPA directly and test and distribute it?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.