You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Delany <de...@gmail.com> on 2022/11/04 13:29:16 UTC

jar aggregator projects

Hi. Why can I only have pom aggregator projects and not jar aggregator
projects?
Is this still the case in Maven 4?

Thanks,
Delany

Re: jar aggregator projects

Posted by Delany <de...@gmail.com>.
Oh, make no mistake I use aggregator POMs for that reason. But I ALSO have
many aggregators that are just containers with <modules>.
They need their own artifactId, and their own directory (technically not a
requirement, but in practice no-one wants 2 poms in one directory).
Delany

On Tue, 8 Nov 2022 at 15:23, Mantas Gridinas <mg...@gmail.com> wrote:

> I think the reasoning makes sense. I would rather have a strong primitive
> using which I could build my own process, rather than fight an exact
> implementation. Current structure of an aggregator being its own packaging
> type is that primitive.
>
> Why do you consider having "glue boilerplate" bad, delany? I think its a
> great place to put all thr project's verbose declarations, such as
> dependency management, repository, plugin management blocks without
> litering the actual working modules.
>
> On Tue, Nov 8, 2022, 14:00 Łukasz Dywicki <lu...@code-house.org> wrote:
>
> > Hello Delany,
> > Number of combinations in which people would like to assembly their
> > software is larger than hours maven maintainers can provide to support
> > all of them equally well. I remember that a lot of initial "hate" maven
> > received was caused by assembly plugin which was not covering all edge
> > cases people had.
> > Probably there are more reasons which come from initial assumptions made
> > when designing Maven, thus maybe someone closer to the core will explain
> > why its not possible.
> >
> > Best,
> > Łukasz
> >
> > On 7.11.2022 18:52, Delany 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 <ln...@gmail.com> wrote:
> > >
> > >> I'm curious about the usecase of this.
> > >>
> > >> Thai Le
> > >>
> > >> On Fri, Nov 4, 2022, 09:30 Delany <de...@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
> > >>>
> > >>
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>

Re: jar aggregator projects

Posted by Mantas Gridinas <mg...@gmail.com>.
I think the reasoning makes sense. I would rather have a strong primitive
using which I could build my own process, rather than fight an exact
implementation. Current structure of an aggregator being its own packaging
type is that primitive.

Why do you consider having "glue boilerplate" bad, delany? I think its a
great place to put all thr project's verbose declarations, such as
dependency management, repository, plugin management blocks without
litering the actual working modules.

On Tue, Nov 8, 2022, 14:00 Łukasz Dywicki <lu...@code-house.org> wrote:

> Hello Delany,
> Number of combinations in which people would like to assembly their
> software is larger than hours maven maintainers can provide to support
> all of them equally well. I remember that a lot of initial "hate" maven
> received was caused by assembly plugin which was not covering all edge
> cases people had.
> Probably there are more reasons which come from initial assumptions made
> when designing Maven, thus maybe someone closer to the core will explain
> why its not possible.
>
> Best,
> Łukasz
>
> On 7.11.2022 18:52, Delany 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 <ln...@gmail.com> wrote:
> >
> >> I'm curious about the usecase of this.
> >>
> >> Thai Le
> >>
> >> On Fri, Nov 4, 2022, 09:30 Delany <de...@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
> >>>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: jar aggregator projects

Posted by Łukasz Dywicki <lu...@code-house.org>.
Hello Delany,
Number of combinations in which people would like to assembly their 
software is larger than hours maven maintainers can provide to support 
all of them equally well. I remember that a lot of initial "hate" maven 
received was caused by assembly plugin which was not covering all edge 
cases people had.
Probably there are more reasons which come from initial assumptions made 
when designing Maven, thus maybe someone closer to the core will explain 
why its not possible.

Best,
Łukasz

On 7.11.2022 18:52, Delany 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 <ln...@gmail.com> wrote:
> 
>> I'm curious about the usecase of this.
>>
>> Thai Le
>>
>> On Fri, Nov 4, 2022, 09:30 Delany <de...@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
>>>
>>
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: jar aggregator projects

Posted by Thai Le <ln...@gmail.com>.
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 <de...@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 <ln...@gmail.com> wrote:
>
> > I'm curious about the usecase of this.
> >
> > Thai Le
> >
> > On Fri, Nov 4, 2022, 09:30 Delany <de...@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

Re: jar aggregator projects

Posted by Delany <de...@gmail.com>.
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 <ln...@gmail.com> wrote:

> I'm curious about the usecase of this.
>
> Thai Le
>
> On Fri, Nov 4, 2022, 09:30 Delany <de...@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
> >
>

Re: jar aggregator projects

Posted by Thai Le <ln...@gmail.com>.
I'm curious about the usecase of this.

Thai Le

On Fri, Nov 4, 2022, 09:30 Delany <de...@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
>