Commit Graph

76 Commits

Author SHA1 Message Date
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