HI All,
Comments inline
On Jan 7, 2006, at 5:39 AM, Bernd Bohmann wrote:
The next round
tomahawk should not build sandbox if I only make changes in tomahawk
core (org.apache.myfaces)
[This has a own release cycle]
====
myfaces/core/trunk/pom.xml
myfaces/core/trunk/myfaces-api/pom.xml
myfaces/core/trunk/myfaces-impl/pom.xml
myfaces/core/trunk/assembly/pom.xml
<modules>
<module>myfaces-api</module>
<module>myfaces-impl</module>
<module>assembly</module>
<modules>
commons (org.apache.myfaces)
[This has a own release cycle]
=======
myfaces/commons/trunk/pom.xml
myfaces/commons/trunk/src/main
myfaces/commons/trunk/src/test
myfaces/commons/trunk/src/site
[myfaces/commons/assembly/pom.xml]
NOTE: own assembly not really needed
if released as part of the assembly of core and tomahawk
tomahawk & sandbox
(org.apache.myfaces.tomahawk or org.apache.myfaces)
[This has a own release cycle]
[Sandbox is not released only in nightly build]
=======
myfaces/tomahawk/trunk/pom.xml
myfaces/tomahawk/trunk/src/site
myfaces/tomahawk/trunk/tomahawk/pom.xml
myfaces/tomahawk/trunk/tomahawk/src/main
myfaces/tomahawk/trunk/tomahawk/src/test
myfaces/tomahawk/trunk/tomahawk/src/site
myfaces/tomahawk/trunk/tomahawk/example/pom.xml
myfaces/tomahawk/trunk/sandbox/pom.xml
myfaces/tomahawk/trunk/sandbox/src/main
myfaces/tomahawk/trunk/sandbox/src/test
myfaces/tomahawk/trunk/sandbox/src/site
myfaces/tomahawk/trunk/sandbox/example/pom.xml
myfaces/tomahawk/trunk/assembly/pom.xml
NOTE: If tomahawk has a different groupid the pom is not inherited
Maybe we can start which the same groupid, if it makes sense we can
change it in a future version. (When the tomahawk pom is to different)
I like this.
NOTE: You should be able to build tomahawk without sandbox. Maybe
the examples should move to tomahawk/trunk/examples/tomahawk and
tomahawk/trunk/examples/sandbox for the same reason.
Agreed - I have been in and out of the deve lists for the last 6
weeks or so and have not had a chance to follow the discussion on
commons and how we package it so that tomahawk can run on the RI. Is
the idea that tomahawk would have two assemblies, one for running in
the RI and one for MyFaces?
tools (org.apache.myfaces)
[no assembly but release on a maven repository]
=====
myfaces/tools/trunk/pom.xml
myfaces/tools/trunk/myfaces-archetype-plugin/pom.xml
myfaces/tools/trunk/build-tools(checkstyleandpmdconfiguration)/pom.xm
NOTE: The myfaces-archetype-plugin is an archetype-plugin for maven
currently in the test repository.
This is fantastic! Perhaps we could donate it to the mojo project on
codehaus? That project seems to get lots of exposure and exposure
never hurts :-)
site (org.apache.myfaces)
[never released only for publishing the main site and the content
of the
main site]
=====
myfaces/site/trunk/pom.xml
NOTE: The main site can be part of core but the site is for everything
not just for core
Process for updating the site and publishing the nightly builds and
the snapshots:
=======
This is done by special task from the continuum server or by some
chron scripts invoked on the myfaces.zone.apache.org server?
The idea is:
We call some maven goals on some poms.
mvn site:deploy in the site trunk for the main site
Do we want to do some QA on the site before pushing it out? Something
like a nightly build of the site that someone could point a link
crawler at? Just a thought. We had a somewhat lengthy discussion on
this topic on the WADI incubation list but I don't think that list is
archived yet. Here is the jest of what we came up with for WADI
(Builder is the site builder);
1) Builder - builds site with mvn site and does an initial sanity check
2) Builder - once satisfied that the build is not a waste of anyone
else's time pushes the site to an intermediate server
3) Builder - sends email to dev & user list stating that website X.X
RC1 is available for review at http://intermediate/foo/index.html
4) Everyone interested clicks on the links reads the doc etc and
files jira issues against the site
5) Repeat steps 1 - 4 until dev's are satisfied with the site
6) Builder - push the site out to official project site
This is not necessary but adds a bit of safety that the pushed site
is 'good'.
If we had an automated link crawler we could automate that as part of
continuum and get an email right after a checkin breaks the site,
just another thought...
mvn site:deploy in the core, commons and tomahawk trunk
NOTE: The links between the the top level site and the subprojects are
added manually in the site.xml. The svn version of the site plugin is
reactor aware(Then not all links between the subprojects must
defined).
mvn deploy:deploy on all trunks for deploying all artifacts to the
snapshot repository
mvn assembly:assembly for the nightly build on core and tomahawk
NOTE: A release need some more steps, but maven has a plugin for this
and a best practice.
TODO define a snapshot repository
Don't we have space on apache somewhere - I know the incubator
projects have space to do this kind of thing I'd be happy to look
into it.
TODO define all artifactids
TODO find a better name for assembly (dist|build|bin)?
I like assembly.
TODO use the myfaces solaris zone for publish the site, nightly
build, continuum..
TODO setup continuum
TODO define the process for updating the site and nightly build
Best Regards
Bernd
--
Dipl.-Ing. Bernd Bohmann - Atanion GmbH - Software Development
Bismarckstr. 13, 26122 Oldenburg, http://www.atanion.com
phone: +49 441 4082312, mobile: +49 173 8839471, fax: +49 441 4082333