Commit Graph
101 Commits
Author SHA1 Message Date
kzantow 4e3295bb2c Address @jglick's comments: refactor ClassicPluginStrategy to use
BREAK_CYCLE, use the same getImpliedDependency method for multiple code
paths, @Restricted isMailerPresent
2016-03-15 14:17:39 -04:00
kzantow 5e8bb98ee0 JENKINS-33308 - automatically install previously bundled dependencies
for plugins that depend on old Jenkins versions
2016-03-15 10:46:18 -04:00
Daniel Beck 3624f70169 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/cli/CreateNodeCommandTest.java
	test/src/test/java/hudson/cli/DeleteNodeCommandTest.java
	test/src/test/java/hudson/cli/GetNodeCommandTest.java
	test/src/test/java/hudson/cli/OnlineNodeCommandTest.java
	test/src/test/java/hudson/cli/UpdateNodeCommandTest.java
	war/pom.xml
2016-02-22 13:22:37 +01:00
Stephen Connolly c0cbff7297 [JENKINS-32765] Perhaps it makes more sense to make this a property of the PluginManager rather than the classic strategy
- Also expose via servlet context parameter of same name to allow multiple instances of Jenkins in the same servlet container to have different directories
- As we are no longer a constant, change the system property to camelCase
2016-02-04 14:40:44 +00:00
Stephen Connolly d27cff8fd2 [FIXED JENKINS-32765] Allow the directory that plugins are exploded into to be changed
- This really has to be controlled by either a system property or a CLI parameter as we cannot guarantee that any path
  specified in a configuration file in JENKINS_HOME will be valid on another machine where the JENKINS_HOME is mounted
- Obviously Jenkins does not currently support fully starting two Jenkins instances on the same JENKINS_HOME, so this
  fix is to assist in Disaster Recovery (or semi-higher availability) sceanarios where the backup node is being brought
  up. In such cases, the node that failed may not have correctly released all its file handles in the backing NFS share
  and thus could be blocking the recovery node from starting up.
- An additional use case is where the JENKINS_HOME is stored on a remote disk, e.g. a SAN, etc. and the user wants to
  take advantage of the faster local disk to serve the resources from both plugins and Jenkins core. Without this change
  only Jenkins core can be relocated outside of JENKINS_HOME (using the '--webroot=...' command line option).
- Ideally we would introduce this into the extras-executable-war module once the system property has had time to soak
  (although in an ideal world that module would be agnostic of Jenkins and thus it might not be appropriate there)
2016-02-04 10:29:52 +00:00
Tom Fennelly b5fa04f048 Fixups to ClassicPluginStrategy 2016-01-22 11:03:54 +00: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
James Nord 4c6dd0135a [JENKINS-30820] pick up the new bytecode-compat-t.
The new version of the BCT does not generate stackMap if the original code
did not contain stack maps.  Further more the new version takes a
classloader to use so that it can load classes when searching for the
common parent class.
2015-10-16 18:34:24 +02:00
Vincent Latombe a65d007533 Prerequisite for JENKINS-25785 in order to break dependency cycle when windows-slaves will depend on credentials 2015-06-13 14:18:40 +02:00
Jesse Glick 6ad8cbfc3a Merge branch 'security' into security-rc
Conflicts:
	core/src/main/java/hudson/ClassicPluginStrategy.java
	core/src/main/java/hudson/cli/AddJobToViewCommand.java
	core/src/main/java/hudson/model/Run.java
	core/src/main/java/hudson/node_monitors/MonitorOfflineCause.java
	core/src/main/java/hudson/tasks/junit/JUnitResultArchiver.java
	core/src/main/java/jenkins/model/IdStrategyDescriptor.java
	core/src/main/resources/hudson/model/AbstractProject/configure-common_ru.properties
	core/src/main/resources/hudson/model/AbstractProject/configure-common_tr.properties
	core/src/main/resources/hudson/model/FileParameterValue/value_pt_BR.properties
	core/src/main/resources/hudson/model/Job/index.jelly
	core/src/main/resources/hudson/model/TextParameterDefinition/config_pt_BR.properties
	core/src/main/resources/hudson/node_monitors/Messages_cs.properties
	core/src/main/resources/hudson/node_monitors/Messages_sv_SE.properties
	core/src/main/resources/hudson/security/SecurityRealm/signup.jelly
	core/src/main/resources/hudson/slaves/CommandConnector/config_pt_BR.properties
	core/src/main/resources/hudson/views/BuildButtonColumn/column.properties
	core/src/main/resources/jenkins/diagnosis/HsErrPidList/index_pt_BR.properties
	core/src/main/resources/jenkins/model/IdStrategy/config.jelly
	core/src/main/resources/jenkins/model/Jenkins/MasterComputer/_api.jelly
	core/src/main/resources/jenkins/model/Jenkins/load-statistics_pt_BR.properties
	core/src/main/resources/jenkins/security/s2m/AdminCallableMonitor/message.jelly
	core/src/main/resources/jenkins/security/s2m/AdminWhitelistRule/index_pt_BR.properties
	core/src/main/resources/jenkins/slaves/systemInfo/EnvVarsSlaveInfo/systemInfo.jelly
	core/src/main/resources/jenkins/slaves/systemInfo/Messages.properties
	core/src/main/resources/jenkins/slaves/systemInfo/Messages_da.properties
	core/src/main/resources/jenkins/slaves/systemInfo/Messages_de.properties
	core/src/main/resources/jenkins/slaves/systemInfo/Messages_fr.properties
	core/src/main/resources/jenkins/slaves/systemInfo/Messages_ja.properties
	core/src/main/resources/jenkins/slaves/systemInfo/Messages_nl.properties
	core/src/main/resources/jenkins/slaves/systemInfo/Messages_pt_BR.properties
	core/src/main/resources/jenkins/slaves/systemInfo/Messages_zh_TW.properties
	core/src/main/resources/jenkins/triggers/Messages_fr.properties
	core/src/main/resources/lib/form/class-entry.jelly
	core/src/main/resources/lib/form/helpLink_pt_BR.properties
	core/src/main/resources/lib/form/link.jelly
	core/src/main/resources/lib/hudson/project/configurable.properties
	core/src/main/resources/lib/hudson/project/configurable_bg.properties
	core/src/main/resources/lib/hudson/project/configurable_es_AR.properties
	core/src/main/resources/lib/hudson/project/configurable_eu.properties
	core/src/main/resources/lib/hudson/project/configurable_gl.properties
	core/src/main/resources/lib/hudson/project/configurable_hi_IN.properties
	core/src/main/resources/lib/hudson/project/configurable_nl.properties
	core/src/main/resources/lib/hudson/project/configurable_tr.properties
	core/src/main/resources/lib/hudson/project/console-link.jelly
	core/src/main/resources/lib/hudson/project/console-link_pt_BR.properties
	core/src/main/resources/lib/layout/pane_de.properties
	core/src/main/resources/lib/layout/pane_pt.properties
	core/src/main/resources/lib/layout/pane_pt_BR.properties
	core/src/main/resources/lib/layout/task_pt.properties
	core/src/test/java/hudson/util/XStream2Test.java
	pom.xml
	test/pom.xml
	test/src/test/java/hudson/model/AbstractItemSecurityTest.java
	test/src/test/resources/lib/layout/IconTest/03_testTask.jelly
	war/src/main/webapp/scripts/msie.js
2015-02-05 16:35:57 -05:00
Jesse Glick 41786ad019 Preventing cyclic dependencies among bundled plugins.
Reproducible for example via HelpLinkTest.testMatrixConfig.
Otherwise have: matrix-project → script-security → matrix-auth → windows-slaves → antisamy-markup-formatter → matrix-project
Tried to come up with a generic way of doing this automatically, but failed.
Just because we bundle a particular build of some plugin does not mean it was built against anything recent,
and for use on older cores it may well need some of those implicit dependencies.
2015-02-04 16:45:53 -05:00
Jesse Glick 5d43fdf1e6 matrix-project 1.0
(cherry picked from commit 0bd831e2d9)
2015-02-04 14:05:32 -05:00
Jesse Glick 92ca85339f Preparing to include transitional release.
(cherry picked from commit 071951e658)
2015-02-04 14:05:00 -05:00
Jesse Glick a236b34364 DetachedPlugin entry.
(cherry picked from commit e4ba41d539)
2015-02-04 14:04:40 -05:00
Felix Belzunce Arcos 6351a8a258 JENKINS-26203 2015-01-13 09:54:59 +01:00
Oleg Nenashev 5259996c44 [CID-1219446] - Resource leak in ClassicPluginStrategy
Resource leak may happen during the search of manifest file.

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
2014-11-04 15:54:05 +03: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 253943e13e [JENKINS-5756] Removing workarounds for HotSpot bug.
https://bugs.openjdk.java.net/browse/JDK-6933067 claims to be fixed as of Java 6, our baseline.
2014-09-24 09:32:50 -04:00
Jesse Glick 16197ea502 [FIXED JENKINS-23263] JUnit reporter moved to a plugin. 2014-08-11 13:45:23 -04:00
Jesse Glick 9d960e68ca Updated Javadoc of AntClassLoader2. 2014-07-14 17:40:54 -04: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 0bd831e2d9 matrix-project 1.0 2014-04-28 15:04:07 -04:00
Jesse Glick 071951e658 Preparing to include transitional release. 2014-04-14 21:10:17 -04:00
Jesse Glick e4ba41d539 DetachedPlugin entry. 2014-04-14 19:28:55 -04:00
Kohsuke Kawaguchi 86b72241a7 Merge remote-tracking branch 'origin/master'
Conflicts:
	changelog.html
2014-03-24 23:49:30 -07:00
Kohsuke Kawaguchi 69773dc9f7 [JENKINS-21579] Copied as-is from Ant 1.8.3 to apply patches 2014-03-24 23:31:39 -07:00
Jesse Glick 56b360d6f3 [JENKINS-19976] Touch-ups to PR #1054. 2014-03-24 10:10:52 -04:00
Jesse Glick df8df45c27 [FIXED JENKINS-19976] Merged #1054: fix class loading from dynamically installed optional dependencies. 2014-03-24 09:52:32 -04:00
Jesse Glick 898f1f76a3 [FIXED JENKINS-12124] Occasionally errors loading plugin classes since it is expected that findClass (and findLoadedClass) are called under synchronization.
The problem was masked by a blind assumption that an InvocationTargetException was in fact wrapping a ClassNotFoundException.
Many thanks to @gotwarlost for demonstrating how to reproduce the problem and diagnosing the cause.
2014-02-21 15:03:16 -05:00
Jesse Glick b2c69b4a35 Split RawHtmlMarkupFormatter into a bundled plugin (antisamy-markup-formatter).
https://trello.com/c/NvZt4WXu/15-rawhtmlmarkupformatter
2014-02-17 12:22:53 -05:00
Jesse Glick 2669e4a86d Split out windows-slaves-plugin.
https://trello.com/c/MhG9Ksqa/12-windows-service-slave-launcher
2014-01-03 17:20:01 -05:00
ikedam 87e2a7e8d5 [FIXED JENKINS-19976] Enable plugins to load classes from optionally depending plugins even without restarting after depended ones installed. 2013-12-10 23:53:38 +09:00
Jesse Glick c2366eeda5 Updated a couple of comments referring to Java 5. 2013-11-15 08:46:14 -05:00
Jesse Glick 15ac490af1 Now that we use Java 6, can finally deprecate IOException2. 2013-11-15 08:19:59 -05:00
Kohsuke Kawaguchi f15f49f6f4 Merge pull request #923 from evernat/master
Optimize and close Zip resources in ClassicPluginStrategy and FilePath
2013-10-27 12:05:23 -07:00
Kohsuke Kawaguchi f98c4627da [JENKINS-19383]
Escape hatch to disable bytecode transformation in case this causes other unforeseen problems.
2013-10-25 09:36:44 -07:00
Jesse Glick 89149277ae matrix-auth 1.0.2 (couple of fixups) 2013-10-04 17:06:28 -04:00
Jesse Glick b0ac41c3b1 Split off matrix-auth plugin. 2013-10-04 16:27:15 -04:00
evernat f5742df16b Optimize and close Zip resources in ClassicPluginStrategy and FilePath 2013-08-27 00:03:09 +02:00
Kohsuke Kawaguchi 47de54d070 [FIXED JENKINS-18677]
Integrated bytecode-compatibility-transformer that allows core to
do signature changes on properties that plugins might depend on.

The library performs necessary bytecode transformation to achieve this.

The first use of this is to fix plugins that looks for List
AbstractProject.triggers, thereby resolving JENKINS-18677.

For the time being, I'm not loading such compatibility annotations from
plugins, but I did code that in PluginManager. Let's see how this
feature work out for a while in the core, and if it looks stable and
solid, we'll open it up to plugins at that point.
2013-08-02 22:29:21 -07:00
Nicolas De Loof a6926e1c51 [FIXED JENKINS-18654] exlude disabled plugins from transitive dependency list 2013-07-08 11:45:26 +02:00
Kohsuke Kawaguchi f7330d7a15 [FIXED JENKINS-15120]
- integrated the newer release of remoting
- jar caching won't work with class file directory, so plugin
  WEB-INF/classes are now exploded as WEB-INF/lib/classes.jar
  (This should also solve the problem of slow plugin extraction in the
  presene of Anti-virus software on Windows.)
- because the structure of the exploded jar file has changed, I changed
  the up-to-date check timestamp file name to force re-extraction in
  existing installations.
2013-06-08 12:21:18 +03:00
Kohsuke Kawaguchi a9fc20d5b1 added a mechanism to exclude certain packages for all the plugins.
This is primarily to mask JavaEE API classes. Mask-Classes itself is insufficient as I described in the comment
2012-12-19 13:59:51 -08:00
Kohsuke Kawaguchi 5237146b21 Mailer is split off to a plugin now 2012-12-08 16:24:14 -08:00
Jesse Glick ec0b59d230 URLClassLoader is Closeable in Java 7, no need for a workaround. 2012-11-16 15:54:02 -05:00
Kohsuke Kawaguchi 9a178aa8cc Added a mechanism to filter extension points as they are discovered.
I couldn't quite find one place to do this, so it's spread apart
somewhat.
2012-06-15 13:42:23 -07:00
Kohsuke Kawaguchi b1604e85ce adding in those dependencies 2012-05-30 10:42:28 -07:00
Kohsuke Kawaguchi 903bf089b7 External monitor job type is moved to a plugin.
The actual release needs to happen in a lock step, as the new plugin
needs to require yet-to-be-released version of the core. So for the time
being it's a snapshot dependency, deployed in the snapshot repository.
2012-05-29 17:48:35 -07:00
Kohsuke Kawaguchi 482b433333 If the destDir is available as a file, this fails in a weird way 2012-02-09 09:34:59 -08:00