Commit Graph

62 Commits

Author SHA1 Message Date
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
Brett Leslie Porter be5df4a32d write the plugin file, not the project file
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168492 13f79535-47bb-0310-9956-ffa450edef68
2005-05-06 02:17:39 +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
John Dennis Casey e095874576 Cleaned up plugin descriptor generation/reading to be more consistent, and to include some things that were being left out. Removed more deprecated behavior from annotations support and expression support. Wrote up the first pass on the mojo api and annotations spec. Fixed the mmld-mojo suppport to accommodate the new expression syntax and collisions with the default expression evaluator for mmld. Added an exception to plugin configuration in DefaultPluginManager to not look for a Field when the configurator == map-oriented.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168233 13f79535-47bb-0310-9956-ffa450edef68
2005-05-05 01:33:42 +00:00
Brett Leslie Porter 7f7a1049e6 improve the artifact ID parsing - any maven or plugin is removed to get the default prefix. If you want something different, use the configuration for plugin:descriptor
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168141 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 16:23:42 +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 5345ee5fc6 Removed backward compat for plugin class-level parameter annotations and '#' expressions.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168070 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 04:20:36 +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
Brett Leslie Porter b5670bdcaa start to clean up the plugin vs. goal name handling so the hardcoding can be reduced, and eventually removed
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168040 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 01:20:49 +00:00
Brett Leslie Porter e7b911416f update tests to match new mojo API
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@165595 13f79535-47bb-0310-9956-ffa450edef68
2005-05-02 07:21:49 +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
John Dennis Casey ed14ff454d Modifying the mojo generators to handle alias, and other missing elements where appropriate. Changed the resources mojos to be as trim as I can, and added @required to the field-level annotations (this might be a good thing to do for all plexus components, dunno if it's there already)...finally, trimmed up the annotation handling in the JavaMojoDescriptorExtractor to push as many annotation fields as possible into the endangered area, and started pulling as much info from the field, other companion annotations on the field, etc. as I can...I think the annotations are there, now. They need to be cleaned up after converting all the core plugins to use field-level annotations, then we're set.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164990 13f79535-47bb-0310-9956-ffa450edef68
2005-04-27 15:11:28 +00:00
John Dennis Casey e771f3f56d fixed override of ancestor fields with locally declared ones in parameter processing
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164942 13f79535-47bb-0310-9956-ffa450edef68
2005-04-27 03:59:06 +00:00
Brett Leslie Porter 3760f873a1 PR: MNG-167
Add the ability for a mojo to "fork" a phase execution, in a separate iteration of the lifecycle.
Add @executePhase generate-sources to idea:idea


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164930 13f79535-47bb-0310-9956-ffa450edef68
2005-04-27 01:16:06 +00:00
John Dennis Casey 0af1c74587 Marked parts of the mojo parameter annotation processing that need to be removed when backward-compat is no longer an issue
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164900 13f79535-47bb-0310-9956-ffa450edef68
2005-04-26 22:18:16 +00:00
John Dennis Casey d8d2e34dca Resolving MNG-221, simplify qdox with field-level mojo parameter annotations
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164872 13f79535-47bb-0310-9956-ffa450edef68
2005-04-26 20:30:21 +00:00
Brett Leslie Porter 23b8cd0e46 remove unnecessary maven-core dependencies
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164322 13f79535-47bb-0310-9956-ffa450edef68
2005-04-23 03:12:07 +00:00
Brett Leslie Porter c289cf4f7f change expressions to use ${} instead of #
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164171 13f79535-47bb-0310-9956-ffa450edef68
2005-04-22 04:32:35 +00:00
Brett Leslie Porter 7c947bfd53 fix problems with subversion
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@164005 13f79535-47bb-0310-9956-ffa450edef68
2005-04-21 05:10:25 +00:00
Brett Leslie Porter ab2070d797 add deprecated parameter feature
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163983 13f79535-47bb-0310-9956-ffa450edef68
2005-04-20 16:49:01 +00:00
Brett Leslie Porter a75e7d2577 improved error handling and other clean up
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163979 13f79535-47bb-0310-9956-ffa450edef68
2005-04-20 16:41:36 +00:00
Brett Leslie Porter b2e4433615 utilise the container for populating all mojo configuration, including expressions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163947 13f79535-47bb-0310-9956-ffa450edef68
2005-04-15 04:52:31 +00:00
Brett Leslie Porter 378cc229a3 convert #component expressions to <requirements/>
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163942 13f79535-47bb-0310-9956-ffa450edef68
2005-04-14 03:27:35 +00:00
Brett Leslie Porter 85cc412a5f PR: MNG-225
use both groupId and artifactId in mojo descriptor


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163937 13f79535-47bb-0310-9956-ffa450edef68
2005-04-13 11:34:09 +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 e62f087f24 some POM enhancements
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163862 13f79535-47bb-0310-9956-ffa450edef68
2005-04-08 07:50:53 +00:00
John Dennis Casey 30005e1ac8 updated the version of marmalade to 1.0-alpha-2
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163845 13f79535-47bb-0310-9956-ffa450edef68
2005-04-07 21:25:41 +00:00
Brett Leslie Porter a91be5bc51 use new name
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163789 13f79535-47bb-0310-9956-ffa450edef68
2005-04-05 16:30:55 +00:00
Brett Leslie Porter 9d6fad725a change @requiresDependencyResolution to take a scope (default is "runtime" if no scope specified, none if tag not specified at all).
This still means ALL tests get the test dependencies of their compile time dependencies. Check if there is really a valid use case for that.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163780 13f79535-47bb-0310-9956-ffa450edef68
2005-04-05 08:17:28 +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
Brett Leslie Porter 2e3e41fddf transitive deps in mboot. Will now proceed to trim up the POMs. Still need to trim ~/maven2/lib also.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163764 13f79535-47bb-0310-9956-ffa450edef68
2005-04-04 14:35:06 +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
Trygve Laugstol c8e40de1e4 o Adding <modules>.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163709 13f79535-47bb-0310-9956-ffa450edef68
2005-03-29 21:36:47 +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 51bb8c2193 switch to per-lookup as a first step
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163625 13f79535-47bb-0310-9956-ffa450edef68
2005-03-21 01:17:15 +00:00
Brett Leslie Porter 403255afc4 remove prereq
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163591 13f79535-47bb-0310-9956-ffa450edef68
2005-03-17 02:48:40 +00:00
John Dennis Casey e9a9323812 o Changed maven-user-model/UserModel/UserModelBuilder to maven-settings/MavenSettings/MavenSettingsBuilder.
This supports a change to a simpler local configuration file (~/.m2/settings.xml by default), which has the general format of:

<settings>
  <profiles>
    <profile>
      <active>true</active> <!-- not needed if this is the only profile -->
      <localRepository>/path/to/repo</localRepository>
    </profile>
    .
    .
    .
  </profiles>
  <servers>
    <server>
      <id>myserver</id>
      <username>me</username>
      <password>mypass</password>
      <privateKey>/path/to/key</privateKey>
      <passphrase>key-passphrase</passphrase>
    </server>
    .
    .
    .
  </servers>
  <proxies>
    <proxy>
      <active>true</active> <!-- not needed if this is the only proxy -->
      .
      .
      .
    </proxy>
    .
    .
    .
  </proxies>
</settings>

o Added special parameter named '#settings' which simply injects the current MavenSettings from the MavenSession into the request parameters.
o Adjusted the it-verifier and mboot2 accordingly.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163578 13f79535-47bb-0310-9956-ffa450edef68
2005-03-16 06:29:35 +00:00
John Dennis Casey 4d1ca8da33 o Removed AuthenticationInfoProvider stuff
o Added ArtifactRepositoryFactory stuff to construct with AuthenticationInfo if possible.
o Added UserModelBuilder stuff for componentizing UserModel construction.
  -> DefaultUserModelBuilder has a configuration point 'userModelPath' which can redirect where it reads user.xml from (${user.home} is substitutable here).
o Added warning message to deployment plugin when deployment repo has no authentication info available.
o Added warning message for repos with null <id/> (auth info cannot be assigned here).
o Added a couple of debug-level messages for aid in debugging repo- and userModel-related problems.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163558 13f79535-47bb-0310-9956-ffa450edef68
2005-03-15 21:41:06 +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 8d604a1088 scoping
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163491 13f79535-47bb-0310-9956-ffa450edef68
2005-03-08 06:19:59 +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
John Dennis Casey dfbae27c44 o Added first-pass logging and event-monitoring impls. Converted all System.out calls in maven-component plugins to use logger.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163457 13f79535-47bb-0310-9956-ffa450edef68
2005-03-04 09:04:26 +00:00
John Dennis Casey 8e82989334 o Refactored the plugin extractors to accept a MavenProject only, and pull the information they need from it in order to extract the mojos they're responsible for.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163435 13f79535-47bb-0310-9956-ffa450edef68
2005-03-01 02:43:22 +00:00
John Dennis Casey 95d01ff572 o Completed marmalade-mojo support, tested with m2 bootstrap with empty local repo and maven-core pegged at 2/26/2005.
Will resolve CI issues as soon as lifecycle is fixed for IT0013.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163430 13f79535-47bb-0310-9956-ffa450edef68
2005-02-28 18:29:47 +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
Trygve Laugstol 53a4d44599 o Adding cvs ignores.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163416 13f79535-47bb-0310-9956-ffa450edef68
2005-02-26 18:07:09 +00:00
John Dennis Casey db65155072 o Working on getting it0015 (marmalade-mojo support) working...nearly there, it0015 is still disabled.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163415 13f79535-47bb-0310-9956-ffa450edef68
2005-02-25 05:09:14 +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