You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Mikael Andersson Wigander <mi...@gmail.com> on 2020/02/18 14:26:34 UTC

Camel 3 pom for JVM 1.8

Hi

My pom includes a dependencyManagement statement for camel (3.0.1)

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-spring-boot-dependencies</artifactId>
    <version>${camel.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
and then these dependencies

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-quartz-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-sql-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-activemq-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-direct-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-bean-starter</artifactId>
</dependency>

but in my build I see several camel dependencies included in the war file that I haven’t specified, esp. camel-core, camel-main…
The ones included are stated here:

https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_modularization_of_camel_core

How can I make it more modular and only include dependencies I have stated?


M


Re: Camel 3 pom for JVM 1.8

Posted by Mikael Andersson Wigander <mi...@gmail.com>.
Thx, makes sense

Regards

M


> On 18 Feb 2020, at 15:49, Andrea Cosentino <an...@gmail.com> wrote:
> 
> That's normal. If you use a starter you'll get that dependencies as
> transitive deps.
> 
> This is clear if you run a dependency:tree on your camel-sql-starter.
> 
> That statement applies on plain camel. In the spring-boot context is a bit
> different.
> 
> Il giorno mar 18 feb 2020 alle ore 15:45 Mikael Andersson Wigander <
> mikael.grevsten@gmail.com> ha scritto:
> 
>> Well I just read the migration guide and thought the use of the “modular”
>> approach was to end up with a smaller build including ONLY those I
>> specifically included.
>> 
>>> Maven users of Apache Camel can keep using the dependency camel-core
>> which has transitive dependencies on all of its modules, and therefore no
>> migration is needed. However, users who want to trim the size of the
>> classes on the classpath, can use fine grained Maven dependencies on only
>> the modules needed. You may find how to do that in the examples.
>> 
>> 
>> M
>> 
>>> On 18 Feb 2020, at 15:33, Giovanni Condello }
>> <gi...@coderit.it> wrote:
>>> 
>>> Hi Mikael,
>>> 
>>> You can technically exclude any dependencies you want via maven
>> <exclusions> but.... to be honest I don't see the point and you may end up
>> creating more issues for users of your library (?).
>>> 
>>> camel-core, camel-main are there because they are compile-time deps of
>> e.g. camel-sql
>>> 
>>> Can you explain a little bit more the rationale behind this request?
>>> 
>>> Cheers
>>> Giovanni
>>> 
>>> -----Messaggio originale-----
>>> Da: Mikael Andersson Wigander <mikael.grevsten@'mail.com>
>>> Inviato: martedì 18 febbraio 2020 15:27
>>> A: users@camel.apache.org
>>> Oggetto: Camel 3 pom for JVM 1.8
>>> 
>>> Hi
>>> 
>>> My pom includes a dependencyManagement statement for camel (3.0.1)
>>> 
>>> <dependency>
>>>   <groupId>org.apache.camel.springboot</groupId>
>>>   <artifactId>camel-spring-boot-dependencies</artifactId>
>>>   <version>${camel.version}</version>
>>>   <type>pom</type>
>>>   <scope>import</scope>
>>> </dependency>
>>> and then these dependencies
>>> 
>>> <dependency>
>>>   <groupId>org.apache.camel.springboot</groupId>
>>>   <artifactId>camel-quartz-starter</artifactId>
>>> </dependency>
>>> <dependency>
>>>   <groupId>org.apache.camel.springboot</groupId>
>>>   <artifactId>camel-sql-starter</artifactId>
>>> </dependency>
>>> <dependency>
>>>   <groupId>org.apache.camel.springboot</groupId>
>>>   <artifactId>camel-activemq-starter</artifactId>
>>> </dependency>
>>> <dependency>
>>>   <groupId>org.apache.camel.springboot</groupId>
>>>   <artifactId>camel-direct-starter</artifactId>
>>> </dependency>
>>> <dependency>
>>>   <groupId>org.apache.camel.springboot</groupId>
>>>   <artifactId>camel-bean-starter</artifactId>
>>> </dependency>
>>> 
>>> but in my build I see several camel dependencies included in the war
>> file that I haven’t specified, esp. camel-core, camel-main… The ones
>> included are stated here:
>>> 
>>> 
>> https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_modularization_of_camel_core
>>> 
>>> How can I make it more modular and only include dependencies I have
>> stated?
>>> 
>>> 
>>> M
>>> 
>> 
>> 


Re: Camel 3 pom for JVM 1.8

Posted by Andrea Cosentino <an...@gmail.com>.
That's normal. If you use a starter you'll get that dependencies as
transitive deps.

This is clear if you run a dependency:tree on your camel-sql-starter.

That statement applies on plain camel. In the spring-boot context is a bit
different.

Il giorno mar 18 feb 2020 alle ore 15:45 Mikael Andersson Wigander <
mikael.grevsten@gmail.com> ha scritto:

> Well I just read the migration guide and thought the use of the “modular”
> approach was to end up with a smaller build including ONLY those I
> specifically included.
>
> > Maven users of Apache Camel can keep using the dependency camel-core
> which has transitive dependencies on all of its modules, and therefore no
> migration is needed. However, users who want to trim the size of the
> classes on the classpath, can use fine grained Maven dependencies on only
> the modules needed. You may find how to do that in the examples.
>
>
> M
>
> > On 18 Feb 2020, at 15:33, Giovanni Condello }
> <gi...@coderit.it> wrote:
> >
> > Hi Mikael,
> >
> > You can technically exclude any dependencies you want via maven
> <exclusions> but.... to be honest I don't see the point and you may end up
> creating more issues for users of your library (?).
> >
> > camel-core, camel-main are there because they are compile-time deps of
> e.g. camel-sql
> >
> > Can you explain a little bit more the rationale behind this request?
> >
> > Cheers
> > Giovanni
> >
> > -----Messaggio originale-----
> > Da: Mikael Andersson Wigander <mikael.grevsten@'mail.com>
> > Inviato: martedì 18 febbraio 2020 15:27
> > A: users@camel.apache.org
> > Oggetto: Camel 3 pom for JVM 1.8
> >
> > Hi
> >
> > My pom includes a dependencyManagement statement for camel (3.0.1)
> >
> > <dependency>
> >    <groupId>org.apache.camel.springboot</groupId>
> >    <artifactId>camel-spring-boot-dependencies</artifactId>
> >    <version>${camel.version}</version>
> >    <type>pom</type>
> >    <scope>import</scope>
> > </dependency>
> > and then these dependencies
> >
> > <dependency>
> >    <groupId>org.apache.camel.springboot</groupId>
> >    <artifactId>camel-quartz-starter</artifactId>
> > </dependency>
> > <dependency>
> >    <groupId>org.apache.camel.springboot</groupId>
> >    <artifactId>camel-sql-starter</artifactId>
> > </dependency>
> > <dependency>
> >    <groupId>org.apache.camel.springboot</groupId>
> >    <artifactId>camel-activemq-starter</artifactId>
> > </dependency>
> > <dependency>
> >    <groupId>org.apache.camel.springboot</groupId>
> >    <artifactId>camel-direct-starter</artifactId>
> > </dependency>
> > <dependency>
> >    <groupId>org.apache.camel.springboot</groupId>
> >    <artifactId>camel-bean-starter</artifactId>
> > </dependency>
> >
> > but in my build I see several camel dependencies included in the war
> file that I haven’t specified, esp. camel-core, camel-main… The ones
> included are stated here:
> >
> >
> https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_modularization_of_camel_core
> >
> > How can I make it more modular and only include dependencies I have
> stated?
> >
> >
> > M
> >
>
>

Re: Camel 3 pom for JVM 1.8

Posted by Mikael Andersson Wigander <mi...@gmail.com>.
Well I just read the migration guide and thought the use of the “modular” approach was to end up with a smaller build including ONLY those I specifically included.

> Maven users of Apache Camel can keep using the dependency camel-core which has transitive dependencies on all of its modules, and therefore no migration is needed. However, users who want to trim the size of the classes on the classpath, can use fine grained Maven dependencies on only the modules needed. You may find how to do that in the examples.


M

> On 18 Feb 2020, at 15:33, Giovanni Condello }
<gi...@coderit.it> wrote:
> 
> Hi Mikael,
> 
> You can technically exclude any dependencies you want via maven <exclusions> but.... to be honest I don't see the point and you may end up creating more issues for users of your library (?).
> 
> camel-core, camel-main are there because they are compile-time deps of e.g. camel-sql
> 
> Can you explain a little bit more the rationale behind this request?
> 
> Cheers
> Giovanni
> 
> -----Messaggio originale-----
> Da: Mikael Andersson Wigander <mikael.grevsten@'mail.com> 
> Inviato: martedì 18 febbraio 2020 15:27
> A: users@camel.apache.org
> Oggetto: Camel 3 pom for JVM 1.8 
> 
> Hi
> 
> My pom includes a dependencyManagement statement for camel (3.0.1)
> 
> <dependency>
>    <groupId>org.apache.camel.springboot</groupId>
>    <artifactId>camel-spring-boot-dependencies</artifactId>
>    <version>${camel.version}</version>
>    <type>pom</type>
>    <scope>import</scope>
> </dependency>
> and then these dependencies
> 
> <dependency>
>    <groupId>org.apache.camel.springboot</groupId>
>    <artifactId>camel-quartz-starter</artifactId>
> </dependency>
> <dependency>
>    <groupId>org.apache.camel.springboot</groupId>
>    <artifactId>camel-sql-starter</artifactId>
> </dependency>
> <dependency>
>    <groupId>org.apache.camel.springboot</groupId>
>    <artifactId>camel-activemq-starter</artifactId>
> </dependency>
> <dependency>
>    <groupId>org.apache.camel.springboot</groupId>
>    <artifactId>camel-direct-starter</artifactId>
> </dependency>
> <dependency>
>    <groupId>org.apache.camel.springboot</groupId>
>    <artifactId>camel-bean-starter</artifactId>
> </dependency>
> 
> but in my build I see several camel dependencies included in the war file that I haven’t specified, esp. camel-core, camel-main… The ones included are stated here:
> 
> https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_modularization_of_camel_core
> 
> How can I make it more modular and only include dependencies I have stated?
> 
> 
> M
> 


R: Camel 3 pom for JVM 1.8

Posted by Giovanni Condello <gi...@coderit.it>.
Hi Mikael,

You can technically exclude any dependencies you want via maven <exclusions> but.... to be honest I don't see the point and you may end up creating more issues for users of your library (?).

camel-core, camel-main are there because they are compile-time deps of e.g. camel-sql

Can you explain a little bit more the rationale behind this request?

Cheers
Giovanni

-----Messaggio originale-----
Da: Mikael Andersson Wigander <mi...@gmail.com> 
Inviato: martedì 18 febbraio 2020 15:27
A: users@camel.apache.org
Oggetto: Camel 3 pom for JVM 1.8 

Hi

My pom includes a dependencyManagement statement for camel (3.0.1)

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-spring-boot-dependencies</artifactId>
    <version>${camel.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
and then these dependencies

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-quartz-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-sql-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-activemq-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-direct-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-bean-starter</artifactId>
</dependency>

but in my build I see several camel dependencies included in the war file that I haven’t specified, esp. camel-core, camel-main… The ones included are stated here:

https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_modularization_of_camel_core

How can I make it more modular and only include dependencies I have stated?


M