Commit Graph

649 Commits

Author SHA1 Message Date
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
Emmanuel Venisse c8a4f996dd Plexus lifecycle move back to Plexus.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225471 13f79535-47bb-0310-9956-ffa450edef68
2005-07-27 06:43:26 +00:00
Brett Leslie Porter 740f7ad838 clean up and reformatting
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225464 13f79535-47bb-0310-9956-ffa450edef68
2005-07-27 06:14:59 +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
Emmanuel Venisse 5a23f868e9 move plexus packaging back
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225376 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 19:12:01 +00:00
Brett Leslie Porter 2d666f57a7 move main J2EE packaging definitions back to being built in
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225311 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 14:00:23 +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
John Dennis Casey 4b1038de53 Working on: MNG-607
o Added '-f' CLI option, to allow use of non-standard pom files, or spawning of a build from outside of the project dir.
o Added preferential processing of release-pom.xml over pom.xml if it exists (assumes that the current checkout is a release of the software)
o Moved all file discovery from MavenCli to DefaultMaven, to allow embedders to have access to this logic.
o Modified MavenExecutionRequest to add a flag for reactor-activation and the name of a non-standard pom to use, if appropriate.
o Removed getFiles() and getProjectFiles() from MavenExecutionRequest, since file discovery is now done in the DefaultMaven.
o Added integration tests to check preference of release-pom.xml in standalone and '-r' mode
o Added integration tests to check usage of '-f' option within and outside of the project directory
o Added processing for cli-options.txt to maven-core-it-verifier (Verifier.java) to allow specification of '-f' and '-r' in tests


NOTE: the release plugin still doesn't correctly remove the release-pom.xml from HEAD/trunk, since I don't have access to the SCM remove command from maven-scm. I'm waiting for Emmanuel to finish some API changes before moving to the new maven-scm version, and implementing this final step.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225226 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 03:55:37 +00:00
John Dennis Casey 3251b41d8e Correcting core-library resolution
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225208 13f79535-47bb-0310-9956-ffa450edef68
2005-07-25 23:50:13 +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
Jason van Zyl 7a2d130893 o applying a small patch by stephane to get the RAR plugin working.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@224478 13f79535-47bb-0310-9956-ffa450edef68
2005-07-23 16:56:41 +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 6e6c12a647 general cleanup
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220319 13f79535-47bb-0310-9956-ffa450edef68
2005-07-22 13:43:45 +00:00
Brett Leslie Porter a4343cf767 PR: MNG-625
allow a plugin to specify the minimum Maven version (will apply for both building and its execution - this should be separated later).

If you are running an older version then it will not prompt to update when found, and will fail if it is encountered with a hardcoded version.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220239 13f79535-47bb-0310-9956-ffa450edef68
2005-07-22 05:07:47 +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 6aa208414f PR: MNG-229
- always use super POM's repository for parent resolution
- use correct repository set for plugin dependency resolution

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220102 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 15:15:54 +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
Brett Leslie Porter 53fd3dd6fb PR: MNG-567
fix off by one error

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220058 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 13:05:26 +00:00
Brett Leslie Porter 5d00be82d0 add project info report
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220051 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 12:38:02 +00:00
Brett Leslie Porter ed7ccf707a PR: MNG-530
don't attempt to configure non-report mojos during reporting



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220042 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 12:18:35 +00:00
Brett Leslie Porter 5a0904e9fd PR: MNG-366
separate api from implementation keeping most of doxia, reporting and other libraries out of the core



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@220009 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 06:54:21 +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
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 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 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
John Dennis Casey 6f81043b7b Centralized repository handling in AbstractVersionTransformation, for consistency (should fix MNG-527).
Changed download strategy for plugins.xml metadata to download only when non-existent locally or when plugin prefix cannot be located within local metadata. NOTE: This could lead to local-only installs of plugins having their prefix mappings overwritten.

Next step is to change the maven-plugin-plugin.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219615 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 04:15:26 +00:00
Brett Leslie Porter 77fee9a4fd add unique short options so that all are recognised
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219605 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 02:42:44 +00:00
Brett Leslie Porter 84a58b99ec cleanup, reformat
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219586 13f79535-47bb-0310-9956-ffa450edef68
2005-07-19 00:42:36 +00:00
Brett Leslie Porter 4c45989dcb PR: MNG-404
add ability to have a minimum Maven version for a project build

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219473 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 11:57:29 +00:00
Brett Leslie Porter 9ec3433ab1 TODO clean up
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219420 13f79535-47bb-0310-9956-ffa450edef68
2005-07-17 22:56:08 +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
Emmanuel Venisse 872214ca25 Move plexus lifecycle mapping to plexus plugin
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219213 13f79535-47bb-0310-9956-ffa450edef68
2005-07-15 16:19:48 +00:00
John Dennis Casey 3f47c60752 Cleaned up plugin-version resolution.
o Added four command-line options:

  --check-plugin-updates is a synonym for --update-plugins
  
  --no-plugin-registry turns off usage of plugin-registry.xml for plugin version resolution for the current build.
  
  --check-plugin-latest turns on usage of LATEST metadata for plugin version resolution for the current build.

  --no-plugin-latest turns off usage of LATEST metadata for plugin version resolution for the current build.

o Added settings.xml configuration <usePluginRegistry>true|false</usePluginRegistry> to en/disable the use of plugin-registry.xml for plugin version resolution. The default value is true, to use the plugin-registry.xml.

o Added plugin-registry.xml configuration <checkLatest>true|false</checkLatest> to en/disable the use of LATEST metadata when resolving plugin versions. The default value is false, or do not use LATEST.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219089 13f79535-47bb-0310-9956-ffa450edef68
2005-07-14 20:35:23 +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 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 b90c2d1e24 rolling back this change until I get the plugin-mapping stuff figured out, to keep the bootstrap working...
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@210200 13f79535-47bb-0310-9956-ffa450edef68
2005-07-11 20:04:16 +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 91dfd62176 Working on: MNG-377
o Normalized all references to plugins to use either o.a.m.model.Plugin or o.a.m.plugin.PluginDescriptor instances

o Changed DefaultLifecycleExecutor, PluginManager, DefaultPluginManager, MavenPluginCollector, and DoxiaMojo to reflect the above

o Added mapped-plugin resolution of goal prefixes to the DefaultLifecycleExecutor

o Added caching of PluginMappingManager instance inside of MavenSession

o Modified SettingsUtils to be more resistant to null String-Lists for pluginGroups and activeProfiles during merge.

o Added checks to MavenProject.addPlugin(..) to only add if the plugin doesn't already exist in the model.

Next step is to modify installation and deployment process for plugins to publish plugins.xml repository metadata.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@209677 13f79535-47bb-0310-9956-ffa450edef68
2005-07-07 23:50:25 +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
Emmanuel Venisse 70055892fc Move plexus-utils to 1.0.1-SNAPSHOT
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@209031 13f79535-47bb-0310-9956-ffa450edef68
2005-07-04 07:43:12 +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 0713fa12dd [MNG-541]. Fix NullPointerException when mojo doesn't have parameters.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@202520 13f79535-47bb-0310-9956-ffa450edef68
2005-06-30 10:54:30 +00:00
Emmanuel Venisse b44ec86d40 [MNG-541]. Fix NullPointerException when mojo doesn't have parameters.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@202502 13f79535-47bb-0310-9956-ffa450edef68
2005-06-30 07:53:20 +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
Emmanuel Venisse e7e0795a20 Rollback bad commit
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@201994 13f79535-47bb-0310-9956-ffa450edef68
2005-06-27 14:01:21 +00:00