Hi Brett, Sounds very good to me. Thanks.
Just to be sure, in your mind, should the 'site' project be the m2 site project, I mean a project that contains only m2 doc and no m1, continuum, jxr... docs. Do you think that we could also name (<name/> in pom.xml) some sub-projects (for instance, org.apache.maven:maven-artifact-ant or org.apache.maven.reporting:maven-reporting-impl) Cheers, Vincent > -----Original Message----- > From: Brett Porter [mailto:[EMAIL PROTECTED] > Sent: Saturday, October 22, 2005 11:42 PM > To: Maven Developers List > Subject: proposed SVN reorg and new bootstrap > > this relates to MNG-123, MNG-263 > > the objectives we have: > 1) build m2 with m2 (this is already possible, but I think now that 2.0 > is out this should be the primary technique) > > 2) build source distros (these won't include plugins, and will build as > above) > > 3) bootstrap without an m2 installation > > 4) bootstrap without dependencies (ie, build plexus etc from sources > before m2, for gump and gentoo, etc) > > First step is to move the assembly configuration from maven-core to the > top level of components, and also configure the source distribution > mechanism. > > The standard assembly plugin will be used to install Maven from the top > level (assembly:assembly assembly:unpack). > > Here is the layout I was thinking of: > > /repos/asf/maven > /archetype > /trunk > /m-a-core > /m-a-plugin > /m-archetypes > /m-a-quickstart > /m-a-... > /components > /trunk > /maven-ant-tasks (formerly maven-artifact-ant) > /maven-archiver > /maven-artifact > /maven-artifact-manager > /maven-artifact-test > /maven-core > /maven-embedder > /maven-error-diagnostics > /maven-model > /maven-monitor > /maven-plugin-api > /maven-plugin-descriptor > /maven-plugin-parameter-documenter > /maven-plugin-registry > /maven-plugin-tools > /maven-profile > /maven-project > /maven-reporting > /maven-repository-metadata > /maven-script > /maven-settings > /examples > /integration-tests > /maven-core-it-plugin > /maven-core-it-support > /maven-core-it-verifier > /maven-core-it > /maven-embedder-it > /bootstrap > /phase1 > /phase2 > ... > m2-bootstrap-all.[sh|bat] > ci.sh > /plugins > /maven-assembly-plugin > /trunk > /maven-...-plugin > /trunk > /repository-manager > /trunk > /maven-meeper > /repoclean (rename to maven-repository-converter?) > /sandbox > /acm > /... > /site > /trunk > > The bootstrap would be much like at present, but be split into phases. > > phase 1: > - like mboot2, but pared down so that it can do an install for any > limited pom.xml using just the jdk > - no longer deals with transitive deps or snapshots, just downloads jars > if needed (this means that we can't use a snapshot of modello or plexus > in the bootstrap and must instead build with m2 if that is the case; but > also greatly simplifies the code to avoid inconsistencies and dual > maintenance) > - no longer runs tests, a later phase will rebuild everything and do this > > Phase 2: > - builds maven-artifact-manager and its dependencies (by downloading > them) - the plexus utils and container, + modello core and modello + > wagon and the lightweight http provider > - builds a new jar depending on phase 1, utilising the artifact code > instead for transitive dependency calculation > > Phase 3: > - uses the artifact handling code for further dependency downloads > - build all libraries > - construct a minimal m2 installation in ./target/ > > Phase 4: > - reuse the installation to rebuild all libraries and install to the > final location using assembly as above > - plugins are downloaded, not built > > Phase 5: > - integration tests are built and run > - plugins are never rebuilt en masse > > If you are building everything from sources, phase 2 will build the > sources by checking them out (a simple svn exec, not using maven-scm) or > using a provided directory location. These will not be installed (as > they are untested), placed in /target/ and used to construct the > libraries, so a system like gump would not declare a dependency on them > for the bootstrap. > > When building from source, phase 4 will build the required plugins and > put them in the local repository, just as in phase 2 for modello, etc. > The required plugins are jar, plugin, clean, assembly, modello, > surefire, resources, install, compile. > > What do others think of this? > > - Brett > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
