This looks great!
I had a couple of suggestions I mentioned to Prasad on IRC:
- move client-transaction to the plugins/connector
- move the jetty specific clustering stuff from plugins/clustering to
plugins/jetty
Unfortunately the sandbox doesn't seem to have svn history. I think
its essential to preserve svn history. I think we can get this into
trunk, preserve svn history, and hopefully preserve Prasad's sanity by:
1. create the new directories in trunk (e.g. framework, plugins/
connector, plugins/* etc)
2. svn cp the existing modules and configs to their new locations.
This is probably the hard part.... I guess I'd start with the output
of ls modules configs and write a script.
3. copy the new and modified poms (and other files) from restructure
to trunk. If we copy rather than svn cp modified files we wont break
history. Also, as long as we don't modify the root pom, all work up
to here can be committed without affecting the existing build.
4. after committing the modified root pom, remove modules and configs.
I'm in favor of asking Prasad to do steps 1-3 immediately in trunk.
I'm fine with (4) too but perhaps we should have a vote on (4) since
this is a pretty large change?
thanks
david jencks
On Oct 29, 2007, at 8:51 PM, Prasad Kashyap wrote:
I ran the tck smoketest (both Jetty & Tomcat) on the restructured
build and the results were consistent with the ones from the current
trunk build.
What are the next steps ? If we plan to use this tree for 2.1 trunk,
then we should merge ASAP before the trees get too much out of synch.
I'd appreciate if folks checked out the restructure dir from sandbox
and built the new tree.
The steps are listed here again
1) begin with a good local repository for your trunk build.
2) delete applications, assemblies, modules, geronimo, configs,
plugins and mavenplugin dirs under .m2/org/apache/geronimo dir of your
local repo.
3) svn co https://svn.apache.org/repos/asf/geronimo/sandbox/
restructure
4) mvn -o -Dstage=bootstrap
5) mvn -o -Dstage=assemble
P.S: If jee-specs and myfaces modules fail to build due to missing
o.a.myfaces.core/myfaces-* dependencies, just build those in the
online mode.
Cheers
Prasad
On 10/29/07, Joe Bohn <[EMAIL PROTECTED]> wrote:
Donald Woods wrote:
I think we really need to find some way to break the specs into
smaller
pieces. Having to install all of the JEE specs just for the simple
minimal web container assembly is ugly and wastes disk space.
Well, we could have a config per spec ... but that might be a bit too
much. I'm not sure what smaller organizations would look like.
We thought about breaking jee-specs up when we created the minimal
assemblies but at the time it didn't seem worthy of the effort. Now
that we are getting closer to making the flexible server a reality
perhaps it is time. But I'm still not convinced that it would be
worth
the complexities it would bring and it doesn't consume a huge
amount of
space.
Joe
David Jencks wrote:
Good work!! A couple comments inline.
On Oct 29, 2007, at 7:48 AM, Prasad Kashyap wrote:
I spend most of the weekend trying to restructure trunk to
reflect the
new flexible server and I should tell you, it has been one
shitty job
much akin to untangling the knots of Medusa's hair.
To begin with I wanted to build just the modules and configs
(along
with the necessary buildsupport and maven-plugins artifacts)
that go
into a framework assembly.I believe that if we effectively want to
restructure the build tree to reflect the flexible server, then we
should be able to build just the framework artifacts ONLY. The
framework artifacts should not have a dependency on plugins
artifacts
because they are optionally choosen to build an assembly of
choice.
Also, if our strategic vision is to break down the tree into
smaller
projects for framework, plugins etc, this we should break this
cyclical dependency too. See Jason's response here -
http://www.nabble.com/forum/ViewPost.jtp?
post=12460948&framed=y&skin=134
First hitch - Our framework assembly contains jee-specs car.
This car
has a dependency on o.a.myfaces.core/myfaces-api jar. Either
this is
in a incorrect dependency which we don't need at this point or it
might be truly needed here so that it gets in the classpath for
later
use. I commented this dependency out and proceeded to build jee-
specs
car. I strongly tend to believe that this myfaces dep is wrongly
placed here. If it is really req'd then we have a bigger
problem of
fixing our classloader scheme.
I don't understand the problem here and what you want to do. We
have
several other specs (from axis and jstl) that we don't build
that are
included in jee-specs. Is the jsf api different from these in some
way? Do you want to remove the jsf spec from jee-specs or the
jee-specs from the framework assembly? I remember having a lot of
classloader problems trying to get stuff to run and pass the tck
before we came up with the jee-specs module, but it might be
possible
to split it up and put the jars with the implementations that use
them. I think this will be difficult so I'd like to postpone that.
Second hitch - Trying to build framework assembly's
server-security-config car requires you to build j2ee-deployer.
If you
wish to build j2ee-deployer, it pulls in other j2ee-* modules
and cars
which in turn has a dependency on webservices. Slowly we are
building
more and more plugins which are optional artifacts.
This is definitely a problem. I think we can solve it with a
security-deployer config that has the security related gbeans from
j2ee-deployer in it. What do you think?
If we really have to build a lot of plugins just to build the
framework artifacts, then there is little point in
restructuring the
build tree now or breaking the tree later.
I have checked in the restructured code under sandbox/
restructure. I
have been able to do a bootstrap build thus far.
To build this on your machine, take the following steps
1) begin with a good local repository for your trunk build
2) delete applications, assemblies, modules, geronimo, configs,
plugins and mavenplugin dirs under .m2/org/apache/geronimo dir
of your
local repo.
3) svn co https://svn.apache.org/repos/asf/geronimo/sandbox/
restructure
4) mvn -o -Dstage=bootstrap
5) mvn -o -Dstage=assembly <---- You should fail here
Thanks!
david jencks
Cheers
Prasad