You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Bennett, Timothy (JIS - Applications)" <Ti...@jis.nashville.org> on 2005/08/22 21:53:15 UTC

Felix SVN trunk root

Gang,
 
As soon as my SVN authentication issues are resolved, I'll be committing
the inital code of the maven2 osgi-plugin in the Felix source repo.
 
I've noticed that currently the root of the Felix trunk contains
Richard's committment of the oscar2 source.  I'm thinking we need some
root-level directories under the Felix trunk to structure our different
*products* and artifacts that we'll be producing.
 
So maybe we need a *framework* directory in the root of the Felix trunk,
and the all of Richard's code moved under that directory.  WDYT? Maybe a
different directory name?  Just something to differentiate it from the
tools type of source I'll be committing.
 
In fact, I envision we'll need other directories under "tools".  One for
the maven-osgi-plugin, and at least one other for the work that Andreas
is doing on the Eclipse plugin for Oscar (I guess renamed now as Felix
Studio).  Maybe in the future, we might have non-core, non-framework
services and bundles that we'll decided to version control that will
have their own product directory under the trunk root.
 
Comments?
 
-- tbennett

Re: Felix SVN trunk root

Posted by "Richard S. Hall" <he...@ungoverned.org>.
Sounds reasonable to me.

-> richard

Bennett, Timothy (JIS - Applications) wrote:

>Gang,
> 
>As soon as my SVN authentication issues are resolved, I'll be committing
>the inital code of the maven2 osgi-plugin in the Felix source repo.
> 
>I've noticed that currently the root of the Felix trunk contains
>Richard's committment of the oscar2 source.  I'm thinking we need some
>root-level directories under the Felix trunk to structure our different
>*products* and artifacts that we'll be producing.
> 
>So maybe we need a *framework* directory in the root of the Felix trunk,
>and the all of Richard's code moved under that directory.  WDYT? Maybe a
>different directory name?  Just something to differentiate it from the
>tools type of source I'll be committing.
> 
>In fact, I envision we'll need other directories under "tools".  One for
>the maven-osgi-plugin, and at least one other for the work that Andreas
>is doing on the Eclipse plugin for Oscar (I guess renamed now as Felix
>Studio).  Maybe in the future, we might have non-core, non-framework
>services and bundles that we'll decided to version control that will
>have their own product directory under the trunk root.
> 
>Comments?
> 
>-- tbennett
>
>  
>


Re: Felix SVN trunk root

Posted by Daniel Fagerstrom <da...@nada.kth.se>.
Richard S. Hall wrote:

> Daniel Fagerstrom wrote:
>
>> In the future we might want to have separate release cycles for 
>> different bundles, but currently it would complicate things without 
>> any gain. We can restructure with trunk, tags and branches at the 
>> bundle level if/when we actually need it.
>
>
> Well, I expect the core framework release to be somewhat independent 
> of other bundles. The core framework will generally not ship with any 
> bundles other than what is required for its shell.
>
> So, in short, if the directory structure dictates release cycles, then 
> it should accomodate this fact.

SVN doesn't exactly dictate any particular directory structure, but 
using something like:
felix/
  proj1/
    trunk/
    tags/
    branches/
  proj2/
    trunk/
    tags/
    branches/
...

for each sub project with separate release cycle would be closest to the 
SVN communities recomendations 
(http://svnbook.red-bean.com/en/1.1/ch05s04.html#svn-ch-5-sect-6.1). The 
(sub) project roots could of course be part of a hierarchy as Niclas 
proposed. A repository structure like the one above becomes a little bit 
unconvenient for developers as one need to checkout "proj1/trunk", 
"proj2/trunk" etc instead of just "felix/trunk".

That can in turn be solved by using SVN externals 
(http://svnbook.red-bean.com/en/1.1/ch07s04.html), which are somewhat 
like symbolic links. With extrenals we could have a "felix/trunk" that 
just contain external links to "proj1/trunk" etc. Then a developer just 
need to check out "felix/trunk" to get a complete development 
environment. We used this in Cocoon and it worked well except from that 
it become much slower to update a project with lots of external links 
than updating the same amount of code in just one big project. As a 
result we decreased the number of external links and decided to solve 
the problem with independent release cycles when needed. We have maybe 
50 sub projects (blocks) in Cocoon, so the problem would be much smaller 
in Felix especially if we avoid putting files at the top level so that 
one in most cases only need to update or commit one sub project.

But I don't think we need to handle the problem with separate release 
cycles yet. As long as we keep the sub project as separate, it will be 
easy to reorganize when we need it.

/Daniel


Re: Felix SVN trunk root

Posted by "Richard S. Hall" <he...@ungoverned.org>.
Daniel Fagerstrom wrote:

> In the future we might want to have separate release cycles for 
> different bundles, but currently it would complicate things without 
> any gain. We can restructure with trunk, tags and branches at the 
> bundle level if/when we actually need it.


Well, I expect the core framework release to be somewhat independent of 
other bundles. The core framework will generally not ship with any 
bundles other than what is required for its shell.

So, in short, if the directory structure dictates release cycles, then 
it should accomodate this fact.

-> richard



Re: Felix SVN trunk root

Posted by Daniel Fagerstrom <da...@nada.kth.se>.
Bennett, Timothy (JIS - Applications) wrote:
> Gang,
>  
> As soon as my SVN authentication issues are resolved, I'll be committing
> the inital code of the maven2 osgi-plugin in the Felix source repo.

Great! We are moving to M2 in the Cocoon trunk, and currently we have a 
rather ad hoc build system for our OSGi bundles. So a M2 OSGi plugin 
will be very interesting.

> I've noticed that currently the root of the Felix trunk contains
> Richard's committment of the oscar2 source.  I'm thinking we need some
> root-level directories under the Felix trunk to structure our different
> *products* and artifacts that we'll be producing.

I would prefer a standard maven (2) multi project layout with one maven 
project for each bundle.

> So maybe we need a *framework* directory in the root of the Felix trunk,
> and the all of Richard's code moved under that directory.  WDYT? Maybe a
> different directory name?  Just something to differentiate it from the
> tools type of source I'll be committing.

With one (maven) project per bundle this would currently mean 
directories for felix, shell, sheltui and bundlerepository, IIUC. 
Eclipse use one directory for each plugin (bundle) and it seem to scale 
well.

> In fact, I envision we'll need other directories under "tools".  One for
> the maven-osgi-plugin, and at least one other for the work that Andreas
> is doing on the Eclipse plugin for Oscar (I guess renamed now as Felix
> Studio). 

Yes.

> Maybe in the future, we might have non-core, non-framework
> services and bundles that we'll decided to version control that will
> have their own product directory under the trunk root.

In the future we might want to have separate release cycles for 
different bundles, but currently it would complicate things without any 
gain. We can restructure with trunk, tags and branches at the bundle 
level if/when we actually need it.

/Daniel

Re: Felix SVN trunk root

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Tuesday 23 August 2005 23:20, Alex Karasulu wrote:
> Niclas Hedhman wrote:
> >  6.  Laboratory/Sandbox. (experiments and premature code)
>
> This whole incubator podling is a sandbox don't you think?

Good Point. Maybe I am thinking ahead a bit too far.
Point was, let me do some experiments of bundles that others may find useful, 
in which case it moves into "community supported". Hard to 'publish' ideas 
without somewhere to "fool around".


Cheers
Niclas

Re: Felix SVN trunk root

Posted by Alex Karasulu <ao...@bellsouth.net>.
Niclas Hedhman wrote:

>  6.  Laboratory/Sandbox. (experiments and premature code)
>  
>
This whole incubator podling is a sandbox don't you think?

Alex

Re: Felix SVN trunk root

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Tuesday 23 August 2005 03:53, Bennett, Timothy (JIS - Applications) wrote:

> So maybe we need a *framework* directory in the root of the Felix trunk,
> and the all of Richard's code moved under that directory.  WDYT? Maybe a
> different directory name?  Just something to differentiate it from the
> tools type of source I'll be committing.

I agree. (see you have gone ahead already :o) )

> In fact, I envision we'll need other directories under "tools".  One for
> the maven-osgi-plugin, and at least one other for the work that Andreas
> is doing on the Eclipse plugin for Oscar (I guess renamed now as Felix
> Studio).  Maybe in the future, we might have non-core, non-framework
> services and bundles that we'll decided to version control that will
> have their own product directory under the trunk root.

I think Richard is right to make the "framework" extremely thin, and you add 
what you need. IMVHO, I would like to see a separation at 'root' level to 
something like;

  0.  Tools (ant/maven/other thingies needed to build/test/validate/release
      the rest)
  1.  Framework.
  2.  Core bundles (to enable framework to provide an interface)
  3.  Standard bundles (for the services specified in the OSGi spec.)
  4.  Bundle Library (everything else we actively supports)
  5.  Site.
  6.  Laboratory/Sandbox. (experiments and premature code)

Simple, clean and straight forward.
I am not so happy with a flat structure of projects sitting side by side, with 
little indication what is required, optional and ignorable. I don't think it 
would be a problem with M2 either.


Cheers
Niclas

Re: Felix SVN trunk root

Posted by Alex Karasulu <ao...@bellsouth.net>.
Bennett, Timothy (JIS - Applications) wrote:

>Gang,
> 
>  
>
<snip/>

>I've noticed that currently the root of the Felix trunk contains
>Richard's committment of the oscar2 source.  I'm thinking we need some
>root-level directories under the Felix trunk to structure our different
>*products* and artifacts that we'll be producing.
> 
>  
>
Aye we're going to need something now.

>So maybe we need a *framework* directory in the root of the Felix trunk,
>and the all of Richard's code moved under that directory.  WDYT? Maybe a
>different directory name?  Just something to differentiate it from the
>tools type of source I'll be committing.
> 
>In fact, I envision we'll need other directories under "tools".  One for
>the maven-osgi-plugin, and at least one other for the work that Andreas
>is doing on the Eclipse plugin for Oscar (I guess renamed now as Felix
>Studio).  Maybe in the future, we might have non-core, non-framework
>services and bundles that we'll decided to version control that will
>have their own product directory under the trunk root.
> 
>Comments?
> 
>
I agree with moving things around for better structure.  It need not be 
labored over though thanks to SVN we can move things around easily 
without creating empty directories as with CVS.  Any kind of structure 
is better than no structure.  However I do request a nice informative 
Readme.txt that explains the layout.

Alex