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]

Reply via email to