This m2e connector for the Maven Dependency Plugin adds a lifecycle mapping for the Unpack, Unpack Dependencies, Copy and Copy Dependencies Mojos. These Mojos will be executed during full builds only, and configured outputDirectory(s) will then be refreshed.
First off, note that this is currently Beta code. It has been minimally tested, and all the usual early adopter warnings apply. That said if you're willing to help test the connector all you have to do is:
-
Add the following update site:
-
Install it into Eclipse like any other new feature.
-
Remove any lifecycle mapping metadata you might have had in your POMs.
That's it! The connector will run on full builds, leaving it to the Maven Dependency Plugin's overwrite rules to copy or unpack the artifacts when appropriate.
- Be mindful of your overwrite rules. Forcing a copy or unpack during a full build could slow things down quite a bit.
- If you copy or unpack into an
outputDirectory
that generally also contains a lot of other resources, the workspace refresh could take longer than you'd want. Try to unpack artifacts into distinct output directories.
Thanks for asking...
- If you're a dependency:unpack/dependency:unpack-dependencies/dependency:copy/dependency:copy-dependencies user:
- Test this out. File an issue if it doesn't work for you. File an issue if you think it should do something more, or something different.
- If you're a user of any other Maven Dependency Plugin goal:
- File an issue to request mappings for additional goals. Be as specific as possible in describing the behavior you would expect. If you think the behavior might warrant configuration, either via files or a UI, share your vision for this as well.
- If you're a Tycho expert:
- Skim the POMs. File an issue or submit a pull request if there is something that could be done better.
- If you're an Eclipse Plugin or m2e expert:
- Skim the source and suggest improvements via issues or pull requests.
- Contribute new test cases.
- If you're a representative of the Eclipse Foundation or Apache Software Foundation or similar:
- I'd be happy to consider donating this plugin—do get in touch.
Connector-less m2e compatibility may very well be the end goal for this project. First this connector's behavior should be deemed universally desirable, and not in need of any configuration. As it stands if you find the behavior of this connector unsuitable you're free to uninstall it, or swap it out for another solution. That wouldn't be the case if the behavior was baked into the Maven Dependency Plugin proper.
Many thanks to Fred Bricon for his help on IRC; his work on m2e and m2e-wtp; and his m2e-wro4j connector, which I cribbed from heavily to create this plugin.