directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot ...@marcelot.net>
Subject Re: [DISCUSS] [Release Scheme] Contract/Policy with users for releases
Date Tue, 11 Jan 2011 15:29:36 GMT
On 5 janv. 2011, at 20:32, Alex Karasulu wrote:

> 
> 
> On Wed, Jan 5, 2011 at 9:16 PM, Jesse McConnell <jesse.mcconnell@gmail.com> wrote:
> >> Since you have eclipse plugins you ought to
> >> build those with maven + tycho and have a similar and sane versioning
> >> system.
> >>
> >
> > I talked with Pierre about it. As a side point because of the way the build
> > in Studio is setup, we're unable at this point to take advantage of IDE
> > refactoring since dependencies are on bundle jars rather than on projects
> > themselves. Do you know if using Maven + Tycho will help with this specific
> > problem?
> > I'm asking this because it might spare some work for us when we refactor
> > shared which Studio depends on.
> >
> 
> when I am working on the jetty wtp plugin I am able to have all 3
> plugins open and refactor between them, I just let m2eclipse import
> and do the right thing
> 
> the combination of m2eclipse + maven3 + tycho is quite nice
> 
> Ahh cool. PAM, and Seelman is this something you might want to try or leave out for later?
I just cringe at the thought of your having to manually update Studio again after we reorg
shared.  

Hi Alex, Jesse,

The situation is a little more complicated actually as we have a three level story here.

Let me recap the situation...

Some functionalities of Studio plugins require that we use/extend classes of some Shared and
ApacheDS project modules.

Unfortunately, those Shared and ApacheDS project modules are not OSGI (or Eclipse) bundles
(yet?).
In order to solve that problem and to be able to use them in our plugins, we created a specific
Eclipse plugin for each required Shared and ApacheDS dependency.
I named such a plugin as a "Library Plugin", opposed to our "Studio Code Plugins".

A "Library Plugin" simply embeds the jar file of the corresponding Shared or ApacheDS project
module and sets a proper MANIFEST.MF file with the correct OSGI and Eclipse instructions (Bundle-SymbolicName,
Export-Package, Require-Bundle, etc.).

In the end, in your Eclipse workspace, you find yourself having two projects for a single
original module:
- that original module with the source code ('shared-ldap' for example)
- the associated library plugin, based on a constructed (snapshot) jar file of that original
module ('org.apache.directory.shared.ldap' for example)

Now, when you refactor the source code of the original module, unfortunately, the link between
that module and the final "Studio Code Plugin" is lost for Eclipse, because of the use of
the jar file in the associated "Library Plugin" between the two.
Then the modifications applied on the original module are not applied to the "Studio Code
Plugin".

I'm not sure Tycho can help us solve this issue, but it does, I'd be happy to update our Studio
build to use it...

Thoughts?

Regards,
Pierre-Arnaud
Mime
View raw message