1

We have a root POM in one of our project which more and more people consume. So we're now considering to extract this into a real parent POM (i.e. without <modules> and specific build commands).

Now the question is where should this new parent POM go? I see two options:

  1. A new project
  2. Into a folder parent/ inside of the framework project.

I looked at Maven and it uses a distinct project for the parent POM (here is the latest release).

But that means the relativePath is most often wrong (I really don't want developers to have to checkout the parent POM with this approach).

What are the differences/advantages/drawbacks of the two approaches?

Aaron Digulla
  • 321,842
  • 108
  • 597
  • 820
  • Make a separate project out of it. Create a separate project in SVN or an appropriate repository in Git from it. Deploy the parent pom into a repository manager and so no one needs to checkout the parent pom anymore cause it will be consumed through maven via the repository manager. – khmarbaise Jun 25 '14 at 14:11
  • What are the reasons to create it as a separate project? – Aaron Digulla Jun 25 '14 at 15:05
  • (I tend to agree, btw, but I would really like to justify my gut feeling :-) – Aaron Digulla Jun 25 '14 at 15:12

1 Answers1

1

The simple reason having a separate project for such company pom is based on the release cycle of such a pom cause it's different of all other projects/artifacts within the different projects. A release is necessary to have a released version which means a defined state of the company pom. This release is simply being deployed into your company repository manager and can be consumed by many projects. During the time updates are comming in like plugin updates etc. so you can decide making a new release of your company pom. And the different projects can decide to pick the update by simply changing the version or not.

khmarbaise
  • 92,914
  • 28
  • 189
  • 235
  • Makes sense to me. From our history: We release a new version of the app every three weeks, a new version of the underlying framework 2-3 times a year and the parent POM gets updated once per year. – Aaron Digulla Jun 30 '14 at 09:20