------------------------
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
change type of maven plugins to "maven-plugin" instead of plugin.
This should allow other products to have different plugin types, if necessary.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163562 13f79535-47bb-0310-9956-ffa450edef68
o Added validation logic for non-heritable pom elements to the default project builder
o Changed default builder to select the correct super-pom from the project pom's modelVersion.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163086 13f79535-47bb-0310-9956-ffa450edef68
o Changed the embedder/container used to be the new artifact-aware container (plexus-artifact-container-1.0-alpha-1)
o Added new dependency to maven-core for artifact-container.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163006 13f79535-47bb-0310-9956-ffa450edef68
NOTE: this is not how I would like this handled, the artifact layer will
be responsible for dealing with metadata in a way that is controlled by
the artifact handler.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@162982 13f79535-47bb-0310-9956-ffa450edef68
flavours of POJOs people might try to integrate into Maven.
CompilerPlugin is now an "integrated" plugin where any amount of
arbitrary information can go into the execution and come out. In this
case the compiler plugin can send back detailed compilation errors for
use in something like and IDE.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@162614 13f79535-47bb-0310-9956-ffa450edef68