Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » How to update subset of p2 site content?
How to update subset of p2 site content? [message #765243] Tue, 13 December 2011 17:25 Go to next message
Andrey Ilinykh is currently offline Andrey Ilinykh
Messages: 12
Registered: July 2009
Junior Member
Hello everybody!
Our application has a bunch of features. Each feature has its own life cycle and release schedule, but all of them use the same p2 site. As far I understand, buckminster rebuilds all projects. As result when we create p2 site all features get new versions (because of qualifier), and application has to update everything even only one feature gets version increment.
What is the best way to handle this situation? What is the best practice to use the same p2 site for several independent components?

Thank you,
Andrey
Re: How to update subset of p2 site content? [message #765491 is a reply to message #765243] Wed, 14 December 2011 07:26 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
HI Andrew,

It's likely that you would benefit from using a
lastModified/lastRevision qualifier generator. It will generate a
qualifier based on repository (svn/git/cvs) data so that unless you
change your code, the qualifier will remain the same.

The feature qualifier is then based on the qualifiers of each of its
included features/plugins so that unless at least one them change, the
feature qualifier will also remain stable.

HTH,
- thomas

On 2011-12-13 18:25, Andrey Ilinykh wrote:
> Hello everybody!
> Our application has a bunch of features. Each feature has its own life
> cycle and release schedule, but all of them use the same p2 site. As far
> I understand, buckminster rebuilds all projects. As result when we
> create p2 site all features get new versions (because of qualifier), and
> application has to update everything even only one feature gets version
> increment.
> What is the best way to handle this situation? What is the best practice
> to use the same p2 site for several independent components?
>
> Thank you,
> Andrey
Re: How to update subset of p2 site content? [message #766895 is a reply to message #765491] Fri, 16 December 2011 15:59 Go to previous messageGo to next message
Fabian Baboschi is currently offline Fabian Baboschi
Messages: 40
Registered: December 2009
Member
Hi,

I have a problem with lastModified/lastRevision approach.

You have 2 features containing 2 plugins:
Feature 1 has plugin 1 which has class 1 which defines constant X=3
Feature 2 has plugin 2 which has class 2 which uses constant X

From what I saw (and it was a painful conclusion), the constants are replaced by their value at compile time. So although you don't have any modification in the plugin 2 source, you have a binary that is different.

For some reason, you need to change the constant value from 3 to 5. Note that the last revision/last modification won't pick up that the class 2 binary has changed (the constant X value changed in the binary from 3 to 5) in the mean time.

Is there a solution that would fix this scenario?

Thank you,
Fabian
Re: How to update subset of p2 site content? [message #766918 is a reply to message #766895] Fri, 16 December 2011 16:43 Go to previous message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
On 2011-12-16 17:00, Fabian Baboschi wrote:
> Hi,
>
> I have a problem with lastModified/lastRevision approach.
>
> You have 2 features containing 2 plugins:
> Feature 1 has plugin 1 which has class 1 which defines constant X=3
> Feature 2 has plugin 2 which has class 2 which uses constant X
>
> From what I saw (and it was a painful conclusion), the constants are replaced by their value at compile time. So
> although you don't have any modification in the plugin 2 source, you have a binary that is different.
>
> For some reason, you need to change the constant value from 3 to 5. Note that the last revision/last modification won't
> pick up that the class 2 binary has changed (the constant X value changed in the binary from 3 to 5) in the mean time.
>
> Is there a solution that would fix this scenario?
>
A fix would include comparing the new binary artifact with a previously built binary artifact before generating the
qualifier which in turn is included in the manifest of the binary artifact. Tricky business to say the least.

In order to solve it, the binaries needs to be unpacked and then the class files must be compared one by one.

Buckminster doesn't perform such comparisons.

On the other hand, changing a public constant should be considered an API change and hence, render a change of at least
the minor version number. Such changes must be done manually.

- thomas
Previous Topic:Problem when signing product
Next Topic:Cannot access Action in CSPEX
Goto Forum:
  


Current Time: Sat Oct 25 01:36:16 GMT 2014

Powered by FUDForum. Page generated in 0.06076 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software