[ 
https://issues.apache.org/jira/browse/CAMEL-11247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16007894#comment-16007894
 ] 

Stephane Nicoll commented on CAMEL-11247:
-----------------------------------------

Thanks for the feedback.

> There are still many projects that tend to put everything in their BOMs and 
> this becomes a problem when such BOMs start being used worldwide

That's exactly why I am asking you that the camel bom doesn't follow that path. 
{{spring-boot-dependencies}} is different because managing the dependencies of 
the "platform" is an advertized feature of Spring Boot. Something camel can't 
claim, I am sure we can agree with that.

> ALL spring-boot applications must have a specific version of Jackson or Gson 
> (and you do so)

I disagree and I don't think that's fair statement: you can override and change 
dependencies any way you like (see documentation). You are then responsible of 
making sure things you use will work properly. I think it is more fair to have 
that discussion in the context of start.spring.io. The camel starter _must_ 
work with Spring Boot's default because that's what start.spring.io generates. 
If Camel isn't compatible with, say, Spring Boot A.B.C (because we provide a 
certain version of jackson by default) then we should disable the camel starter 
if Spring Boot starter A.B.C is selected. 


I am not sure I get your last paragraph but to be clear, here is what I suggest:
* {{camel-bom}} should be defined as BOM that lists only your artifacts. So 
{{camel-bom}} {{2.19.3}} (for instance) should list all the camel {{2.19.3}} 
artifacts that you publish on the maven repo
* If you need your users to be guided as which dependencies they should use in 
general (for instance if they don't use Spring Boot), you can always create a 
{{camel-dependencies}} that extends from {{camel-bom}} and provides all the 
dependency management you currently have in your build.

I really think that naming that artifact {{camel-spring-boot-bom}} is a wrong 
call. 

Also, we have very strict rules for BOMs that we add on start.spring.io. If the 
BOM has a complex parent structure we will not accept it. Thank you!



> camel-spring-boot - Improve BOM to work better with start.spring.io
> -------------------------------------------------------------------
>
>                 Key: CAMEL-11247
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11247
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-spring-boot, camel-spring-boot-starters
>            Reporter: Claus Ibsen
>            Assignee: Nicola Ferraro
>             Fix For: 2.20.0
>
>
> See this PR
> https://github.com/spring-io/initializr/pull/425#issuecomment-299801788
> I tried locally to set the initializer to use our current BOM for spring-boot 
> starters, but the project it generates causes the mvn to not build.
> We should IMHO try to get this working so we can use a BOM in the 
> start.spring.io wizard so people get a nicer project build out of the box. 
> Which is also what the Spring guys is asking for.
> You can try the initializer locally, by following instructions at
> https://github.com/spring-io/initializr#running-the-app-locally
> Then you can thinker in the yml file to setup a Camel BOM
> https://github.com/spring-io/initializr/blob/master/initializr-service/src/main/resources/application.yml



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to