Commit Graph

677 Commits

Author SHA1 Message Date
John Dennis Casey fcc893a626 Resolving: MNG-709...scrubbing caller from forked lifecycle, and letting it run in the main lifecycle after the fork returns.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@233259 13f79535-47bb-0310-9956-ffa450edef68
2005-08-17 20:45:31 +00:00
John Dennis Casey 659a1f4736 Fixing some things:
o Artifact attachment via MavenProjectHelper was using string literals of the variables I was trying to use to fill in type and classifier (dumb, I know!)

o Source plugin didn't have an @phase for the JarSourceMojo...added, then added the goal configuration in the release profile in the super-pom

o Removed the source plugin bindings for the lifecycle mappings in maven-core

o Re-added [deprecated] method MavenProjectBuilder.build( File, ArtifactRepository, List )...you should use MavenProjectBuilder.build( File, ArtifactRepository, ProfileManager ) instead.

o Added profile handling/injection for the super-pom in two places: in buildStandaloneSuperPom() and in private build(..). This enables injection of the release profile which is provided in the super-pom.

o Added integration test to verify that using -DperformRelease=true results in the sources being attached...to override this behavior, another profile keyed on -DperformRelease could turn the 'attach' param for the source plugin off.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@233245 13f79535-47bb-0310-9956-ffa450edef68
2005-08-17 19:23:45 +00:00
John Dennis Casey 2adbbad9da Throwing exception if infinite loop detected in phase vs. executePhase...this is probably not optimal, but it's a start.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@233104 13f79535-47bb-0310-9956-ffa450edef68
2005-08-17 02:05:04 +00:00
John Dennis Casey 9a3085813d Working on MNG-483
o Added @requiresDirectInvocation (was: @cliOnly, but this implies m2 is run from CLI...counter-intuitive for embedding)

o Added handling for new @requiresDirectInvocation (generation/parsing, MojoDescriptor support, etc.)

o Added check in DefaultLifecycleExecutor to throw a LifecycleExecutionException if a mojo specified in a lifecycle binding is marked as direct-invocation only.

o Added MavenProjectHelper/DefaultMavenProjectHelper to provide convenience methods for manipulating MavenProject instances (for example, attaching artifacts or adding resources)

o Removed maven-artifact dependency from maven-source-plugin, and added dependency on maven-plugin-api (should've been there)



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@233021 13f79535-47bb-0310-9956-ffa450edef68
2005-08-16 18:03:20 +00:00
John Dennis Casey fe5a91b0d6 Working on: MNG-483
Fixing profile application to separate profiles discovered in and around POM from those in settings.xml, and apply them separately in the order: 

for-each-project-in-inheritance:{POM, profiles.xml}, settings.xml

Added common interface for accumulating, explicitly activating and deactivating, and retrieving profiles to be applied to a given project. This manager interface (ProfileManager) is general enough to be applicable to both the project-level and settings-level profiles.

Added 'performRelease'-keyed profile to super-POM which will be used by the release plugin and anyone using a parallel process, and which will enable '-DupdateReleaseInfo=true' for the deploy mojo, along with enabling the source attachment for the project.

Added 'attach' parameter to JarSourceMojo to allow local POM to turn off source attachments, overriding release profile in super-pom.

Updated the release:perform mojo to use '-DperformRelease=true' for switching on the new release profile, rather than just using '-DupdateReleaseInfo=true'...



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@233013 13f79535-47bb-0310-9956-ffa450edef68
2005-08-16 16:31:02 +00:00
Vincent Massol 1fe703883e MNG-150: Create a rar mojo. Applied on behalf of snicoll.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@232602 13f79535-47bb-0310-9956-ffa450edef68
2005-08-14 13:19:12 +00:00
Kenney Westerhof 1311273aa6 Made buildTopDownMergedConfiguration really recursive - in most cases it didn't.
Fixed a merge problem where only direct children of <configuration> in the POM
appeared in the merged configuration.

(like maven-antrun-plugin, the 'tasks' configuration tag didn't have any
value, but has children. After the merge, the children were gone,
and it was marked as having no value, and hence the field was not updated.)


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@232281 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 12:44:22 +00:00
John Dennis Casey 0b4aa2dc41 Resolving: MNG-715
PluginParameterExpressionEvaluator now has two static final Maps - BANNED_EXPRESSIONS and DEPRECATED_EXPRESSIONS, each of which contain mappings of restricted expressions to the preferred alternative.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@232200 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 04:03:33 +00:00
John Dennis Casey cb41f94717 Resolving: MNG-652
o Adding it1012 that should express the throwing of LifecycleExecutionException for unknown packaging.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@232189 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 03:02:35 +00:00
John Dennis Casey 26de9f77d0 Fixing problem with mojo configuration merges between parameter configuration keyed by alias and by name within the POM, along with configuration within the MojoDescriptor.
Also adding an IT that will indirectly test that default parameter values are not being disturbed during the merge process.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@232185 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 02:25:26 +00:00
John Dennis Casey 3c53a1305d Resolving: MNG-674
o Added it0049 to prevent further regressions. ;)


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@231393 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 04:38:46 +00:00
Kenney Westerhof 309f26b810 Sometimes plugins get added in an unofficial way - the pluginDiscovererManager
sees the plugin and marks it as 'installed' (it's in a hashtable somewhere).
The official way is to go through verifyPlugin. That gets called later on
for that plugin, which only calls addPlugin (that registers, resolves,
and, most importantly, creates a childContainer for that plugin!) IF
the plugin is NOT yet registered.

Since it is registered in the hashtable, but no childRealm was made there,
addPlugin doesn't get called. Added a simple check to ALSO call 'addPlugin'
if it was added to the hashtable. Side effect is that the version that
was normally going to be used is now used and overrides the other version.

This really needs a cleanup!

Committing anyway:

01:26<trygvis> right now I think we're allowed to push over old ladies and
               steal candy from small children to get this to work



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@231353 13f79535-47bb-0310-9956-ffa450edef68
2005-08-10 23:31:40 +00:00
John Dennis Casey 0f9196a83d Resolving: MNG-608 (deprecate for now, remove later...notes in TODOs)
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@231084 13f79535-47bb-0310-9956-ffa450edef68
2005-08-09 19:26:24 +00:00
John Dennis Casey b69490b828 Resolving: MNG-95
o Added --fail-fast --fail-at-end --fail-never CLI options, with appropriate summary and exclusion of dependent projects from the build when --fail-at-end is specified. Also, implemented it0046 and it1011 to test it.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@227490 13f79535-47bb-0310-9956-ffa450edef68
2005-08-04 21:14:51 +00:00
John Dennis Casey 71cb5dc399 Resolving: MNG-282
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@227259 13f79535-47bb-0310-9956-ffa450edef68
2005-08-03 20:43:58 +00:00
John Dennis Casey 395fe63613 Resolving: MNG-557
o Added new CLI switch {--settings,-s} for alternate user settings path.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@227250 13f79535-47bb-0310-9956-ffa450edef68
2005-08-03 19:26:20 +00:00
John Dennis Casey 094a5a4312 Working on: MNG-662
o Moved extension-artifact creation and caching to MavenProject, initialized by MavenProjectBuilder, just like plugin-artifacts is.

o Added extension-artifact and report-artifact creation (and initialization in MavenProject) to MavenProjectBuilder, for consistency with plugin-artifacts

o Removed dependency on ArtifactFactory in DefaultExtensionManager (extension artifacts are reachable from MavenProject now)

This makes the process of resolving all artifacts referenced by a project much simpler and more consistent (namely, for the release plugin)


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@227147 13f79535-47bb-0310-9956-ffa450edef68
2005-08-03 02:30:21 +00:00
Kenney Westerhof d396f24642 o Put all m2 core dependencies (plexus-container-default and plexus-utils)
under dependencyManagement of m2 and maven-plugins, and removed
  versions in all poms having either as a parent.
  Used version 1.0.2-SNAPSHOT for plexus-utils as that was used in maven-core
  and is not overridable.

o Bumped maven-archiver version to 2.0-beta-1-SNAPSHOT for maven-ear-plugin


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@227084 13f79535-47bb-0310-9956-ffa450edef68
2005-08-02 21:34:54 +00:00
Kenney Westerhof e300b10792 Removed unused imports and added package declarations to maven-plugin-tools-java
test resources (to stop eclipse from complaining).


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226699 13f79535-47bb-0310-9956-ffa450edef68
2005-07-31 22:12:34 +00:00
Brett Leslie Porter 13c5bc0df8 PR: MNG-608
diagnose place this change needs to occur

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226544 13f79535-47bb-0310-9956-ffa450edef68
2005-07-30 16:26:02 +00:00
Brett Leslie Porter 47744229e8 correct no project handling (eg archetype:create)
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226540 13f79535-47bb-0310-9956-ffa450edef68
2005-07-30 16:04:02 +00:00
Brett Leslie Porter 5e75912ed1 licenses and intention changes
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226538 13f79535-47bb-0310-9956-ffa450edef68
2005-07-30 15:52:15 +00:00
Brett Leslie Porter b8d98d1cff PR: MNG-678
update to latest jsch, has improved session closing handling



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226532 13f79535-47bb-0310-9956-ffa450edef68
2005-07-30 15:20:01 +00:00
John Dennis Casey 2b8143ef42 Resolving: MNG-250
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226334 13f79535-47bb-0310-9956-ffa450edef68
2005-07-29 03:47:07 +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
Emmanuel Venisse d59f6aed16 use the new snapshot of plexus-utils
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225755 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 11:57:34 +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 bf7390cde7 PR: MNG-548
expose ${reactorProjects} variable

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225720 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 07:28:19 +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
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