Commit Graph

240 Commits

Author SHA1 Message Date
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 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
John Dennis Casey 6100b37321 Updating non-maven, non-modello deps to get rid of snapshots. Also removed marmalade stuff from mboot.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@193052 13f79535-47bb-0310-9956-ffa450edef68
2005-06-23 02:31:28 +00:00
John Dennis Casey 4ce86c9b87 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@191664 13f79535-47bb-0310-9956-ffa450edef68
2005-06-21 14:51:55 +00:00
Brett Leslie Porter d6b4a7adea remove unrequired dependency
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191628 13f79535-47bb-0310-9956-ffa450edef68
2005-06-21 06:02:14 +00:00
John Dennis Casey 9aaca6a72d o Added conversion handling of checksumPolicy to Settings and Profiles.
o Moved the profiles-builder stuff into maven-profile, to make that API more self-contained for reuse in Ant tasks, etc.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191551 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 20:08:05 +00:00
John Dennis Casey fda77afb12 Resolving issue: MNG-339
o Added checksumPolicy to artifact repository construction, which meant changing all the places where the factory was called.

o Added two command-line switches (-C=strict-checksum-checking, -c=lax-checksum-checking, or warning)

o Added checksum policy to all repository definitions (profiles.mdo, settings.mdo, maven.mdo)

o Changed the maven-artifact-ant stuff to use a Repository definition with checksumPolicy added to it

NOTE: I just realized that I haven't touched the inheritance/conversion of repository stuff from profiles/settings.xml to the model. I'll do this, and commit the additional changes.

Currently, the default checksum policy is to warn, since there are still bad checksums out there that prevent bootstrapping. Once we chase these down, we can change to default-strict checking. When verifying checksums, SHA-1 is attempted first, with MD5 acting as a backup verification method. If the checksum verification fails legitimately (not related to the process of retrieving/reading the checksum file), then the verification process is repeated ONCE ONLY.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191536 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 18:53:53 +00:00
Brett Leslie Porter 914cf98b69 set a default if no basedir sys property
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191411 13f79535-47bb-0310-9956-ffa450edef68
2005-06-20 07:10:27 +00:00
John Dennis Casey 385b7c96ae PR: MNG-487
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191309 13f79535-47bb-0310-9956-ffa450edef68
2005-06-18 22:38:49 +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
Brett Leslie Porter 2d7f97bc31 avoid NPE when no settings.xml file
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191104 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 08:03:16 +00:00
John Dennis Casey 3c6c0c7a2c Taking out redundant sample settings.xml
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191051 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 02:25:25 +00:00
John Dennis Casey af66c7a376 Adding sample settings.xml files. One goes in the maven distro, the other is in the maven-settings project dir, for reference. The one in maven-settings is intended to be authoritative.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191043 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 01:17:36 +00:00
John Dennis Casey a3cf96219f Resolving issue: MNG-379
o Added support for update-all and update-none when prompting the user.

o Added --update-plugins/-F option to force an update of the plugins used in the project.

o Added autoUpdate setting for the plugin registry. This is used when in non-interactive mode, to determine whether to register plugin updates

o Added updateInterval to determine when/how often to check for updates to registered plugins. Supports three syntaxes:

  - 'never'
  - 'always'
  - 'interval:XXX' (where XXX can be a combination of weeks, days, hours, and minutes in the syntax: 1w1d1h1m)
         > this renders the interval syntax similar to 'interval:1w' to check every week.

  NOTE: update intervals are calculated from the time a particular plugin was last checked.

o Added lastChecked attribute for registered plugins, to use as a basis for calculating update-check interval

o Added RuntimeInfo classes for maven-settings and maven-plugin-registry, to help in tracking the file each instance comes from, in addition to merging info which is useful when extracting the user-level instance from the merged instance (for persisting changes to the user instance, f.e.).

o Changed verifyPlugin(..) to take an instance of Settings, to allow persistent decisions across the session (like update-all, update-none in the plugin version manager)

This should take care of outstanding issues with this new feature. I'm closing the JIRA issue now, and we'll deal with any bugs/shortcomings as separate issues.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@191021 13f79535-47bb-0310-9956-ffa450edef68
2005-06-16 22:38:57 +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 d15513bd60 o Added sourceLevel (meaning global vs. user) to most base classes in the model, to track for the purposes of rewriting the user-level settings ONLY.
o Added an identity base class for many of these same base classes, to allow sorting/merging based on id (shallow merging) using a common piece of code.

o Added support for pluginUpdates (first pass) within the settings.xml, and support for merging this new section based on plugin key (g:a)

Working toward: MNG-379



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190704 13f79535-47bb-0310-9956-ffa450edef68
2005-06-15 03:01:48 +00:00
John Dennis Casey fc378a7ade Fixing code to locate the settings files.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190610 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 15:11:26 +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 1fc7419f03 o Added <properties/> for profiles configured in the pom.xml
o Split ModelNormalizationUtils into two utility classes in the maven-profile and maven-settings projects, to be used for converting Profile instances from the settings.xml and profiles.xml into maven-model instances.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@190344 13f79535-47bb-0310-9956-ffa450edef68
2005-06-13 04:21:27 +00:00
Brett Leslie Porter b0bdf5a54e use newer modello
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@189725 13f79535-47bb-0310-9956-ffa450edef68
2005-06-09 07:38:15 +00:00
Brett Leslie Porter fc01edf237 ability to lookup mirror by repository id that it is a mirror of
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@189513 13f79535-47bb-0310-9956-ffa450edef68
2005-06-08 03:37:31 +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 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
John Dennis Casey 215c30bbb3 Moved the packages org.apache.maven.model.settings and org.apache.maven.model.profiles to org.apache.maven.settings and org.apache.maven.profiles, respectively.
This is restoring the settings to their original package structure, and putting profiles next to it...the change I'm reversing was not a good one, conceptually.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@179289 13f79535-47bb-0310-9956-ffa450edef68
2005-05-31 21:48:55 +00:00
John Dennis Casey 9d7e54c042 o Added model and builder support for Profiles specified in settings.xml, profiles.xml, and the POM.
o Changed MBoot and Verifier accordingly.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@179233 13f79535-47bb-0310-9956-ffa450edef68
2005-05-31 16:24:34 +00:00
Emmanuel Venisse 4e6b33d359 o upgrade plexus-container to alpha-4-SNAPSHOT
o upgrade plexus-utils to alpha-3 until xpp stuff is fix in 1.0.0

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@179122 13f79535-47bb-0310-9956-ffa450edef68
2005-05-30 18:24:32 +00:00
Brett Leslie Porter 7ed8a746d3 update to released versions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169961 13f79535-47bb-0310-9956-ffa450edef68
2005-05-13 07:01:57 +00:00
Brett Leslie Porter 678919ad40 PR: MNG-145
add mirror notation to settings, introduce to bootstrap

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168282 13f79535-47bb-0310-9956-ffa450edef68
2005-05-05 06:24:07 +00:00
Brett Leslie Porter 9ba38545ea update to latest modello plugin versions
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@168134 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 14:41:33 +00:00
John Dennis Casey 61406495be o Refactored the MavenSettings code into the settings.mdo/Settings class.
o Added code to cache the active proxy and profile inside the Settings instance for quicker lookup.

o Added a method to initialize a new active profile for a Settings instance in the event one didn't exist.

o Started adding offline mode. So far, I've implemented:

  - Warning when a mojo declares a requirement for connectivity, but we're offline.

  - INFO message stating when maven is running in offline mode.

  - Addition to the Profile class in o.a.m.settings package to allow specification of offline mode by declaring: <offline>true</offline>


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163969 13f79535-47bb-0310-9956-ffa450edef68
2005-04-18 21:50:55 +00:00
Brett Leslie Porter b2ec61c703 default to HTTP
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163908 13f79535-47bb-0310-9956-ffa450edef68
2005-04-12 01:45:21 +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
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 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 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
Trygve Laugstol 764181f925 o Adding modello goals.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163588 13f79535-47bb-0310-9956-ffa450edef68
2005-03-17 01:34:24 +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