Move Maven parent project to root
Description
Environment
Activity
Some more fiddling around in subsequent commits to get everything working in all contexts, plus a Maven bug to dodge. But in the end, still not a major piece of work.
Closing.
Also to Rod’s comment, I see changes like this as entirely internal: if we want to do this to the other projects, I don’t think there’s any formal reason we’d need to wait for V5 to do it.
Done, commit 346c80c3664fad7d81d44fe3e8d3068823f42ce6.
In answer to Rod’s comment, this wasn’t particularly painful:
Remove the projects from Eclipse.
Replace root
.project
with the one from the subdirectory.Move/merge most other things from the subdirectory under the root. Don’t forget invisible things like
.settings/
and.gitignore
.Remove the
<relativePath>
to the parent from the submodule POMs (this is assumed)Remove the
../
from the module paths in the parent POM as those are now relative to the root.Re-add the projects to Eclipse. Note that you end up with one less project this way, as the root directory has become what was one of the submodules. This also means they all appear at the same location in Eclipse, rather than the root project appearing elsewhere.
Checking in both Eclipse and from the CLI is essential.
I think this is done, but I’ll hold off closing until tomorrow so that I can see if the nightlies fail.
I’ll interject that depending on the pain involved I would love to see this done to the IdP and OpenSAML (perhaps in V5)
The MDA uses the same convention as the IdP and OpenSAML projects of embedding the parent module inside the project as a sibling to the other modules. This has always been a bit strange and isn't what most other users of Maven do. We've recently had success simplifying this in our various plugin projects, so I'd like to switch to the more conventional layout for the MDA as well.
To summarise, this would mean:
move the contents of
aggregator-parent
into the root of the projectchange various relative paths in the
aggregator-parent
POM and in the POMs for the other modules to correspond (because this is one of Maven's defaults, some of those can go away entirely).