Commit Graph
105 Commits
Author SHA1 Message Date
Stephen Connolly 3871d7778e [JENKINS-43531] Plugins may not be expecting InvalidPathException
- Plugins should really be expecting it, but as historically they have not, may as well convert to IOE for them
2017-04-19 14:04:33 +01:00
Stephen Connolly f0cd7ae8ff [JENKINS-42934] Avoid using new FileInputStream / new FileOutputStream 2017-03-20 12:50:46 +00:00
Oliver Gondža a077b6ec9c Report dependency version we failed to load, not the one we require 2016-11-25 15:22:25 +01:00
Daniel Beck 72cb842b6c Cleaning up @since TODO / @since XXX 2016-10-15 23:22:20 +02:00
Nicolas De Loof 7b39424495 rely on try-with-resources 2016-10-03 15:12:48 +02:00
Daniel Beck 0fc375e9e4 Add configuration for disabling admin monitors
Add display name for all admin monitors in core.
2016-09-16 18:06:16 -07:00
Vincent Latombe 6bf02d514d [JENKINS-21486] Fix up messages and show plugin version 2016-07-29 14:33:55 +02:00
Vincent Latombe 99fa5f7a49 [JENKINS-21486] Fix :ant from daniel and separate failed plugin from
missing
2016-07-29 14:32:48 +02:00
Vincent Latombe b8f26b34a2 [JENKINS-21486] Simplify dependency errors model and serve consistent
messages between console and administrative monitor
2016-07-29 14:32:48 +02:00
Felix Belzunce Arcos aeb6ad951e [JENKINS-21485] AdministrativeMonitor for PluginWrapper 2016-07-29 14:32:15 +02:00
Vincent Latombe 646969b690 [JENKINS-21486] Refactoring 2016-07-29 14:31:41 +02:00
Vincent Latombe 43ddbdfc1c [JENKINS-21486] Fix plugin dependencies resolution
* Check that dependencies are enabled. A disabled optional dependency
  will not prevent a plugin from loading.
* Check versions of dependencies declared by a plugin before loading it.
  If any dependency (even optional) is older than what is required,
  then the plugin isn't loaded.

This should prevent use cases where a plugin is loaded but one of its
dependencies is too old so that :
* its @Extension annotated classes cannot be loaded, causing the full
  Jenkins to blow up with crapload of exceptions which are tedious to
  investigate to understand the root cause.
* NoSuchMethodError and the likes at runtime even though boot has
  completed.

Version check (for setups where version list is manually crafted but yet
works) can be disabled by starting Jenkins with

-Dhudson.PluginWrapper.dependenciesVersionCheck.enabled=true

Minor fixes done while implementing this change :
* Fix version parsing in PluginWrapper.Dependency
* Dynamic plugin load didn't check for disabled flag
2016-07-29 14:31:41 +02:00
Michal Slusarczyk fa1c03b0d8 [JENKINS-21486] Fixing optional dependency version resolution. (#2421)
Without it version of optional dependencies is set to "X.Y;resolution:=optional" which causes problems when using hudson.util.VersionNumber comparison methods.
2016-06-29 20:02:28 +02:00
Kohsuke Kawaguchi 75e93bed8a Merge branch 'master' of github.com:jenkinsci/jenkins
Conflicts:
	changelog.html
2016-05-11 11:46:30 -07:00
Oleg Nenashev c83a8fdf0d [JENKINS-34710] - PluginWrapper should not throw IOException if somebody enables the enabled plugin (#2327) 2016-05-11 12:11:02 +02:00
Carlos Sanchez 3e1bc969f4 [JENKINS-34683] Do not print stack trace if plugin is missing dependencies (#2048)
[JENKINS-34683] - Do not print stack trace if plugin is missing dependencies
2016-05-09 16:34:26 +02:00
Jesse Glick 39f33b9bfd Merge branch 'security-stable-1.651' into security-master 2016-04-26 15:58:55 -04:00
Jesse Glick 93229dfc24 Merge branch 'security-stable-1.625' into security-stable-1.642 2016-04-26 15:57:52 -04:00
Daniel Beck 6f8540c347 [FIX JENKINS-34094] Add access control
Also adds some API restrictions for JENKINS-33803.
2016-04-17 16:48:33 +02:00
Daniel Beck 70ee2012e9 Revert "[FIXED JENKINS-21486] Merged #2172: enforce plugin dependencies."
This reverts commit fa39668b81, reversing
changes made to be9bc0dba5.
2016-04-07 00:07:38 +02:00
Daniel Beck 4d0143b8d2 Revert "Merge pull request #2228 from Vlatombe/JENKINS-21486-follow-up"
This reverts commit 0846358bf6, reversing
changes made to 2c9adc9965.
2016-04-07 00:06:43 +02:00
Daniel Beck d182cdf223 Merge branch 'master' of github.com:jenkinsci/jenkins into 2.0 2016-04-06 19:18:44 +02:00
Vincent Latombe 754fcf9906 Display the required version back. 2016-04-06 14:18:29 +02:00
Vincent Latombe 5ebf6b8bde [JENKINS-21486] Follow-up
Display of shortName of disabled plugin is enough. Fix copy-paste error
in the message for disabled dependencies
2016-04-06 14:12:33 +02:00
Daniel Beck 425b727eac Merge branch 'master' of github.com:jenkinsci/jenkins into 2.0
Conflicts:
	cli/pom.xml
	core/pom.xml
	pom.xml
	test/pom.xml
	test/src/test/java/hudson/PluginManagerTest.java
	war/pom.xml
2016-04-04 23:00:39 +02:00
Jesse Glick fa39668b81 [FIXED JENKINS-21486] Merged #2172: enforce plugin dependencies. 2016-04-04 11:06:43 -04:00
Vincent Latombe f4e9cb4af4 [JENKINS-21486] Reduce visibility of flag to private 2016-04-01 16:06:38 +02:00
Vincent Latombe 91e8400ea1 [JENKINS-21486] Check Jenkins version if the flag is set
And don't fail if no version can be found.
2016-04-01 15:48:18 +02:00
Vincent Latombe 57e73a3575 [JENKINS-21486] Verify core version 2016-04-01 09:31:26 +02:00
Vincent Latombe d57db1b1f2 [JENKINS-21486] Fix plugin dependencies resolution
* Check that dependencies are enabled. A disabled optional dependency
  will not prevent a plugin from loading.
* Check versions of dependencies declared by a plugin before loading it.
  If any dependency (even optional) is older than what is required,
  then the plugin isn't loaded.

This should prevent use cases where a plugin is loaded but one of its
dependencies is too old so that :
* its @Extension annotated classes cannot be loaded, causing the full
  Jenkins to blow up with crapload of exceptions which are tedious to
  investigate to understand the root cause.
* NoSuchMethodError and the likes at runtime even though boot has
  completed.

Version check (for setups where version list is manually crafted but yet
works) can be disabled by starting Jenkins with

-Dhudson.PluginWrapper.dependenciesVersionCheck.enabled=true

Minor fixes done while implementing this change :
* Fix version parsing in PluginWrapper.Dependency
* Dynamic plugin load didn't check for disabled flag
2016-03-30 10:40:12 +02:00
Daniel Beck 17edeb4829 [FIX SECURITY-250] Restrict access to admin APIs 2016-02-15 03:48:25 +01:00
tfennelly 036a8e94ed [FIX JENKINS-9598] Add plugin selection wizard on first launch
Also ... unbundling of plugins from Jenkins core.
2016-01-20 10:54:32 +00:00
tfennelly a8e83c3c2d Tweaks based on review comments 2015-10-06 09:44:11 +01:00
tfennelly 3b5424e507 Only allow disable or uninstall when all dependants or dependencies are disabled/enabled 2015-10-01 16:35:05 +01:00
Veres Lajos d58903558e typofix - https://github.com/vlajos/misspell_fixer 2015-08-11 16:34:13 +01:00
Jesse Glick c94c1716f3 Merge branch 'SECURITY-144' into SECURITY-144-rc
Conflicts:
	core/src/main/java/hudson/FilePath.java
	core/src/main/java/hudson/PluginManager.java
	core/src/main/java/hudson/PluginWrapper.java
2014-10-17 10:59:32 -04:00
Kohsuke Kawaguchi 19f9b63d74 [FIXED JENKINS-24046]
Warn users if the pinning is preventing Jenkins from overwriting older versions with bundled versions.
2014-10-16 18:18:25 -07:00
Jesse Glick 7f856b5608 [FIXED JENKINS-12753] Added PluginStrategy.getShortName to avoid actually trying to unpack a plugin before throwing RestartRequiredException. 2014-05-20 12:57:47 -04:00
Jesse Glick 3c2f5046c0 Revert "Warn user when plugin dependencies don't match"
This reverts commit 2d40b7e7e9.
2014-02-11 19:12:58 -05:00
Jesse Glick 58ff576f0a Revert "Use dedicated exceptions to track incompatible/missing plugin"
This reverts commit b32d0e4f74.
2014-02-11 19:12:57 -05:00
Nicolas De Loof b32d0e4f74 Use dedicated exceptions to track incompatible/missing plugin
to be used by other component to log/resolve configuration issue.
2014-02-11 13:31:38 +01:00
Nicolas De Loof 2d40b7e7e9 Warn user when plugin dependencies don't match
required minimal version
2014-02-11 13:31:38 +01:00
Ulli Hafner 48cb1304c5 Removed "Jenkins" prefix from plugin display names.
Since sorting of plugins in the update manager is based on displayName
this name should not have a common prefix otherwise it's hard to find
a given plugin name.
2014-02-04 15:25:31 +01:00
Jesse Glick 2a9197d36d Better diagnostics than “Failed to get backup version”: indicate what file was broken. 2014-01-27 09:45:10 -08:00
Jesse Glick 6586d779b1 Better null safety.
Defense against an exception consistently thrown when running functional tests against 1.532.1 (but not 1.540, for whatever reason):
… hudson.PluginWrapper stop
WARNING: Failed to shut down …
java.lang.NullPointerException
	at jenkins.model.Jenkins.lookup(Jenkins.java:3898)
	at hudson.PluginWrapper.getPlugin(PluginWrapper.java:287)
	at hudson.PluginWrapper.stop(PluginWrapper.java:377)
	at hudson.PluginManager.stop(PluginManager.java:650)
	at org.jvnet.hudson.test.TestPluginManager.reallyStop(TestPluginManager.java:129)
	at org.jvnet.hudson.test.TestPluginManager.access$000(TestPluginManager.java:55)
	at org.jvnet.hudson.test.TestPluginManager$1.run(TestPluginManager.java:140)
2013-11-20 09:51:19 -05:00
Jesse Glick 7ff65c5674 Reducing message from stop() to FINE.
Normally this is only printed during functional tests or during in-process restart.
In neither case do we really want to see a log message (i.e. two lines of text) for each plugin in the system being stopped.
2013-11-11 13:17:59 -05:00
evernat b32b38cdc9 Close JarFile resources in PluginWrapper and UpdateCenter 2013-08-24 17:43:01 +02:00
Mark Waite 253f928209 Fix many of the javadoc unresolved @link warnings 2013-07-20 13:28:54 -06:00
Kohsuke Kawaguchi 29f6a5dd01 [FIXED JENKINS-3070]
Added uninstaller that removes *.jpi.
2012-10-09 16:08:21 -07:00
Kohsuke Kawaguchi 76832379d8 exposed data about installed plugins, installable plugins, update center jobs, etc., to the REST API 2012-05-21 16:59:24 -07:00