>  * myfaces-shared will have sub-modules that represent the custom
> dependency libs with private namespace for each MyFaces subproject
> that needs shared classes (only impl and tomahawk so far). All (=both)
> artifacts will automatically be created from the same source that sits
> in the Maven parent module "myfaces-shared:
>   - Artifact "myfaces-shared-impl" with namespace
> "org.apache.myfaces.impl.shared.*"
>   - Artifact "myfaces-shared-tomahawk" with namespace
> "org.apache.myfaces.tomahawk.shared.*"

Is it accurate to say shared will never be released? I know we won't
make release announcments or include it in a zip but it has to be
released for maven purposes. I just wanted to clarify that.

>  * We flush everything from "commons" and plan to refill it with real
> commons classes - ie. classes with public interest that make sense
> outside the MyFaces scope as well AND which have a well designed and
> stable API. To achieve this the new "commons" subproject will be
> divided into an api and an impl part (as suggested by the John and
> Adam): myfaces-commons-api-x.y.z.jar and
> myfaces-commons-impl-x.y.z.jar

Yes agreed.  I would take it one step further and remove the commons
website and module for now.  In order to minimize confusion I also
suggest we do *not* have a shared tab for the website.

> Sean, anything that speaks against creating a shared SVN module in
> trunk right now?

I guess we could make it a trunk just as easily as a branch.  SVN will
allow us to merge between commons trunk and the shared trunk while
things are in development (just as easy as merging between trunk and
branch.)  I do strongly urge that people not change anything that
requires a commons/shared change while this is going on.  Whatever it
is, it can wait!  That will make our lives much simpler.

> I think we could do the following to get our core released ASAP:
> 1. Forget about already released myfaces-commons-1.1.2.jar (we
> "unrelease" it somehow) and go back to the start.

Just ignore it.  Eventually it will be replaced by a more meaningful
2.0 release.  I advise against "unreleasing"

> 2. Create the "shared" SVN module with the two submodules
> "shared-impl" and "shared-tomahawk".

Agreed.  The bulk of the code sits in the top level right?  I'm still
a little confused about the maven details.  Maybe another post
explaining this?

> 3. Move everything from commons to shared and change namespace to
> "org.apache.myfaces.shared.*".

Yes.  I will do the svn move for you now.  This doesn't hurt to do now
while we discuss.

> 4. Build the two dependency libs myfaces-shared-impl and
> myfaces-shared-tomahawk.
> 5. Refactor impl to use the org.apache.myfaces.impl.shared.* classes
> 6. Refactor tomahawk to use the org.apache.myfaces.tomahawk.shared.* classes

+1

> At this point we are ready to start the (now really independent!)
> release processes for impl-1.1.2 and tomahawk-1.1.2

Yay!

> Thougths?
> Please consider carefully. IMO this all sounds more complicated than
> it really is.
> I know there is some pressure for the release. And many of you will
> have the feeling that it's better to release fast and do massive
> refactoring afterwards. The point is: once we have an official core
> release out in the wild that dependes on an official commons release,
> the chance for doing this all without "collateral damage" (oh, I hate
> this term) is gone.

You are absolutely right that we should not release until this is
addressed.  We don't want all of the confusion of introducing users to
commons, then take it away, then give it back except now its something
new!  Lets focus on this exclusively the next few days and get it
done.  I'd also like to hear from Simon, John and some of the others
who have expressed an interest in this area before.

> Manfred

Sean

Reply via email to