[ 
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

        

Reply via email to