Commit Graph

80 Commits

Author SHA1 Message Date
John Dennis Casey da33bafe84 Resolving: MNG-885
o Extracting basedir from the project instance when PluginParameterExpressionEvaluator is init'ed if project != null...otherwise, using ${user.dir} from sysprops.

o Extracting values for resolution from POM properties before POM instance during POM interpolation, and adding checks to guard against self-reference of POM elements.

o Added three ITs (one contra) to test these resolutions.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@291735 13f79535-47bb-0310-9956-ffa450edef68
2005-09-26 20:29:20 +00:00
Stephane Nicoll 2ee39543f8 Added rar integration test.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@291397 13f79535-47bb-0310-9956-ffa450edef68
2005-09-25 09:18:03 +00:00
Brett Leslie Porter cbcf2d48e1 PR: MNG-788
add filtering to the build element


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@290877 13f79535-47bb-0310-9956-ffa450edef68
2005-09-22 02:52:39 +00:00
Brett Leslie Porter 8eae3413e8 remove duplicate integration test (same as it0043)
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@289232 13f79535-47bb-0310-9956-ffa450edef68
2005-09-15 13:46:44 +00:00
John Dennis Casey 2f2db94232 Re-resolving: MNG-757
o Added it0068 to guard against regressions of the type causing MNG-836

o Added it2001, which must be run manually, to verify the test case laid out in MNG-757

o Reinstated the repository accumulation for successive traversal down the transitivity chain, so that transitively resolved artifacts can be found in repositories declared by POMs up the chain.

o Added a check for 'file:' at the beginning of the Settings.getLocalRepository() result, before prepending 'file://' to allow for relative definition of the local repository in test cases



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@280755 13f79535-47bb-0310-9956-ffa450edef68
2005-09-14 03:40:17 +00:00
John Dennis Casey 37d3fd3fdd Resolving: MNG-814. Enabled import of explicit activation and deactivation of profileIds from the external profile manager to the project-level profile manager. See it0067.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@280629 13f79535-47bb-0310-9956-ffa450edef68
2005-09-13 19:27:34 +00:00
John Dennis Casey 459737fa5f Resolving MNG-851. Using MavenProject.getFile() rather than constructing new. Also fixed maven-deploy-plugin with similar bug.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@280405 13f79535-47bb-0310-9956-ffa450edef68
2005-09-12 20:08:01 +00:00
Brett Leslie Porter 400a15c700 add integration test for parent.getBasedir()
could be used for other such tests in future


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@280305 13f79535-47bb-0310-9956-ffa450edef68
2005-09-12 09:27:57 +00:00
Jason van Zyl 44fcb165b4 o adding note about it0064
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@279994 13f79535-47bb-0310-9956-ffa450edef68
2005-09-10 11:56:33 +00:00
John Dennis Casey 8201bb9d18 Adding system scope...uses scope == 'system' and systemPath in dependency. SystemPath was chosen over mappings inside the setings.xml for scalability, heritability, and injectability (via managed deps).
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@264960 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 07:39:01 +00:00
Brett Leslie Porter 294199b388 PR: MNG-761
fallback to deployment repository for snapshots when there is no snapshot repository


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@240175 13f79535-47bb-0310-9956-ffa450edef68
2005-08-26 07:26:03 +00:00
John Dennis Casey 4e6c969942 Resolving (Cannot Reproduce): MNG-731
o Added it0061 to verify deployment using legacy layout for the distribution repository.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@240154 13f79535-47bb-0310-9956-ffa450edef68
2005-08-25 22:53:43 +00:00
John Dennis Casey 39a6096086 Resolving: MNG-732
o new version of plexus-utils with Xpp3Dom.mergeXpp3Dom(..) modification allows appending of list elements.
o added it0060 to test new functionality.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@240129 13f79535-47bb-0310-9956-ffa450edef68
2005-08-25 20:19:40 +00:00
John Dennis Casey da3aa1090f Resolving: MNG-666
If a v3 POM is encountered (or any POM where modelVersion is != '4.0.0'), an InvalidModelException is thrown.
This exception extends ProjectBuildingException, to enable piggybacking on the same catch() clause.
When the MavenMetadataSource catches InvalidModelException, it returns a ResolutionGroup with the pomArtifact and empty collections for the pom dependency artifacts and the repository list with which to resolve the empty artifacts set.

Also, added it0059 to test builds where a dependency POM is a v3 pom (missing <modelVersion/>).


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@239981 13f79535-47bb-0310-9956-ffa450edef68
2005-08-25 03:08:10 +00:00
John Dennis Casey f437fb5dc2 Resolving: MNG-773
o Separated profile injection logic from the inheritance assembly. While they look similar superficially, the
  merge-out vs. merge-in semantics make it pretty complex to put this logic together in the same methods. It's
  easier to understand what's going on if they remain similar but separate code...

o Added it0058 to test that application of a profile from settings.xml doesn't transport module lists from POM
  to POM inside of a reactor build.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@239918 13f79535-47bb-0310-9956-ffa450edef68
2005-08-24 20:31:29 +00:00
John Dennis Casey 252b151052 Resolving: MNG-766.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@239464 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 22:11:07 +00:00
John Dennis Casey 78bd69c44c Resolving: MNG-643
o Added includes/excludes for compile and testCompile
o added integration tests for single execution of compile and testCompile with excludes
o Added integration test for multiple execution of compile in different phases per Dan Tran's request

The bulk of this commit is KrisBravo's work (I think that's who Corridor Software Developer is??). Thanks for the help.




git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@239272 13f79535-47bb-0310-9956-ffa450edef68
2005-08-22 23:14:34 +00:00
John Dennis Casey 5bebfb8ad0 Adding integration itest it0054 to verify that MNG-479 is fixed.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@239251 13f79535-47bb-0310-9956-ffa450edef68
2005-08-22 21:02:07 +00:00
John Dennis Casey 9bd6219732 Adding inverse test of it0051.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@233251 13f79535-47bb-0310-9956-ffa450edef68
2005-08-17 19:36:05 +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 9c5979f46b Adding description for it1012
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@232191 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 03:04:06 +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 3408c163dc o Removed it0048, and replaced it with a unit test for the DefaultProfileInjector.
o Reverted the logic of the DefaultProfileInjector to merge-and-override the model, with the profile being dominant
o Added merging for distributionManagement and modules (conditionally, based on flag) in the modelBase merge
o Refactored the override logic into a couple of methods in ModelUtils to make it easier to understand what's going on here.
o Verified that both the build and the model itself are being merged correctly during profile injection, with profile dominance, but persistence of changes to the model.


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@231481 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 16:46:19 +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
Brett Leslie Porter d401ffe655 add a test case to illustrate why we have to make compile time dependencies transitive as compile, not runtime as we'd like.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@231142 13f79535-47bb-0310-9956-ffa450edef68
2005-08-09 23:31:14 +00:00
John Dennis Casey 1e1efffcba Resolving: MNG-592 (again)
o Modified the PluginMappingDeployMojo in maven-plugin-plugin to always deploy the plugins.xml regardless. This may be a bit heavy, but it avoids the snag with the plugins.xml being detected in the local repository after the install phase runs...plugin mappings weren't making it to the repository during deploy.

o Added a new series of IT: it2xxx which will be tests that require more than a single maven invocation, and will be run via shell script, at least for now. This one builds and deploys a plugin, then attempts to use the plugin by referencing the prefix mapping in the (non-central) remote repository.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@231058 13f79535-47bb-0310-9956-ffa450edef68
2005-08-09 16:11:40 +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
Brett Leslie Porter 5354706f05 cleanup it0043
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@226711 13f79535-47bb-0310-9956-ffa450edef68
2005-08-01 01:05:38 +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 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 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
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 b2d349adbc PR: MNG-505
add integration tests for version ranges



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219847 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 06:53:47 +00:00
John Dennis Casey 3519e21e97 Resolving: MNG-576...I'm committing Stephane's patch for an integration test. Thanks, Stephane
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219571 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 21:43:11 +00:00
Brett Leslie Porter 640667a6a2 integration tests for the required maven version test
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@219474 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 11:59:46 +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 2a403e4df3 Adding IT to cover a regression on dependencyManagement injection from parent-poms of a dependency's pom.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@209538 13f79535-47bb-0310-9956-ffa450edef68
2005-07-06 23:12:44 +00:00
John Dennis Casey e4083dcdea Resolving issue: MNG-522
o Added check for null child pluginManagement section, and setting to parent value if null.
o Added integration test for parent->child pluginManagement inheritance and injection, to prevent regressions.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@201693 13f79535-47bb-0310-9956-ffa450edef68
2005-06-25 00:00:05 +00:00
John Dennis Casey bea9eca2f6 Resolving issue: MNG-493
o Changed getExecutionsAsMap() in Plugin (within maven.mdo) to throw an IllegalStateException if two PluginExecutions are detected with the same id. This method should always be called during inheritance assembly...

o Changed PluginExecution's id field to have a defaultValue of 'default' within maven.mdo.

NOTE: It may be necessary to double-check the id-collision within MavenProjectBuilder, in case there is no inheritance of plugins...I'll add this, and follow this commit momentarily.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191620 13f79535-47bb-0310-9956-ffa450edef68
2005-06-21 03:57:17 +00:00
John Dennis Casey d7e421fd01 Resolving: MNG-496
o Adding extraction of mojo-specific configuration from the merged config for the plugin
o Warning at the DEBUG log-level for unused plugin configuration during the extraction process above
o Added integration test it0028 to test with unused plugin configuration present.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191552 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 20:11:01 +00:00
Brett Leslie Porter 8dec28247b PR: MNG-471
implemented cloned lifecycle, project and tests. update mojos accordingly


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191476 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 14:42:56 +00:00
John Dennis Casey 1a89a7b751 Resolving issue: MNG-480
o Added support for -Dmaven.repo.local command line override of the local repo
o Propagating local repository location (either maven.repo.local, or from settings.xml) to ITs in Verifier
o Re-enabled it0023 and it0026
o Removed warning in README.txt for maven-core-it.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191163 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 14:34:18 +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
John Dennis Casey ce3665851c o Re-adding support for user-level settings which are not assumed to be in ~ (for continuum and other server-style apps' convenience)
o Adding support for global (installation-level) settings.xml file which is identical to the one in ~/.m2, and which will be overridden by user-level settings. The default location for this is ${maven.home}/settings.xml.

o Adding IT to test merging of global- and user-level settings.xml files

o Moved DefaultMavenSettingsBuilder/MavenSettingsBuilder to maven-settings project, to make them more generally available (to ant, for instance)

Resolves issue: MNG-294



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190517 13f79535-47bb-0310-9956-ffa450edef68
2005-06-13 21:56:00 +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
John Dennis Casey a58b76e2e4 Adding profiles.xml and settings.xml support for profiles, along with integration tests for each.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@189510 13f79535-47bb-0310-9956-ffa450edef68
2005-06-08 03:27:43 +00:00
John Dennis Casey 29878afcc6 o pom-level profiles are working now
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@189464 13f79535-47bb-0310-9956-ffa450edef68
2005-06-07 22:36:44 +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