------------------------
o Factored the layout for a repository into a separate set of components in o.a.m.a.repository.layout
o Added new DefaultRepositoryLayout that uses the repo layout in http://docs.codehaus.org/pages/viewpage.action?pageId=22230 (it is not used by default until we get the repo1 conversion done)
o Added command-line switches to force legacy local-repo or new format (-a/-A, I know, but try to find something that makes more sense!)
o Added path formatting to the repository itself, which is now constructed with a ArtifactRepositoryLayout instance (since layout should be tied to the repository)
o Removed path formatting altogether from the DefaultArtifactHandlerManager.
o Changed the AbstractArtifactBasedComponent (or whatever it's called) to use the repository formatting in the path() and localPath() methods.
o Moved the plugin repo construction (still intact as a hard-coded singleton list) into the DefaultMavenProjectBuilder, where it will eventually build from POM info.
o Added a new method to build an artifact repository for a <distributionManagement/> section, if possible. This reduced the strain on mojos to construct an ArtifactRepository on demand.
o Refactored all *DeployMojo to use #project.distributionManagementArtifactRepository instead of the #settings, #component..ArtifactRepositoryFactory, ... that it used to require. This is a big simplifying step.
o Removed remote artifact repository construction from DefaultMaven, and changed the MavenSession to delegate to MavenProject for remoteArtifactRepositories, just as it does for pluginRepositories.
o Added remoteArtifactRepositories, pluginArtifactRepositories, distributionManagementArtifactRepository to MavenProject as a cache for the higher-level repos used throughout the system. This is project info, so it belongs here.
o Fixed all the tests in maven-core and maven-artifact which I broke. :)
o Dropped what is probably a big format-bomb, since the Eclipse formatter doesn't really handle 'throws Exception' wrapping the right way.
o Added MavenProject to the MavenSession constructor, since there should always be a MavenProject associated with a build, even if it's just the super-pom.
TODO:
--------------------------
- Write an integration/unit test to ensure that the new repo format works with $classifier (was: $extra) and $groupId[0]/../$groupId[n]. This is a simple adaptation of the old layout, but still needs testing.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163638 13f79535-47bb-0310-9956-ffa450edef68
any returns from success will be conveyed by the request, soon to be converted into fields on the plugin. These will eventually be extracted using OGNL, but this is all post alpha-1 work
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163621 13f79535-47bb-0310-9956-ffa450edef68
o Adjusted the maven-archetype stuff to work with the new artifact creation/resolution/etc. methods in maven-artifact and maven-core.
o Removed all direct construction of DefaultArtifact and replaced with ArtifactConstructionSupport where it would have involved putting the DefaultArtifactFactory in the plexus.xml, and where the code doesn't need dependency-oriented methods.
o Archetype works now, using the example provided in plexus/plexus-site/src/site/apt/building-plexus-applications.apt
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163615 13f79535-47bb-0310-9956-ffa450edef68
o Changed the type of notifier created by the nagEmailAddress from 'email' to 'mail' following brett's changes to the maven-components pom.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163614 13f79535-47bb-0310-9956-ffa450edef68