Commit Graph

252 Commits

Author SHA1 Message Date
John Dennis Casey a6891c4e25 Adding resolved flag to Artifact.
This is done to counter the possibility that an artifact's file is set without the artifact actually being resolved, as in the case where the artifact is a snapshot version, but no snapshot-enabled repositories exist (think plugin resolution). This also has the beneficial side-effect of providing a more intuitive method of checking whether an artifact has been resolved (rather than artifact.getFile() != null).


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226333 13f79535-47bb-0310-9956-ffa450edef68
2005-07-29 03:41:02 +00:00
Brett Leslie Porter 3c461ef89d PR: MNG-670
stronger warning if scope gets updated over the root POM

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225788 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 14:54:04 +00:00
Brett Leslie Porter 5d82fcb8a6 PR: MNG-249
also recognise transitive projects



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225780 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 14:19:03 +00:00
Brett Leslie Porter 9a86709abd PR: MNG-249
make compile and package reactor aware



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225731 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 09:32:32 +00:00
Brett Leslie Porter 74fdce8502 correct silly initialisation order mistake
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225718 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 07:14:33 +00:00
Brett Leslie Porter 231c6a7a1d PR: MNG-615
implement repository confidence levels. currently updates poms daily if they are not deployed or verified

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225714 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 06:35:47 +00:00
Brett Leslie Porter eedd050414 PR: MNG-649
add classifier to dependency. it becomes part of the dependency key along with type when not null

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225524 13f79535-47bb-0310-9956-ffa450edef68
2005-07-27 14:17:41 +00:00
Brett Leslie Porter 5d46a03299 allow version spec/release version of an extension
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225480 13f79535-47bb-0310-9956-ffa450edef68
2005-07-27 08:27:48 +00:00
Brett Leslie Porter 826413b74a PR: MNG-598
allow type handlers to be specified by plugin extensions



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225477 13f79535-47bb-0310-9956-ffa450edef68
2005-07-27 08:03:33 +00:00
Brett Leslie Porter 8b01ca10f7 PR: MNG-226
implement extension mechanism

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225463 13f79535-47bb-0310-9956-ffa450edef68
2005-07-27 06:14:20 +00:00
John Dennis Casey 89371bb7fd Adding null checks for lists of artifacts before mapping them...now methods will simply return empty Map instances if null lists are passed in.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225321 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 15:00:36 +00:00
Brett Leslie Porter 17991ceea7 cleanup
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225317 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 14:41:35 +00:00
Brett Leslie Porter e78bef0429 PR: MNG-598
implement ability to retrieve packaging handlers (lifecycle mappings) from extension plugins. Remove plugin mapping
metadata for the same
integration tests are in place for type handlers but commented out until implemented (41)


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225263 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 09:04:32 +00:00
John Dennis Casey 73e549b231 o Fixing resolution of LATEST in plugin-versions, when <useLatest/> is enabled in plugin-registry.xml, or when --check-plugin-latest is specified on the command line.
o Fixing core-library resolution for expression: ${plugin.artifacts} and ${plugin.artifactMap} (latter is keyed by g:a)

o Modified maven-core-it-plugin to accept something like "-DartifactToFile=org.apache.maven:maven-artifact"...it'll lookup that artifact in ${plugin.artifactMap}, and touch a file that's a mutation of the abs. path for that artifact.

o Added pomArtifact to ResolutionGroup, since the MavenMetadataSource ALWAYS creates a new Artifact for a pom...this allows us to retrieve the resolved Artifact for that pom.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225234 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 05:54:24 +00:00
Brett Leslie Porter 086463b5b4 PR: MNG-456
allow separate snapshot and release repositories
deprecate existing snapshotPolicy and checksumPolicy in favour of updatePolicy and checksumPolicy within the <releases> and <snapshots> elements in the <repository> element.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@224707 13f79535-47bb-0310-9956-ffa450edef68
2005-07-25 09:51:12 +00:00
John Dennis Casey 701ef520a3 Working on MNG-607
o Changed MavenMetadataSource to a component, to avoid having to lookup artifactFactory and projectBuilder in order to 
  construct it.

o Added add(..) method to ScmBean in the release plugin to allow addition of release-pom.xml

o Changed the PrepareReleaseMojo to resolve ONLY version and parent-version for the normal pom.xml, and fully resolve all
  artifacts used in the release-pom.xml, including version, parent-version, dependency closure (given by project.getArtifacts()), plugins, and reports. It will then add the release-pom.xml, and (attempt to) delete it before performing the final commit for next development version.

o Added some mapping methods to ArtifactUtils, to key by artifact.getId, and to create an Artifact.getId()-compatible string from parameters.

o Added TestProjectBuilder to remove the requirement in ProjectClasspathTest to modify the fields of the project builder directly.

o Cleaned up the AbstractReleaseMojo and PrepareReleaseMojo to avoid container lookups...they're now mojo parameters with the 'component.' prefix.

NOTE: Next step is to figure out how to use maven-scm to remove an SCM resource, to enable the prepare mojo to take the release-pom.xml back out of HEAD after the tag is complete.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@224413 13f79535-47bb-0310-9956-ffa450edef68
2005-07-22 22:07:28 +00:00
Brett Leslie Porter 7073a7c7ad use type handler's classifier
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220326 13f79535-47bb-0310-9956-ffa450edef68
2005-07-22 14:18:04 +00:00
Brett Leslie Porter aa59559efb PR: MNG-507
implement repository relocation of an artifact


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220220 13f79535-47bb-0310-9956-ffa450edef68
2005-07-22 00:31:44 +00:00
Brett Leslie Porter 511af3d3e2 PR: MNG-596
add XSD definition to m2 poms and archetypes



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220079 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 13:58:42 +00:00
John Dennis Casey 99bdd48d92 Bumping plexus-utils version to 1.0.1
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219984 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 02:17:16 +00:00
Brett Leslie Porter ecb04d2bb8 avoid NPE, pass on to proper validation
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219888 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 12:32:01 +00:00
Brett Leslie Porter 6ab6bf4e40 PR: MNG-505
clarify

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219846 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 06:32:28 +00:00
Brett Leslie Porter 289aa0f6a5 PR: MNG-505
enable version ranges in resolution (only default conflict resolution - nearest suggested version, fail if over-constrained)

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219844 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 05:53:57 +00:00
Brett Leslie Porter 43c132f0fd PR: MNG-505
prepare for version ranges in the artifact collector

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219834 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 02:30:52 +00:00
Brett Leslie Porter d5e54a5744 PR: MNG-505
prepare for version ranges in the artifact collector

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219833 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 02:27:18 +00:00
Brett Leslie Porter 64836b2555 make versions with 4 or more parts be treated as string comparisons
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219823 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 00:52:26 +00:00
Brett Leslie Porter 5685fb9041 PR: MNG-505
empty restrictions means that nothing is valid, otherwise there will be one restriction EVERYTHING

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219815 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 23:45:44 +00:00
Brett Leslie Porter 407c29c3e0 PR: MNG-505
test multiple ranges on each side

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219808 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 23:27:41 +00:00
Brett Leslie Porter 8bf61afbd3 PR: MNG-505
get the intersection of ranges

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219803 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 23:14:02 +00:00
Brett Leslie Porter 50eb5f8fdc PR: MNG-505
if a version doesn't match the format, revert to string comparison

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219777 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 21:19:26 +00:00
Brett Leslie Porter 4e9bd7a8e9 PR: MNG-505
range and soft requirement intersections

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219633 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 09:30:03 +00:00
Brett Leslie Porter d7d6c11a4b PR: MNG-505
test for correct ordering and overlap

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219631 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 08:41:28 +00:00
Brett Leslie Porter 27cdfc3cd1 PR: MNG-505
use comparable versions in ranges

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219630 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 08:23:01 +00:00
Brett Leslie Porter 4fcc1e1074 PR: MNG-505
parse ranges

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219625 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 06:43:09 +00:00
Brett Leslie Porter 810d4a3276 PR: MNG-505
artifact refactoring to facilitate version ranges



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219616 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 05:04:39 +00:00
Brett Leslie Porter 853b70081b cleanup, reformat
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219588 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 01:11:17 +00:00
Brett Leslie Porter 148aac1ba9 additional rule about SNAPSHOTs
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219475 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 11:59:56 +00:00
Brett Leslie Porter bcb912254b default artifact versioning according to spec
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219459 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 05:54:20 +00:00
John Dennis Casey c7d5e83520 Resolving: MNG-397
o Added ResolutionGroup class which contains a set of artifacts and a list of repositories to resolve them.
o Made the ResolutionNode a standalone class, and added the remote repositories to it
o Changed ArtifactMetadataSource.retrieve(..) to return ResolutionGroup rather than Set, in order to help keep track of the repositories which should be used to resolve the retrieved artifacts.

We need some tests for this...


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219276 13f79535-47bb-0310-9956-ffa450edef68
2005-07-16 01:24:13 +00:00
John Dennis Casey 2c80da6ba4 Resolving: MNG-482
To use the new artifact map for either the project or the current plugin from your mojo, simply use one of the following expressions:

  ${plugin.artifactMap}
  ${project.artifactMap}

The artifacts in these maps are keyed using org.apache.maven.artifact.ArtifactUtils.versionlessKey( String groupId, String artifactId ) (found in the maven-artifact project).



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219234 13f79535-47bb-0310-9956-ffa450edef68
2005-07-15 19:04:20 +00:00
John Dennis Casey cb257db78e Resolving:
MNG-511
MNG-513

Working on:

MNG-449

o Added code to stop the version manager from prompting the user for unregistered plugins; it will simply register them with the resolved version.

o Added failover fourth plugin-version resolution option, which is a plugin-specific artifact metadata called LATEST.version.txt, and will be published with each install/deployment

o Added MavenProject.get/setArtifact(..) to handle a single artifact instance for a project (allows injection of artifact metadata without having to handle it all within the install/deploy mojos).

o Changed plugin-version resolution to only use MavenMetadataSource rather than resolving the whole plugin artifact.

o Changed the install and deploy mojos to only use ${project.artifact} rather than constructing their own, so they can take advantage of metadata added elsewhere in the build.

o Factored the "RELEASE".equals(..) check in the DefaultRepositoryLayout to use new metadata method storedInArtifactDirectory() instead, since RELEASE and LATEST both share this characteristic.


NOTE: I'm not going to resolve MNG-449 yet, because I'm not sure what else Brett had in mind related to the plugin-development-without-release use case...



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@215919 13f79535-47bb-0310-9956-ffa450edef68
2005-07-12 04:13:40 +00:00
John Dennis Casey 4b53aba3bb Fixing issues related to MNG-377, where the plugins.xml metadata was being mishandled. Separated updating of this metadata into a separate mojo, bound to the 'package' phase, and put in a validator for the POM (POM has to have distributionRepository now for maven-plugin's) which is bound to the 'validate' phase. Put together an integration test that uses modello:java as a case where the pluginGroups must be consulted. Also had to change the Verifier to check a verifier.properties for failOnErrorOutput, which will suppress IT failures based on [ERROR] log output (modello outputs one of these, and kills the IT unnecessarily).
MNG-377 should be resolved at this point.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@215890 13f79535-47bb-0310-9956-ffa450edef68
2005-07-11 22:08:58 +00:00
John Dennis Casey 03a50c1462 [MNG-377] Resolving.
Added new mojos to the plugin-plugin that will update the plugins.xml mapping metadata in the plugin's group on the distribution repository.




git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@210153 13f79535-47bb-0310-9956-ffa450edef68
2005-07-11 16:13:33 +00:00
John Dennis Casey 63aab278c2 Working on: MNG-377
o Added component descriptor for the MavenPluginMappingBuilder

o Added a new ComponentDiscoveryListener implementation to factor the DefaultPluginManager out of the plexus.xml for maven-core...the DefaultPluginManager now delegates to this component for plugin registration/lookup/etc. and has proper component requirements.

o Moved the DefaultPluginManager component declaration into components.xml, and added a component definition for MavenPluginCollector to plexus.xml in maven-core

Next step is to get rid of the old pluginKey junk, and start using o.a.m.Plugin instances to hold g🅰️v info for all plugins in the system...this will make the interface cleaner and remove the need to concat/parse the plugin identity. Then, I'll add the mapped-plugin lookup functionality to the lifecycle executor.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@209563 13f79535-47bb-0310-9956-ffa450edef68
2005-07-07 03:18:53 +00:00
John Dennis Casey ca59227be1 Working on: MNG-377
o Added maven-plugin-mapping project to handle repository metadata that contains prefix-to-artifactId mappings for groups of plugins

o Added builder classes for plugin mappings

o Modified maven-artifact and maven-artifact-manager to handle the concept of repository metadata in addition to artifact metadata.

o Added pluginGroups section to settings.xml, new code to merge these lists of plugin groups, and a unit test to ensure that this merge is taking place properly.

o Added maven-plugin-mapping to dependencies of maven-core, along with the list of builds to be performed by mboot.

Should be ready to incorporate plugin mapping consultation into the lifecycle executor and the deploy mojo...



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@209550 13f79535-47bb-0310-9956-ffa450edef68
2005-07-07 00:17:37 +00:00
Trygve Laugstol 55518cbd57 git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@208743 13f79535-47bb-0310-9956-ffa450edef68 2005-07-01 10:37:49 +00:00
Emmanuel Venisse a029d766ce Update all versions to beta-1-SNAPSHOT
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@202001 13f79535-47bb-0310-9956-ffa450edef68
2005-06-27 15:29:14 +00:00
John Dennis Casey fcbc5e7d6f Resolving: MNG-495
o Pressing [ENTER] at a plugin update prompt should result in the plugin being registered, as indicated by the prompt.
o Use CLI switch '--no-plugin-updates' to suppress usage of the plugin registry
o Use CLI switch '--update-plugins' to force updated/resolved plugin versions to be registered
o Neither of these has a short CLI option, since we're starting to run out of sensible char options for these types of things.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@193082 13f79535-47bb-0310-9956-ffa450edef68
2005-06-23 06:03:10 +00:00
John Dennis Casey 6100b37321 Updating non-maven, non-modello deps to get rid of snapshots. Also removed marmalade stuff from mboot.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@193052 13f79535-47bb-0310-9956-ffa450edef68
2005-06-23 02:31:28 +00:00
Brett Leslie Porter c0e768cc1d add verbose mode for ant tasks
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@192970 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 18:29:24 +00:00