Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Maven Tools 4 Eclipse
Maven Tools 4 Eclipse (or m4e for short) is a set of tools to convert OSGi bundles into Maven artifacts.
You can find the source on http://git.eclipse.org/c/dash/org.eclipse.dash.m4e.tools.git/
This tool is used to create the Maven artifacts which you can find on Eclipse's Nexus server at http://maven.eclipse.org/nexus/index.html
Contents
How it works
A simple workflow:
- Download an Eclipse release from http://www.eclipse.org/downloads/
- Import it into a temporary Maven repo using ./run.sh import archive
- Download the sources for the Eclipse release and/or other archives which contain Eclipse products or OSGi bundles.
- Import them as well
- Merge all repositories using ./run.sh merge
- The sources are in the wrong place. Fix that with ./run.sh attach-sources
TODO These commands are not yet available with the Groovy version
- Fix any know problems by applying the patches in the patches/ folder using the tool ./run.sh apply-patches
- Check the result with ./run.sh analyze
- Create a POM with the version info to make sure your build picks the correct versions using the ./run.sh dm tool
- If anything goes wrong, use ./run.sh clean to clean up temporary files and start over.
How you should use it
TODO These commands are not yet available with the Groovy version Overwhelmed? Here is a more simple version:
- git clone git://git.eclipse.org/gitroot/dash/org.eclipse.dash.m4e.tools.git
- Download everything you will want and put it into the folder org.eclipse.dash.m4e.tools/downloads/
- run ./run.sh convert Yes, you need Linux or MacOS for that.
- Grab some coffee. Not more than 12 cups per day, okay?
- Check the HTML file which was created for any issues that you might care about.
- Upload the content of org.eclipse.dash.m4e.tools/tmp/m2repo/ somewhere where Maven can find it (~/.m2/repository/ or your Maven proxy).
How do I import the result in a Nexus server?
It's very tedious to deploy the files one by one. Here is a recipe to mass-upload them:
- Create a "Hosted Repository" on Nexus
- Copy the files from tmp/m2repo/ into sonatype-work/nexus/storage/<name>/ where <name> is the name of the new repository.
- Open the Nexus UI in your web browser
- Login as admin
- Open the "Repositories" tab
- Right click on the hosted repository
- Select "Rebuild Metadata"
After that, Maven should be happy.
Support
Please file an issue for Project Dash, Component Maven.
Biggest Issues Right Now
- The name m4e sucks. Suggestions?
- Find the time to create a repo with Eclipse 3.7
Old Python Version
You can find the original Python project on Github: https://github.com/digulla/org.eclipse.dash.m4e.tools/
It needs Python 2.7 and lxml.