Some things that you might want to know about Maven Tools 4 Eclipse:
How Are Eclipse Bundle Names Converted To Maven Artifact Coordinates?
There are many ways to convert Eclipse bundle names (say org.eclipse.core.runtime 3.7.0.v20110110) to Maven artifact coordinates (groupId:artifactId:version).
For MT4E, this rule was chosen:
- The first three words in the bundle name become the group ID: org.eclipse.core
- The whole bundle name becomes the artifact ID: org.eclipse.core.runtime
- The version is truncated to three numbers: 3.7.0
Reasoning: The third word in the bundle name is the project. This is a good way to group artifacts by project.
The whole name is repeated because there are 27 bundles that end in "runtime" in my 3.7.1/Helios install. That would mean for web projects: Several runtime-3.7.0.jar in the WEB-INF/lib folder and a) no easy way to tell them apart and b) errors during the build. Things would be similar for non-web projects. Yes, it's redundant but it was the most simple way to avoid a whole load of trouble.
Truncating the version was one thing that feels unsafe. The reasons for truncating are:
- Odd qualifiers like R36x_v20101208-1400 or huge cartographic checksums.
- The qualifier has often the same meaning as Maven's SNAPSHOT except for one specific which becomes the release.
- Only very few people are able to tell whether v20100824-2220 or v20100507-1815 is the release version. For almost anyone, the qualifier is just confusing and holds little value.
- The official Eclipse version numbers are 3 integers plus a qualifier. The qualifier is not important when different versions of a bundle are considered.
- Each release must change the version number (the part without qualifier)
- Requiring the qualifier would mean that it becomes impossible to write POM files without external tools or cut&paste of version numbers from a web page.