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