(adding jbosstools-dev to this since think it applies to both soa
and
core)
> I think this could also apply to the BPEL component as well, but I
> don't remember if we create a feature around that in JBT or if we pull
> the feature from Eclipse.
So i'm open to suggestions on how to improve this but lets not go change
the TP process on a whim just yet.
We have recently got similar challenge in jbosstools core recently with
Eclipse Thym which is receiving more often updates than in past.
For now we have added an exemption to allow TP updates to be smoother
see
https://github.com/jbosstools/jbosstools-devdoc/blob/master/building/targ...
(basically if just update to existing TP units owned by a project we
know/control the full TP process update is not required)
Now, back to the reason why we have them as TP entries as opposed to
other components is a few:
a) to make sure we have a
download.jboss.org mirror since eclipse
mirrors are unreliable/slower (especially for people outside US)
Not sure how having this in the TP guarantees there is a mirror. If developers are
constrained to _only_ using dependencies located on a
jboss.org downloads page, it
shouldn't be an issue where it comes from. Just because a developer is using a TP
doesn't mean they can't add other repositories to their projects. Furthermore, if
a project depends on another component provided by JBoss (e.g. SAVARA depends on
SwitchYard), those projects aren't in the TP and users must manage those dependencies
themselves.
b) it is to ensure we are not just using the "master"/nightly builds of
external dependencies
Same comment as above, just because it's in the TP doesn't mean projects can't
circumvent it.
c) it is to ensure we do not drag in transitive dependencies from
eclipse.org component updatesites which (at least in the past) have had
lots of updatesite references to mix of p2 sites that resulted in
duplicated dependencies and/or wrong/non-deterministic p2 resolution
(because the updatessites
was one of a or b)
Same comment as above.
d) the
eclipse.org parts tend to participate in the eclipse release
train - thus (for simplicity) using them via TP makes it easier to track
One of the subtleties that I think you've missed is that the BPMN2 modeller is a
feature provided by JBTIS and not simply a dependency required by other features. By
moving the version of the BPMN2 modeller forward, the JBTIS site project was broken as the
dependency set was not aligned. If the BPMN2 modeller feature were included as part of
the site project, instead of the TP project, everybody can move forward in lock step.
That said, you could also argue that the site project shouldn't have been updated
until _all_ projects were ready, which did not occur in this case. (I'd be happy with
this solution as well.)
e) finally it is there to ensure we don't see a drift in multiple
modules adding different versions into their dependency/build chain.
(For core that is less likely since we have jbosstools parent pom to at
least centralize where the various updatesites are located, but jbtis is
much more spread out...hence a TP seem more relevant?)
I don't think this is a problem since this is all included via the JBTIS site build.
There is no way different dependency chains will be injected since the individual project
sites should not be including references to other sites. My understanding is that we
prune this info when we create our mirrored sites, so we shouldn't be picking up
anything extra when we build our product sites. That said, if this is not the case, then
it pretty much has to be in the TP to keep from polluting the product site (although, I
think Nick has some special magic that prunes repository references from the generated
site artifacts).
So that is the reasons...now ...does the bpmn2 and bpel parts receive
many active updates that makes it non-feasible just including updates
via the "normal" TP update process ?
That I can't answer, but I suspect the reason the BPMN2 modeller was bumped without
proper coordination was because somebody in product management was asking for it. The
Eclipse BPMN2 modeller is part of our product suite, so I would expect that it's
lifecycle will fall in line with our product lifecycles, meaning it will be treated
similarly to JBoss provided features, which is another reason to treat it as a we treat
JBoss components. (This is pure speculation, by the way.)
..and/or are there some hidden burdens in this that might not be visible
?
I don't think there's anything hidden here. SwitchYard has been specifying a
repository for BPMN2 modeller since we started requiring it. This allows us to bump the
version before it gets bumped in JBTIS, allowing both to move forward in tandem when
everybody is ready to do so. We're actually doing this now, since we started working
on the update prior to the TP being updated, and it's working just fine.
/max
>
> ----- Original Message -----
>>
>> +1!
>>
>> reducing the TP complexity is certainly a good idea - can we get a
>> show of
>> virtual hands who in IS component land actually pulls the BPMN2
>> modeler
>> from the JBTIS TP??
>>
>> --paull
>>
>>
>>
>> ----- Original Message -----
>>> From: "Rob Cernich" <rcernich(a)redhat.com>
>>> To: "soa-tools-list" <soa-tools-list(a)redhat.com>
>>> Sent: Wednesday, August 27, 2014 3:13:31 PM
>>> Subject: [Soa-tools-list] JBTIS: Managment of External Components
>>>
>>> Hey all,
>>>
>>> The recent update of BPMN2 modeller caused me to think about the way
>>> we
>>> handle components that come from external sources. To me, it makes
>>> sense
>>> if
>>> we treat these components the same way we treat our internal
>>> components.
>>> If
>>> we were to do that, these components would no longer be part of the
>>> JBTIS
>>> target platform and would instead be part of the features list
>>> described in
>>> the jbosstools and devstudio modules.
>>>
>>> In my opinion, this is a better way to treat these types of
>>> dependencies as
>>> they are components in their own right (i.e. no different than
>>> SwitchYard
>>> or
>>> Teiid, e.g.). If they are also dependencies used by other
>>> components, they
>>> would need to be managed by those other components using the same
>>> mechanism
>>> used to reference other internal component dependencies (e.g. SAVARA
>>> and
>>> SwitchYard). (SwitchYard actually references the BPMN2 repository
>>> directly
>>> specifically to avoid circularities within the tp/repo chain; i.e.
>>> SwitchYard does not require the TP be updated in order to update
>>> BPMN2
>>> modeller).
>>>
>>> Just an idea.
>>>
>>> Rob
>>>
>>> _______________________________________________
>>> Soa-tools-list mailing list
>>> Soa-tools-list(a)redhat.com
>>>
https://www.redhat.com/mailman/listinfo/soa-tools-list
>>>
>>
>
> _______________________________________________
> Soa-tools-list mailing list
> Soa-tools-list(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/soa-tools-list
/max
http://about.me/maxandersen