Commit Graph
98 Commits
Author SHA1 Message Date
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
imod aad6e4c66c only deactivate plugins with cycle dependencies instead of failing to launch Jenkins 2012-02-19 18:29:53 +01:00
imod 386618dca4 support new JenkinsPlugin type (jpi) 2012-01-03 11:47:37 -08:00
Kohsuke Kawaguchi c6d81ef2e2 hooking up the dynamic loading logic into the UI 2011-11-15 23:09:47 -08:00
Kohsuke Kawaguchi 7850d422af this is a meta variable 2011-08-09 11:14:48 -07:00
Nigel Magnay 5679d019ec Move hudson.model.Jenkins to be jenkins.model.Jenkins - part II
Just import changes, from hudson.model.Jenkins -> jenkins.model.Jenkins,
and Javadoc comments.

Signed-off-by: Nigel Magnay <nigel.magnay@gmail.com>
2011-05-29 11:06:28 +01:00
Nigel Magnay 70c1065814 Stage 1 : Create hudson.model.Jenkins, make Hudson derive from Jenkins.
Signed-off-by: Nigel Magnay <nigel.magnay@gmail.com>
2011-05-29 11:00:58 +01:00
Kohsuke Kawaguchi 0ae70779be Generate 3rd party dependency license report and make it visible from
the UI.

Also, for the core build, require that all the dependency licenses are
available.
2011-04-15 14:55:43 -07:00