Tim Smith created JENKINS-13285:
-----------------------------------
Summary: customtools-plugin does not delegate the
Launcher.isUnix() call in DecoratedLauncher
Key: JENKINS-13285
URL: https://issues.jenkins-ci.org/browse/JENKINS-13285
Project: Jenkins
Issue Type: Bug
Components: customtools-plugin
Environment: customtools-plugin version 1.0
Reporter: Tim Smith
Assignee: recampbell
Priority: Critical
When launching a Maven build from a Jenkins Unix master to a remote Windows
slave the command line is incorrectly built because the customtools-plugin
decorates the Launcher and fails to pass through the Launcher.isUnix() call to
the decoratee. The result is that the classpath uses a path separator of ':'
rather than ';' and Maven fails to load with a NoClassDefFoundError.
The fix is simple. In
{{com.cloudbees.jenkins.plugins.customtools.DecoratedLauncher}} just override
the isUnix() call:
{code:title=com.cloudbees.jenkins.plugins.customtools.DecoratedLauncher}
@Override
public boolean isUnix() {
return inner.isUnix();
}
{code}
I'm not sure if there is a better way to do this in Jenkins. Decorating
Launcher by subclassing in this way looks prone to this error if plugins fail
to decorate all public methods. Perhaps Jenkins core offers a better approach?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira