Bug 1331232

Summary: fuse-bxms-integration contain 2 versions of jboss-integration-platform-bom and unexpected dependencies change
Product: [Retired] JBoss BRMS Platform 6 Reporter: Ryan Zhang <rzhang>
Component: Fuse IntegrationAssignee: Aileen <aileenc>
Status: CLOSED EOL QA Contact: Lukáš Petrovický <lpetrovi>
Severity: urgent Docs Contact: Petr Penicka <ppenicka>
Priority: urgent    
Version: 6.3.0CC: jcoleman
Target Milestone: CR1   
Target Release: 6.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 20:04:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
fbi-patch.text none

Description Ryan Zhang 2016-04-28 04:24:28 UTC
Description of problem:
After checkout the code from [1], I have seen that modules in quickstarts still  contain 6.0.0.Final However it is expected to be 6.0.6.Final as shown in the top pom.xml versions.

[1]:https://github.com/jboss-integration/fuse-bxms-integ/tree/fuse-bxms-integ-1.4.0.redhat-621007


After I manually change the jb-ip-bom from 6.0.0.Final to 6.0.6.Final, I  get the following error:
It seems that the quickstart code needs to update after the came has been removed from 6.0.6.Final.


The build could not read 2 projects -> [Help 1]
[ERROR]   
[ERROR]   The project org.jboss.integration.fuse.quickstarts:blueprint-camel-drools-decision-table:1.4.0.redhat-621007 (/home/rzhang/workspace/0make-mead/workspace/build.Fuse-Integration-621/build/quickstarts/blueprint-camel-drools-decision-table/pom.xml) has 2 errors
[ERROR]     'dependencies.dependency.version' for org.apache.camel:camel-core:jar is missing. @ line 129, column 21
[ERROR]     'dependencies.dependency.version' for org.apache.camel:camel-blueprint:jar is missing. @ line 133, column 21
[ERROR]   
[ERROR]   The project org.jboss.integration.fuse.quickstarts:spring-camel-drools-decision-table:1.4.0.redhat-621007 (/home/rzhang/workspace/0make-mead/workspace/build.Fuse-Integration-621/build/quickstarts/spring-camel-drools-decision-table/pom.xml) has 4 errors
[ERROR]     'dependencies.dependency.version' for org.apache.camel:camel-core:jar is missing. @ line 149, column 21
[ERROR]     'dependencies.dependency.version' for org.apache.camel:camel-spring:jar is missing. @ line 153, column 21
[ERROR]     'dependencies.dependency.version' for org.apache.camel:camel-test-spring:jar is missing. @ line 167, column 21
[ERROR]     'dependencies.dependency.version' for org.apache.camel:camel-test:jar is missing. @ line 172, column 21


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Ryan Zhang 2016-04-28 04:28:00 UTC
[rzhang@/workspace/1fuse-bxms-integ]$grep "<version.org.jboss.integration-platform>6.0" -r *
pom.xml:        <version.org.jboss.integration-platform>6.0.6.Final</version.org.jboss.integration-platform>
quickstarts/spring-camel-drools-decision-table/pom.xml:        <version.org.jboss.integration-platform>6.0.0.Final</version.org.jboss.integration-platform>
quickstarts/blueprint-camel-drools-decision-table/pom.xml:        <version.org.jboss.integration-platform>6.0.0.Final</version.org.jboss.integration-platform>
quickstarts/jbpm-workitems-camel/pom.xml:        <version.org.jboss.integration-platform>6.0.0.Final</version.org.jboss.integration-platform>

Comment 5 Ryan Zhang 2016-04-28 06:28:59 UTC
Created attachment 1151737 [details]
fbi-patch.text

Comment 6 David Virgil 2016-04-28 10:53:35 UTC
1) jboss-integration-platform-bom version should be the same (ie 6.0.6.Final in this case  

I agree with you. But this is just going to affect in the quickstart execution. As the quickstart is independent (not extending from a parent pom), I do not see this as a blocker.
2)quickstart shouldn't report camel dependencies not defined error.

But in this case, I think the camel version has been removed from the bom. From which bom is it expected to read camel dependencies?
3)is that possible to keep 8.1.14 for jetty if there is no blocker reason to upgrade the 3rd parties dependencies since we are very close to GA
This was upgraded, because it was a compilation error after the upgrade to fuse 6.3. So I do not think this is possible.

Comment 7 Julian Coleman 2016-04-28 11:16:59 UTC
(In reply to David Virgil from comment #6)
> 3)is that possible to keep 8.1.14 for jetty if there is no blocker reason to
> upgrade the 3rd parties dependencies since we are very close to GA
> This was upgraded, because it was a compilation error after the upgrade to
> fuse 6.3. So I do not think this is possible.

I realise that I was building without the fuse-6.2.1 profile when I saw the jetty update.  We do keep jetty 8.1.14 with the fuse-6.2.1 profile, so this is not a problem when we build with the profile.

Comment 8 David Virgil 2016-04-28 11:19:28 UTC
Yes Julian, we keep jetty 8.1.14 with the fuse 6.2.1 profile.

Comment 9 Julian Coleman 2016-04-28 11:23:03 UTC
(In reply to David Virgil from comment #6)
> 1) jboss-integration-platform-bom version should be the same (ie 6.0.6.Final
> in this case  
> 
> I agree with you. But this is just going to affect in the quickstart
> execution. As the quickstart is independent (not extending from a parent
> pom), I do not see this as a blocker.

It means that the quickstarts haven't been tested with the newer product BOM, and that means that we see:

> 2)quickstart shouldn't report camel dependencies not defined error.
> 
> But in this case, I think the camel version has been removed from the bom.
> From which bom is it expected to read camel dependencies?

when we use the same BOM for the quickstarts as we use in the rest of the project (6.0.6).  Using 2 different BOM versions seems very odd, especially as the specific change to the BOM is to fix a problem related to camel version mismatches.

If the quickstarts use the earlier BOM, then won't building projects using camel but based on the quickstarts as examples run into problems?  If so, then this is another reason to update the BOM that the quickstarts use.

Comment 10 David Virgil 2016-04-28 11:30:02 UTC
Hi Julian,

The jboss-integration-platform-bom only appears in 3 quickstarts:

jbpm-workitems-camel
blueprint-camel-drools-decision-table
spring-camel-drools-decision-table

Comment 11 Ryan Zhang 2016-04-28 13:03:51 UTC
(In reply to David Virgil from comment #6)
> 1) jboss-integration-platform-bom version should be the same (ie 6.0.6.Final
> in this case  
> 
> I agree with you. But this is just going to affect in the quickstart
> execution. As the quickstart is independent (not extending from a parent
> pom), I do not see this as a blocker.
Yes, it only affect the 3 quickstarts you mentioned.
Those quickstart are included in the deliverables and they are in the path of build the project.
Shouldn't we fix this or should we remove the quickstarts?

> 2)quickstart shouldn't report camel dependencies not defined error.
> 
> But in this case, I think the camel version has been removed from the bom.
> From which bom is it expected to read camel dependencies?
I *think* it should probably read from the top pom.xml 
or fuse parent bom. 
If quickstart shouldn't have a parent, would it make sense to import the pom?
(please correct me if it doesn't make sense to you)
> 3)is that possible to keep 8.1.14 for jetty if there is no blocker reason to
> upgrade the 3rd parties dependencies since we are very close to GA
> This was upgraded, because it was a compilation error after the upgrade to
> fuse 6.3. So I do not think this is possible.
Should we use the profile in this case?
And I noticed that the versio.fuse in default said 6.2.1.redhat-084.
My original understanding is there is no need to build from profile since there are two separte tags for each comibnations. And the properties in default are defined for Fuse 6.2.1 combinations.

Comment 12 Julian Coleman 2016-04-28 15:30:08 UTC
(In reply to David Virgil from comment #10)
> The jboss-integration-platform-bom only appears in 3 quickstarts:
> 
> jbpm-workitems-camel
> blueprint-camel-drools-decision-table
> spring-camel-drools-decision-table

Indeed.  However, for consistency, I think that we should be using BOM 6.0.6, as that is the version we're using for the product.

The quickstarts should be able to be used as a template for further work.  With the current code, if I extend one of these quickstarts and add further camel dependencies, then I'm likely to hit problems with version mismatches (which caused the removal of camel artifacts in 6.0.6).  If I need to use BOM 6.0.6 to use camel dependencies, then that should also be reflected in the quickstarts, otherwise they are not good as templates for extending.