> Once our refactoring of commons classes into namespace
> org.apache.myfaces.commons.* is done we can easily change namespace
> for inlining by doing String search and replace on source level:
> replace "org.apache.myfaces.commons" by
> "org.apache.myfaces.impl-commons" (or alike)
> I already have a working proof-of-concept prototype on my local disk,
> but we need the org.apache.myfaces.* --> org.apache.myfaces.commons.*
> refactoring first.
> 
> Manfred

I don't think that will quite do it.  You still have a versioning
problem.  

As I understand it, this will meant that commons doesn't have a standard
release cycle.  Without a standard release, the commons API would be in
constant flux.  

At the very least, you would have to tag commons every time you do a
release of a project that relies on it.  This has its problems too.

(Sorry for the length of this :-) )
Suppose there is a method Foo.foo(StringBuffer s) in commons, written by
a developer in project A.  However, this developer doesn't consider this
to be a stable API.  He's still working things out.

The developer in Project B likes the Foo.foo() method and decides to use
it in 1.0.

Project B 1.0 is released.

The Project A developer decides that passing in a mutable object is
dangerous, so he changes it to Foo.foo(String s).  

Now Project B relies on a method that no longer exists.  In fact, he was
even relying on the mutability of s.  This is generally a bad thing to
do, but for some reason, it makes sense for Project B.

So what does he do if he needs to fix something in a patch branch?  He
can check out the tagged version of commons, but what if he needs to
patch commons itself?  Now he's stuck.  

The more I think about the weird scenarios, the more I think that
commons needs its own stable release.

Stan

> 
> 
> On 2/22/06, Stan Silvert <[EMAIL PROTECTED]> wrote:
> > > To reduce the risk of version conflicts and to make the release
cycle
> > > of core and tomahawk really independent, the shared classes should
not
> > > be released as JAR, but should automatically be repackaged and
> > > "inlined" into impl, tomahawk, tobago, etc.
> > >
> > > Thoughts?
> > >
> > > Manfred
> >
> > Interesting idea.  Do you know of a tool that can easily pull this
off?
> >
> > Stan
> >

Reply via email to