In your first example (one webserver as parent with 4 child components), if
the feature-a declares webserver as <parent> (so the child can inherits all
the properties and dependencies from the parent) then logically, then the
webserver must be built before feature-a. However, according to the
structure and intention, feature-a is a component of webserver; therefore
feature-a must be built before webserver. Now we have a conflict.
In your 2nd example, actual-server can still be the <parent> of feature-a
and thus be built first. However, the feature-a is now no longer a
component of actual-server thus it has no problem being built after
actual-server

Note that in both example, we are not explicitly declare feature-a as
dependency of webserver.

Thai

On Mon, 7 Nov 2022 at 12:53, Delany <delany.middle...@gmail.com> wrote:

> Let me answer that with another question. How often does a project include
> a core component/module with a bunch of other components that depend on it?
> I would guess quite often.
> So why cant I have a directory structure that looks like:
>
> webserver
> ├── feature-a
> ├── feature-b
> ├── skin-1
> └── skin-2
>
> Instead I have to come up with an aggregation project to ties them all
> together
>
> aggregation-webserver
> ├── actual-webserver
> ├── feature-a
> ├── feature-b
> ├── skin-1
> └── skin-2
>
> This aggregation project is just extra glue that must be built, deployed,
> downloaded.
>
> What about the declaration of the webserver dependency. In the first case
> it could be an implicit effect of having <parent> type jar, but in the
> second I have to write it out in the aggregation-webserver.
>
> I just don't see the point. Why have 6 projects when 5 will do?
>
> I do see the point of aggregation poms if it was 5 unrelated components,
> but there is an obvious hierarchy here.
> I also see the potential pitfall of plugin configuration meant only for the
> webserver being inherited by its children. But if I make customizations
> inappropriate for the children then I'll abstract them into an aggregation
> pom when the need arises. Most plugin configuration I have applies to all
> my modules.
>
> Kind regards,
> Delany
>
>
> On Fri, 4 Nov 2022 at 16:08, Thai Le <lnthai2...@gmail.com> wrote:
>
> > I'm curious about the usecase of this.
> >
> > Thai Le
> >
> > On Fri, Nov 4, 2022, 09:30 Delany <delany.middle...@gmail.com> wrote:
> >
> > > Hi. Why can I only have pom aggregator projects and not jar aggregator
> > > projects?
> > > Is this still the case in Maven 4?
> > >
> > > Thanks,
> > > Delany
> > >
> >
>


-- 
Where there is will, there is a way

Reply via email to