Commit Graph

65 Commits

Author SHA1 Message Date
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
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
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 11082da5f4 Fixing bootstrap.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219807 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 23:27:24 +00:00
John Dennis Casey 76d971b4ba Removing leftover lifecycle binding for ValidatePomMojo in the maven-plugin-plugin (removed that last night).
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219716 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 17:15:41 +00:00
Brett Leslie Porter c28872c779 add license
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219614 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 04:07:33 +00:00
John Dennis Casey 0cc696a407 Working on: MNG-576
o Implemented plan from my comments on MNG-576 for looking up lifecycle mappings within plugins.

o Fixed subtle bug in DefaultWagonManager for verifying checksums, where the destination file was being used to verify the checksum rather than the recently download temp destination.

o Fixed the DefaultRepositoryMetadataManager.resolve(..) method to allow the locally-installed metadata to be used if it is newer than the one resolved from the repository.

o Moved the lifecycle mappings for the EJB and WAR plugins out to META-INF/plexus/components.xml in the respective plugin's src/main/resources directory. it0016 and it0017 still pass.

o Changed the distributionManagement repository for maven-plugins/pom.xml to have id of 'central-plugins' and then added a normal artifact repository definition for central-plugins to that pom, to allow locally-installed repository metadata for the plugins to be put in the right place (and these builds should have access to the central plugin repo anyway).

o Changed the DefaultPluginMappingBuilder to only warn when plugins.xml for a particular plugin group is missing.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@216273 13f79535-47bb-0310-9956-ffa450edef68
2005-07-13 21:57:57 +00:00
John Dennis Casey 20047d63c9 Fixing problem with using distributionManagement repository definition for download of plugins.xml metadata.
Now, in order to build a maven plugin, you need two things:

1. a repository defined in distributionManagment
2. a repository defined in <repositories/> which has the same id as the one in distributionManagement.

This is necessary, since in most cases SSH will be used in the distributionManagement definition for uploading the plugin...which means that the download of the existing plugins.xml file might not be available for users trying to run an install. SSH requires authentication information, and users (particularly those running the bootstrap) might not have this auth info.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@216013 13f79535-47bb-0310-9956-ffa450edef68
2005-07-12 20:08:21 +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
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
Brett Leslie Porter 60f4482686 change <model> to <project> in root tag.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191414 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 07:18:24 +00:00
John Dennis Casey d2e1f3c975 o Adding support for <executions/>, which means multiple runs of the same goal/set-of-goals with different configs.
o Adding @phase declarations for those mojos that seem to be part of the main build, just for completeness
o Added two ITs, to test that <executions/> doesn't mess up the normal operation, and to test multi-execution for a goal.

Should resolve: MNG-172.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190335 13f79535-47bb-0310-9956-ffa450edef68
2005-06-13 02:47:57 +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
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
Emmanuel Venisse a1d0973a13 Use snapshot versions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@179470 13f79535-47bb-0310-9956-ffa450edef68
2005-06-02 00:22:37 +00:00
Brett Leslie Porter 0253ccc305 PR: MNG-164
Add Beanshell mojo support

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@170608 13f79535-47bb-0310-9956-ffa450edef68
2005-05-17 15:11:41 +00:00
Brett Leslie Porter 2f950bb514 bump versions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169997 13f79535-47bb-0310-9956-ffa450edef68
2005-05-13 08:39:42 +00:00
Brett Leslie Porter 3d1c04324d use released versions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169969 13f79535-47bb-0310-9956-ffa450edef68
2005-05-13 08:04:45 +00:00
Brett Leslie Porter bcf66ca8a2 set consistent versions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169845 13f79535-47bb-0310-9956-ffa450edef68
2005-05-12 16:42:06 +00:00
Brett Leslie Porter 0808a58663 only run goals on plugins
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169793 13f79535-47bb-0310-9956-ffa450edef68
2005-05-12 08:45:21 +00:00
Brett Leslie Porter 0c6a30ab10 unifyf generated site directory, add default site descriptor
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169776 13f79535-47bb-0310-9956-ffa450edef68
2005-05-12 06:01:56 +00:00
Brett Leslie Porter 640ee60806 remove more deprecated stuff, improve plugin xdoc generation
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169734 13f79535-47bb-0310-9956-ffa450edef68
2005-05-12 00:06:54 +00:00
John Dennis Casey 76c4ceda28 o Added duplicate check for mojo descriptor Parameters
o changed the exception(s) throws during mojo descriptor extraction to be derivatives of InvalidPluginDescriptorException
o changed PluginConfigurationException in plugin.descriptor to InvalidPluginDescriptorException
o changed all "true".equals(something) to Boolean.valueOf(something).booleanValue()
o added validation of 'modelVersion' back to [Default]ModelValidator
o Fixed/added tests for new 'modelVersion' validation
o changed all requiresXXX in MojoDescriptor to XXXRequired, and getRequiresXXX():boolean to isXXXRequired():boolean to help maintain bean-ness for future use




git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168630 13f79535-47bb-0310-9956-ffa450edef68
2005-05-06 17:41:03 +00:00
Brett Leslie Porter d17b250fec - allow multiple versions of a plugin to operate concurrently.
- allow specification of a mojo as groupId:artifactId:version:goal
- general removal of more hard coding

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168543 13f79535-47bb-0310-9956-ffa450edef68
2005-05-06 07:03:14 +00:00
John Dennis Casey 5877385df1 Final pass on cleaning up the mojo api...collapsed MavenPluginDescriptor and PluginDescriptor in the same way as MavenMojoDescriptor/MojoDescriptor had been; eliminated the need for plugin.descriptor.Dependency and MavenPluginDependency (using ComponentDependencies instead); adjusted the MojoExtractors (name?) to return Lists instead of Sets; added duplicate checking to a new addMojo(MojoDescriptor) method on PluginDescriptor, so we catch it on all sides; changed the Generators to use execute(outputDirectory, pluginDescriptor) rather than the myriad pluginDescriptor-derived values; added an IT for checking that the build for a plugin will fail if multiple mojos are detected with the same goal; and, added a special case to PluginDescriptor.getGoalPrefixFromArtifactId() to handle maven-plugin-plugin. That should be about it. I'm not sure that I've gotten the IT for that failure test added to svn yet, so that may follow.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168481 13f79535-47bb-0310-9956-ffa450edef68
2005-05-06 00:32:08 +00:00
Brett Leslie Porter 24c6328ad3 declare the desired "prefix" inside the plugin descriptor instead of pulling apart the artifact ID (though that is how the default is created).
Currently, the reverse is not handled in anyway, so a non-default prefix may not work, but this makes the code easier to isolate.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168099 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 08:17:39 +00:00
John Dennis Casey 690bc67fb9 Added marmalade support back in...it's currently still using the libraries-shovelled-into-core method, but it now uses the new mojo mechanism that uses plexus ComponentConfigurators...had to make the lookup for configurators dynamic for the DefaultPluginManager, too.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168064 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 03:28:41 +00:00
John Dennis Casey e94c2611d3 Commenting out marmalade support until I get it converted to the new mojo api.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@165364 13f79535-47bb-0310-9956-ffa450edef68
2005-04-30 00:05:36 +00:00
John Dennis Casey a58632b9dd Renamed Plugin.java, AbstractPlugin.java, PluginExecutionRe(quest|sponse) PluginExecutionException to Mojo*
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@165238 13f79535-47bb-0310-9956-ffa450edef68
2005-04-29 00:12:09 +00:00
John Dennis Casey ab91b7f4c2 o Cleaned up field-level annotation support (especially descriptor extraction, generation, and building)
o Converted all "core" plugins (including maven-core-it-plugin) to use field-level annotations
o Removed generation of parameter descriptors for ${/#component.* param specifications.
o Added @readonly for parameters that cannot be overridden by user configuration (List override was dangerous here)
o Added validation against pom-derived configuration for @readonly parameters
o Fixed @parameter alias="" support...now configuration of the mojo instance actually will work with either the real param name or the alias. Would be nice to support multiple aliases, but that might require @alias annotations...
o Added [temporary?] support for null editable attributes for parameters, to support pre-built mojos from the repo.

Annotation support should be just about ready to go...


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@165224 13f79535-47bb-0310-9956-ffa450edef68
2005-04-28 23:05:01 +00:00
Brett Leslie Porter 874a8c1245 add more use of ${} expressions, fix problem when } was not at end
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164195 13f79535-47bb-0310-9956-ffa450edef68
2005-04-22 08:33:34 +00:00
Brett Leslie Porter 05ae5c03e3 split the plugin API and the plugin descriptor code
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163927 13f79535-47bb-0310-9956-ffa450edef68
2005-04-13 05:11:49 +00:00
Brett Leslie Porter 9340e1add7 release alpha-1 plugins
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163870 13f79535-47bb-0310-9956-ffa450edef68
2005-04-08 10:05:06 +00:00
Brett Leslie Porter 935cda15da clean up dependencies.
Still need to clean up ~/maven2/lib and some large dependencies from marmalade that
shouldn't be needed in general - but down to about a 3Mb repository.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163775 13f79535-47bb-0310-9956-ffa450edef68
2005-04-05 04:11:03 +00:00
Emmanuel Venisse 8be3d2473b Fix name
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163762 13f79535-47bb-0310-9956-ffa450edef68
2005-04-04 12:41:44 +00:00
Brett Leslie Porter 49593155d0 update poms for releases
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163741 13f79535-47bb-0310-9956-ffa450edef68
2005-04-01 16:03:43 +00:00
Brett Leslie Porter 14bb2c805a change the maven group ID
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163670 13f79535-47bb-0310-9956-ffa450edef68
2005-03-23 06:52:55 +00:00
Brett Leslie Porter 1e121e8d1a convert plugin plugin to new execute()
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163664 13f79535-47bb-0310-9956-ffa450edef68
2005-03-22 13:44:17 +00:00
Brett Leslie Porter 5c1f5b1e57 PR: MNG-52
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
2005-03-15 22:31:54 +00:00
Brett Leslie Porter ba06a10501 some clean up
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163552 13f79535-47bb-0310-9956-ffa450edef68
2005-03-15 02:50:58 +00:00
Brett Leslie Porter a44b6f9726 flip pom format
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163511 13f79535-47bb-0310-9956-ffa450edef68
2005-03-10 01:35:25 +00:00
Brett Leslie Porter 46edb7818f depedency update
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163462 13f79535-47bb-0310-9956-ffa450edef68
2005-03-07 07:23:31 +00:00
Brett Leslie Porter d5d05a51c5 start to enhance the lifecycle. Need to pre-process plugins as currently goals are only executed if added to a phase after the current goal. Also need plugin configuration to activate these changes.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163419 13f79535-47bb-0310-9956-ffa450edef68
2005-02-27 05:39:55 +00:00
John Dennis Casey 52de04e862 Retrying commit after updating maven-core to HEAD.
o Fixed problems with plugin-plugin (had to do with refactored plugin-tools stuff)
o Added marmalade-mojo support, although without an integration test (verified it doesn't get in the way of 'normal' functionality, though)
o Added code in mboot2 to copy marmalade-mojo support libs to ${maven.home}/lib


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163405 13f79535-47bb-0310-9956-ffa450edef68
2005-02-24 05:12:30 +00:00
John Dennis Casey 98002718c3 o Refactored mojo/plugin generation, extraction, etc. to accommodate multiple mojo languages.
o Tested with java mojos, mboot to verify nothing broken by refactor.
o TODO: Add marmalade support tests...currently only java-mojos are supported in mboot2, so this isn't going to interrupt things.
o TODO: Once marmalade support is tested, add to the list of artifacts built by mboot2.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163369 13f79535-47bb-0310-9956-ffa450edef68
2005-02-20 16:25:22 +00:00
Emmanuel Venisse b516fbf143 Fix plugin descriptor.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163247 13f79535-47bb-0310-9956-ffa450edef68
2004-12-11 14:28:52 +00:00
Emmanuel Venisse d4125cbafc Add failure if artifact isn't a plugin.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163031 13f79535-47bb-0310-9956-ffa450edef68
2004-09-05 19:03:41 +00:00