[
https://issues.jenkins-ci.org/browse/JENKINS-13285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tim Smith updated JENKINS-13285:
--------------------------------
Environment: customtools-plugin version 0.1 (was: customtools-plugin
version 1.0)
> 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 0.1
> 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