Due to the vast changes made since the last release and the limited time for testing this project, this beta is let out into the wild, knowing that it won't/can't be a final version.
Users of IDEA versions lower than 11.x will not benefit in any case from this "release", they won't even realize the changes (Due to compatibility issues only the old configuration dialogue - without any modification - is shown).
The extension API will stay backwards compatible, although the new feature(s) (manual enhancer dependencies) will not be supported (Extensions provided by myself will be updated soon)
Skip the next paragraph if you're not interested in supporting this plugin.
If you find this plugin useful/helpful please at least provide a rating on it's site (DataNucleus Enhancer integration) as there seem to be people out there who try to downrate without an appropriate reason (maybe just out of plain missing knowledge or inability to read documentation provided, but who knows? - just have a look at the comments).
Keep in mind that DataNucleus 3.1.x requires asm-4.x, which conflicts with any prior version. Sometimes asm is shipped even inside regular jar files or is included in a transitive fashion (e.g. via maven). As a result, get your dependencies cleaned up and also look inside the jars you include!
The datanucleus enhancer is not packaged with this plugin, but it's, by default, taken from (each) project module to avoid version conflicts.
When manually setting enhancer dependencies this plugin tries to ignore the enhancer-relevant dependencies from the project module during the enhancement process. This is done on a very simplistic (rather hacky) basis by just comparing the basenames (without version) of the manually added jars with the ones from the project module dependency list, so adapt the jar file names before adding them.
Tested with datanucleus-enhancer versions 3.0.x up to 3.1.x (Versions lower than that are not tested anymore, but -should- work)
See enhancer documentation for further information.
When inquiring help, please -at least- provide environment information (IDEA version, Plugin version, DataNucleus version,...) and a stack trace (from IDEA 'Messages' tab and/or IDEA log).
Inquiries missing such information will be ignored (In such cases nobody would waste -spare- time finding out).
Suggestions on how to improve the plugin itself are nevertheless very welcome (ofcourse without any preconditions like mentioned above ;) ).
Documentation can be found here: DataNucleus and IntelliJ IDEA
Please consult the forum at DataNucleus Forum/Tools in case of problems or improvement proposals - and -please- be aware that this is merely just a private project, so do not expect an utterly immediate response.
Minimum required IDEA version is 10.5!
Tested with IDEA 10.5.4 only (Sorry for that, but my spare time is very limited), so be careful when upgrading!
Functionality -should- be retained for older IDEA versions, but is completely untested, so please really be careful.
- Manual enhancer dependencies (Will only be available for IDEA 11.x. Previous functionality (=v1.0.8) is retained for IDEA 10.5 and tested with 10.5.4 only!)
- Improved progress display (based on project module completion as there's no way to have a generic progress interface for multiple (completely independent) enhancers)
- Interruptable on a project module process basis (IDEA UI may stall until completion/error of the actual process in case of manual interruption; seems to be IDEA related)
- DataNucleus 3.1.x support
- Fixed test classes enhancement (additional bug, no regression)
- Fixed npe in 'Build' menu entry when no project is opened (additional bug, no regression - reported by Chris Colman)
- Support for IDEA's incremental compilation (Only process classes that changed since last compilation)
- Extension API for including other enhancers
- Fixed Exception when trying to access 'Build' menu entry without having any projects open
- Added missing JPA Annotations to metadata search (MappedSuperclass and Embeddable)
- Fixed parsing to include JDO .orm and JPA metadata files
- Additionally show class names affected by enhancer process (Configuration dialog)
- Automatically add metadata file extensions to 'Settings -> Compiler -> Resource patterns'
- Added JPA support
- Fixed classes detection ("include test classes" exclusively selected just the test classes)
- Renamed project from "DataNucleus JDO enhancer integration" to "DataNucleus Enhancer integration"
- Fixed OutOfMemoryError (PermGen; known (that was a hard one) - also reported in a post to the plugin's comments by an anonymous user)
- Fixed enabling/disabling enhancer per module (reduces warnings)
- Fixed enabling/disabling enhancer in build menu
- Switched build to Maven 3
- Added license information
- Added minimal project setup documentation
- Prepared project for going open source
- Updated plugin description