-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins Version 2.125
Jenkins Master OS: SLES 12
Jenkins Node OS : Windows Server 2016
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows:
C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl https://jenkins.****.com/computer/windows-node/slave-agent.jnlp -secret **** -workDir "D:\jenkins\windows"
System Information for Slave shows correct information for file.separator:
Windows slave, version 3.19
System Properties
Name ↓ | Value |
---|---|
apple.laf.useScreenMenuBar | true |
awt.toolkit | sun.awt.windows.WToolkit |
file.encoding | Cp1252 |
file.encoding.pkg | sun.io |
file.separator | '\' (without quotes) |
java.awt.graphicsenv | sun.awt.Win32GraphicsEnvironment |
java.awt.printerjob | sun.awt.windows.WPrinterJob |
java.class.path | agent.jar |
java.class.version | 52.0 |
When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/'
Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote):
echo File.separator if(isUnix()){
echo 'isUnix()'
}else{
echo 'WINDOWS'
}
[JENKINS-51664] file.separator is returning / on Windows.
Description |
Original:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator|\|| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
New:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator||\|| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
Description |
Original:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator||\|| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
New:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator|/| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
Description |
Original:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator|/| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
New:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator|\| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
Description |
Original:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator|\| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
New:
Using Jenkins build master on SUSE SLES 12 together with a node machine (Windows Server 2016) connected by JNLP and running under Windows Service as follows: C:\Program Files (x86)\Java\jre1.8.0_171\bin\java.exe -Xrs -jar agent.jar -jnlpUrl [https://jenkins.****.com/computer/windows-node/slave-agent.jnlp|https://jenkins.%2A%2A%2A%2A.com/computer/windows-node/slave-agent.jnlp] -secret **** -workDir "D:\jenkins\windows" System Information for Slave shows correct information for file.separator: Windows slave, version 3.19 h1. System Properties ||[Name ↓|https://myjenkins.aafes.com/computer/windows-node/systemInfo]||[Value |https://myjenkins.aafes.com/computer/windows-node/systemInfo]|| |apple.laf.useScreenMenuBar|true| |awt.toolkit|sun.awt.windows.WToolkit| |file.encoding|Cp1252| |file.encoding.pkg|sun.io| |file.separator|{{'\' (without quotes)}}| |java.awt.graphicsenv|sun.awt.Win32GraphicsEnvironment| |java.awt.printerjob|sun.awt.windows.WPrinterJob| |java.class.path|agent.jar| |java.class.version|52.0| | | | When I execute distributed build on Windows Server for checking out Harvest CA, file.separator used as '/' Also when I run the following script through pipeline on Windows node, I get file.separator value as '/' (without quote): echo File.separator if(isUnix())\{ echo 'isUnix()' }else\{ echo 'WINDOWS' } |
Component/s | Original: core [ 15593 ] | |
Component/s | Original: remoting [ 15489 ] |
File.separator is a Java API invocation. It will always return Master's separator if you whitelist the method. So Pipeline issue is not a defect.
If Harvest plugin behaves in such way, likely there is a defect there