Commit Graph

214 Commits

Author SHA1 Message Date
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
Brett Leslie Porter f2653b0cb7 - fix ant tasks
- disable cycle detection (warn instead)
- show version in dep trail

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@192966 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 18:08:21 +00:00
Brett Leslie Porter 9618d2b856 show version in path on failure
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@192961 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 17:39:02 +00:00
Brett Leslie Porter 68417deebf implement resolution listener
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@192959 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 17:33:17 +00:00
Brett Leslie Porter 777cbc968c ensure failed artifact path is passed through to all resolution exceptions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191953 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 14:27:35 +00:00
Brett Leslie Porter 75ff0f8d73 print path to error for cyclical dependencies
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191839 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 13:39:45 +00:00
Brett Leslie Porter 37007c1891 implement cycle detection
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191819 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 12:27:28 +00:00
Brett Leslie Porter c3d0ba0846 use managed versions for project
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191783 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 08:25:34 +00:00
Brett Leslie Porter d30f51a6a6 disable unimplemented tests again
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191782 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 07:54:18 +00:00
Brett Leslie Porter 733866dfd4 implement managed versions in tests
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191781 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 07:51:16 +00:00
Brett Leslie Porter 3f2f0d50a3 simplify the resolveTransitively API, and implement the new collector up to the level of functionality of the original.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191773 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 06:46:26 +00:00
Brett Leslie Porter 91bb71f6e7 remove cruft
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191752 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 02:11:06 +00:00
Brett Leslie Porter 158ab5e513 add artifact scope tests
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191750 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 02:05:55 +00:00
Brett Leslie Porter 3bee4a55c1 change artifact resolution result to have a set of artifacts instead of a map, as everything dealt with them as a collection anyway.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191748 13f79535-47bb-0310-9956-ffa450edef68
2005-06-22 00:31:33 +00:00
Brett Leslie Porter ea5bbda3e0 add failing test for MNG-63
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191675 13f79535-47bb-0310-9956-ffa450edef68
2005-06-21 16:12:44 +00:00
Brett Leslie Porter 6cd2e31078 refactoring of the resolveTransitiveDependencies call.
simplified by removing a bunch of duplicated code in addArtifacts - no need to merge, you have the full list. 
separated the original artifacts (dependency artifacts) from the resolved artifacts (getArtifacts)


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191667 13f79535-47bb-0310-9956-ffa450edef68
2005-06-21 15:32:02 +00:00
Brett Leslie Porter 26d36d8959 PR: MNG-140
split artifact impl from api so that dep resolution can be used independently of wagon
only the first step in making maven-artifact more useful as a public api - more changes to be made


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191634 13f79535-47bb-0310-9956-ffa450edef68
2005-06-21 06:49:49 +00:00
Trygve Laugstol 1c58065c2a o Adding a plexus-service artifact handler.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191587 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 23:31:42 +00:00
John Dennis Casey fda77afb12 Resolving issue: MNG-339
o Added checksumPolicy to artifact repository construction, which meant changing all the places where the factory was called.

o Added two command-line switches (-C=strict-checksum-checking, -c=lax-checksum-checking, or warning)

o Added checksum policy to all repository definitions (profiles.mdo, settings.mdo, maven.mdo)

o Changed the maven-artifact-ant stuff to use a Repository definition with checksumPolicy added to it

NOTE: I just realized that I haven't touched the inheritance/conversion of repository stuff from profiles/settings.xml to the model. I'll do this, and commit the additional changes.

Currently, the default checksum policy is to warn, since there are still bad checksums out there that prevent bootstrapping. Once we chase these down, we can change to default-strict checking. When verifying checksums, SHA-1 is attempted first, with MD5 acting as a backup verification method. If the checksum verification fails legitimately (not related to the process of retrieving/reading the checksum file), then the verification process is repeated ONCE ONLY.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191536 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 18:53:53 +00:00
Brett Leslie Porter f64881f21a use newer wagon
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191402 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 06:45:04 +00:00
Brett Leslie Porter b76388e3c4 PR: MNG-486
use correct wagon for mirror

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191257 13f79535-47bb-0310-9956-ffa450edef68
2005-06-18 02:45:05 +00:00
Brett Leslie Porter 01e6c8daa6 PR: MNG-257
refactor artifact creation to all go through the factory, and assign the type handler from there.
Attach EJB client to the EJB artifact so that it is installed/deployed along with it.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191096 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 06:49:57 +00:00
Brett Leslie Porter 7fc8dfba9d make the artifact type handlers configurable
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191079 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 03:55:50 +00:00
Brett Leslie Porter ac2d8a7e83 PR: MNG-415
implement provided scope


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190930 13f79535-47bb-0310-9956-ffa450edef68
2005-06-16 15:02:07 +00:00
John Dennis Casey b813c3d430 Working on issue: MNG-379
Added specified stop-gap patch for issue: MNG-473 (affects settings-builder and registry-builder)

Today I've made the following progress on this so far:

- Added a new project, called maven-plugin-registry, to house the model for this new file.

- Developed/debugged/tested PluginVersionManager/DefaultPluginVersionManager to isolate the plugin-version checks/management code away from the PluginManager

- Added interactiveMode (<interactiveMode>true|false</interactiveMode> directly under the root element of settings.xml, or -B short CLI option or --batch-mode CLI option, where the CLI options turn OFF interactiveMode). This will allow things like the maven-plugins build to register new plugins (and, for now, new versions of plugins) automatically.

- Added user input handler for when interactiveMode = true, to get a yes/no on whether to use the discovered version over the installed version and/or no version at all. If there is no installed version, and the user selects 'n', then the discovered version is used FOR THAT SESSION ONLY, and won't be recorded in the registry.

- Added checks/recording rejected versions against the registry, before attempting to use the discovered version.

Pending:

- Still need to add update-policies, to determine two things:

  1. how often to check for updates
  2. what to do when updates are found (autoUpdate, etc.)



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190854 13f79535-47bb-0310-9956-ffa450edef68
2005-06-16 01:50:28 +00:00
Brett Leslie Porter b4cfe56711 PR: MNG-261
Submitted by: Rahul Thakur
Reviewed by:  Brett Porter
Create artifact directories in the wagon so that they are only created when the file will actually be downloaded.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190539 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 00:42:59 +00:00
John Dennis Casey eb0a46b6bb Fixing flaw from previous commit, where artifacts provided by the maven distro are excluded from the plugin artifact list.
Now, we're using all artifacts referenced by the plugin in the artifacts list for that PluginDescriptor...the only drawback is since we're not using a repository layout for the maven /lib, there is no good way to include the artifact-path from /lib...we're using the artifact-file from the local repo for those deps. This SHOULDN'T cause a problem, but it's possible...




git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190414 13f79535-47bb-0310-9956-ffa450edef68
2005-06-13 15:05:28 +00:00
Brett Leslie Porter 2a8ed2f339 PR: MNG-154
Define the lifecycle according to packaging.
Some more work on the structure of this is required.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@189871 13f79535-47bb-0310-9956-ffa450edef68
2005-06-10 00:57:19 +00:00
Trygve Laugstol db347aab21 o Adding handler for Plexus applications.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@188848 13f79535-47bb-0310-9956-ffa450edef68
2005-06-07 19:14:34 +00:00
Brett Leslie Porter 7523cdb03a PR: MNG-453
Submitted by: Andreas Hoheneder
Reviewed by:  Brett Porter
Add support for generic artifact types, mapping the type to an extension


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@188806 13f79535-47bb-0310-9956-ffa450edef68
2005-06-07 16:06:14 +00:00
Brett Leslie Porter d6d65fc75a add quick support for exclusions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@188779 13f79535-47bb-0310-9956-ffa450edef68
2005-06-07 14:22:38 +00:00
Brett Leslie Porter 420d9a5fca remove old cvs ignore files
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@188697 13f79535-47bb-0310-9956-ffa450edef68
2005-06-07 05:24:51 +00:00
Brett Leslie Porter 3db9b6cd55 PR: MNG-446
snapshot file should always be written on install of a snapshot


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@180217 13f79535-47bb-0310-9956-ffa450edef68
2005-06-06 04:39:09 +00:00
Brett Leslie Porter 075932b36d PR: MNG-447
ensure the checksums don't get overwritten by the extra put commands


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@180072 13f79535-47bb-0310-9956-ffa450edef68
2005-06-05 05:54:48 +00:00
John Dennis Casey 23f82d0199 o Added runtime exception to construction of DefaultArtifact, when one or more of the four attributes required for object identity are null
o Created corresponding runtime exception: InvalidArtifactRTException
o Added error diagnoser for InvalidArtifactRTException
o Changed logError() in DefaultMaven to use error diagnosers (even the devs could use a hand!)
o Added unit test for InvalidArtifactDiagnoser.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@179265 13f79535-47bb-0310-9956-ffa450edef68
2005-05-31 19:31:58 +00:00
Jason van Zyl 0221f23157 o improving error report so that you know what the g:a is if the version and
type are null.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@179232 13f79535-47bb-0310-9956-ffa450edef68
2005-05-31 16:13:01 +00:00
Emmanuel Venisse 4e6b33d359 o upgrade plexus-container to alpha-4-SNAPSHOT
o upgrade plexus-utils to alpha-3 until xpp stuff is fix in 1.0.0

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@179122 13f79535-47bb-0310-9956-ffa450edef68
2005-05-30 18:24:32 +00:00
John Dennis Casey d942cfe550 added null checks for everything that's in the hashCode() method, to try to avoid cryptic errors, at least until the xml validation improves.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@178691 13f79535-47bb-0310-9956-ffa450edef68
2005-05-26 21:12:06 +00:00
Brett Leslie Porter 48cf14a656 PR: MNG-378
Only deploy the release information at the point of release

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@177934 13f79535-47bb-0310-9956-ffa450edef68
2005-05-23 06:43:12 +00:00