Commit Graph
90 Commits
Author SHA1 Message Date
Jesse Glick 258579f259 API sketch. 2012-09-10 18:39:33 -04:00
Kohsuke Kawaguchi c0f7065668 added a marker interface to help plugin developers. 2012-07-23 14:10:15 -07:00
Nicolas De loof 6da5894f49 Merge pull request #491 from ndeloof/JENKINS-13909
[JENKINS-13909] don't keep legacy *.hpi when uploading a plugin
2012-06-05 00:51:52 -07:00
Ryan Campbell 474964cc5a Add PluginManager.CONFIGURE_UPDATECENTER permission which allows a user to configure update sites and proxy info. 2012-06-04 16:36:31 -05:00
Ryan Campbell 2ebf332b08 Introduce PluginManager.UPLOAD_PLUGINS permission which allows a user to upload arbitrary plugins. 2012-06-04 16:36:31 -05:00
Nicolas De Loof de5938b3a6 [JENKINS-13909] don't keep legacy *.hpi when uploading a plugin
even jenkins takes care to load jpi first, this is confusing
2012-06-01 17:16:10 +02: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
Alex Lehmann 2453985ca5 [Fixed JENKINS-13129] Updating built-in plugins doesn't work, the file doesn't get pinned and is overwritten on the next startup
changed bundled plugin detection, added unit test
2012-03-27 17:12:33 +02:00
Kohsuke Kawaguchi 132f8b769d [FIXED JENKINS-12514]
Fixed the file overwrite problem on Windows.
2012-03-09 16:51:05 -08:00
imod 40e8952717 fix monitor activation 2012-02-22 18:54:37 +01:00
imod 8d220fb193 update comments 2012-02-20 19:52:35 +01:00
imod aad6e4c66c only deactivate plugins with cycle dependencies instead of failing to launch Jenkins 2012-02-19 18:29:53 +01:00
Kohsuke Kawaguchi e3cf985819 correctly handle ambgious cases (such as when we run in the development mode) 2012-02-19 09:45:43 +09:00
Kohsuke Kawaguchi ba71264b6b Fixed a bug in the auto-overwrite of bundled plugins.
Bundled plugins should be laid down as *.jpi, with proper measure to
migrate existing bits.
2012-01-20 13:01:25 -08:00
imod 386618dca4 support new JenkinsPlugin type (jpi) 2012-01-03 11:47:37 -08:00
Kohsuke Kawaguchi dec633208b Supported "no proxy host" setting and modernized the impl. 2011-12-02 23:34:16 -08:00
Kohsuke Kawaguchi c6d81ef2e2 hooking up the dynamic loading logic into the UI 2011-11-15 23:09:47 -08:00
Kohsuke Kawaguchi 40806bb290 Cyclic dependency check not needed. 2011-11-15 22:05:55 -08:00
Kohsuke Kawaguchi 0c54ef47ea This is the right phase to fill in all the descriptors 2011-11-15 20:13:28 -08:00
Kohsuke Kawaguchi 216073a54c Various bug fixes.
- init task needs to be filtered down to only include those that are newly added.
- newly added plugin needs to be a part of the 'plugins' field
2011-11-15 19:12:02 -08:00
Kohsuke Kawaguchi 94faaf3f56 adding a method to experiment with the dynamic loading of a plugin 2011-11-15 18:17:57 -08:00
Kohsuke Kawaguchi 82ef72c00d Expose Injector to the rest of the world 2011-11-15 17:31:49 -08:00
Kohsuke Kawaguchi ee4e9c6149 fully implemented faster classloader lookup 2011-10-10 18:54:55 +09:00
Kohsuke Kawaguchi 0751429b8f added faster resolution 2011-10-10 18:54:55 +09:00
Kohsuke Kawaguchi 74358e7086 Merge branch 'guice' 2011-09-23 15:17:06 -07:00
Kohsuke Kawaguchi c1451269c3 follow up merge fixes 2011-09-21 22:00:38 -07:00
Kohsuke Kawaguchi e17760256e merged with the latest trunk 2011-09-21 21:41:57 -07:00
Seiji Sogabe 5b3990e5e3 [JENKINS-11068] Do not check if port is not entered. 2011-09-22 12:07:45 +09:00
Seiji Sogabe 96fa4c4bab [FIXED JENKINS-11068] Port on HTTP Proxy Configure accepts characters except the digits 2011-09-21 15:35:49 +09:00
Kohsuke Kawaguchi 211231d12b Merged 2dbe144bb7
Conflicts:
	core/src/main/java/hudson/LocalPluginManager.java
2011-08-29 11:52:20 -07:00
Kohsuke Kawaguchi 5474755aee making this overridable 2011-08-29 11:25:31 -07:00
Kohsuke Kawaguchi f322503d3a Reverting 4de81f1eb3.
Max Spring discovered a stack overflow in http://jenkins.361315.n4.nabble.com/channel-example-and-plugin-classes-gives-ClassNotFoundException-td3756092.html that pointed this call into thread context classloader (TCL) as the culprit. Independently, Paul Sandoz discovered the same issue in our products. If TCL is another classloader that delegates to UberClassLoader (UCL), this code causes infinite recursion.

And moreover, given the goal of UCL, it seems wrong that this class is changing behaviour based on contextual information like TCL.

 In looking at 4de81f1eb3, the change was introduced to make sure XStream unmarshalling invoked from Plugin.start() would see the classes in that plugin. This was an issue back then when plugins are prepared and loaded one by one, as UCL didn't have visibility into plugins being prepared. But in the current Jenkins, classloaders for all the plugins are prepared, before any plugin gets started, so by the time Plugin.start() runs, UCL is fully functioning.

 Therefore, there's no need to consult TCL for the purpose of resolving its own classes. I could have also removed the code that sets TCL, but because some libraries often depend on TCL and doesn't properly look at caller class, I'm leaving it in, even though it's generally a bad practice to rely on TCL in multi-classloader apps like Jenkins
2011-08-29 10:56:55 -07:00
Kohsuke Kawaguchi e03ba7dc6b [FIXED JENKINS-9960]
We weren't actually enforcing the initialization order at all, as
sorting was based on the plugin name.
2011-06-11 18:39:35 -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 872b4dfb72 fixed a ConcurrentModificationException during startup 2011-05-16 15:31:04 -07:00
Kohsuke Kawaguchi c36b35fead Manually uploading a bundled plugin should trigger pin-down. 2011-04-28 17:05:23 -07:00
Kohsuke Kawaguchi 229f536cba [FIXED JENKINS-8866] Look for Descriptor.getId()==null and warn the administrator 2011-03-08 11:04:00 -08:00
Seiji Sogabe c85e60f14e Sorry my mistake. 2010-12-24 22:19:10 +09:00
Kohsuke Kawaguchi 001507695e experimenting 2010-11-26 16:37:49 -08:00
kohsuke be5ab5490b made the generated classes visible to the classloader.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@36008 71c3de6d-444a-0410-be80-ed276b4c234a
2010-10-17 07:43:09 +00:00
kohsuke aded9afbe6 [FIXED HUDSON-5427] recognize @Initializer marked tasks from plugins
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@35980 71c3de6d-444a-0410-be80-ed276b4c234a
2010-10-15 17:35:24 +00:00
kohsuke 8ec3054c30 Added downgrade support for the core and plugins.
--------
Merged revisions 32975,33588,33697,34342 via svnmerge from 
https://www.dev.java.net/svn/hudson/branches/downgrade

........
  r32975 | kohsuke | 2010-07-16 21:27:59 +0200 (Fri, 16 Jul 2010) | 1 line
  
  committed my partially modified version
........
  r33588 | dienomight | 2010-08-05 09:42:36 +0200 (Thu, 05 Aug 2010) | 13 lines
  
  Added getBackupVersion (UpdateCenter)
  downgrade button now shows version of backup war file
  
  Added HudsonDowngradeJob (UpdateCenter)
  downgrading process is works now as HudsonUpgradeJob
  
  Changed rewriteHudsonWar (Lifecycle) 
  backup file is deleted when downgrading
  
  hudson/model/Hudson/downgrade_success.jelly is no longer necessary
  
  Changed rewriteHudsonWar(WindowsServiceLifecycle)
  hudson run as windows service creates backup during upgrading
........
  r33697 | dienomight | 2010-08-11 17:09:48 +0200 (Wed, 11 Aug 2010) | 8 lines
  
  committed changes:
  "plugins downgrade functionality"
  added: 
  * PluginDowngradeJob in UpdateCenter
  * getCanDowngrade & getBackupPath & getBackupVersion in PluginWrapper
  * additional "previous version" column in installed.jelly (PluginManager) with downgrade button (when it's possible to downgrade)
  * doDowngrade in PluginManager
  * deployBackup in UpdateSite
........
  r34342 | dienomight | 2010-09-03 09:52:13 +0200 (Fri, 03 Sep 2010) | 12 lines
  
  Code improvements: 
  jelly files:
  *I put text inside ${%} so it would be available for translation.
  UpdateCenter: 
  *changed getCanDowngrade to isDowngradable
  *getBackupVersion use JarFile class to get version of .war backup
  PluginWrapper:
  *changed getBackupPath to getBackupFile
  *getBackupVersion use JarFile class to get version of plugin backup
  PluginManager:
  *changed condition in doDowngrade method
........


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@34543 71c3de6d-444a-0410-be80-ed276b4c234a
2010-09-08 05:36:29 +00:00
sogabe f7faf4b8e8 Fixed exception without uploaded Plugin.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@32004 71c3de6d-444a-0410-be80-ed276b4c234a
2010-06-13 12:35:50 +00:00
kohsuke b84de862dc Added an ability to point to different update sites.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@31831 71c3de6d-444a-0410-be80-ed276b4c234a
2010-06-07 16:53:50 +00:00
mindless fd0e34a13f small PluginManager UI updates
- click category heading on Available tab to show/hide plugins in that category
- add initial sort for plugins on Installed tab
- no mouseover bgcolor for Advanced tab


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@31819 71c3de6d-444a-0410-be80-ed276b4c234a
2010-06-07 01:11:31 +00:00
mindless 1a28a34187 [FIXED HUDSON-6435] move "Checking cyclic dependencies" step to PLUGINS_PREPARED
to avoid possible ConcurrentModificationException when optional dependencies are
being processed in PLUGINS_LISTED phase.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@31481 71c3de6d-444a-0410-be80-ed276b4c234a
2010-05-28 15:21:15 +00:00
mindless 55aef4bb5c [FIXED HUDSON-5617] catch and report missing/invalid proxy port value
when submitting proxy settings.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@30454 71c3de6d-444a-0410-be80-ed276b4c234a
2010-04-28 18:35:42 +00:00
kohsuke 6253fb1b24 Test performance improvement by allowing multiple Hudsons to reuse classloaders.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@30070 71c3de6d-444a-0410-be80-ed276b4c234a
2010-04-14 22:55:18 +00:00
sogabe 03198ecc7f l18n & l10n of navigation.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@29641 71c3de6d-444a-0410-be80-ed276b4c234a
2010-03-31 13:05:32 +00:00