Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-51664

file.separator is returning / on Windows.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: harvest-plugin
    • Labels:
      None
    • Environment:
      Jenkins Version 2.125
      Jenkins Master OS: SLES 12
      Jenkins Node OS : Windows Server 2016
    • Similar Issues:

      Description

      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'
      }

        Attachments

          Activity

          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          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

          Show
          oleg_nenashev Oleg Nenashev added a comment - 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
          Hide
          abedwards Adam added a comment -

          hi Oleg Nenashev i no longer use this plugin, so chances are I will not fix the issue.  would recommend you fix yourself and send a PR.  I can probably accept the PR if I still have access.

          Show
          abedwards Adam added a comment - hi Oleg Nenashev i no longer use this plugin, so chances are I will not fix the issue.  would recommend you fix yourself and send a PR.  I can probably accept the PR if I still have access.
          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          Adam I am just a guy who triages incoming issues. I do not use the plugin on my own, and I will unlikely fix it as well.

          I can check and restore your permissions tho. If you are not interested in the plugin, would you be fine if I mark it for adoption?

          Show
          oleg_nenashev Oleg Nenashev added a comment - Adam I am just a guy who triages incoming issues. I do not use the plugin on my own, and I will unlikely fix it as well. I can check and restore your permissions tho. If you are not interested in the plugin, would you be fine if I mark it for adoption?
          Hide
          dockerstar Umesh Chhabra added a comment -

          Oleg Nenashev Thank you for looking into this issue.

          For time being, Let's ignore the Harvest Plugin. When I run the following script, I get the separator as '/':

           

          node('windows'){

          echo File.separator if(isUnix()){
          echo 'isUnix()' 
          }else{
          echo 'WINDOWS'
          }}

           

          This is just a plain groovy script I am running through plugin on a windows node. I am getting te result as:

          '/' (without quotes)

          WINDOWS

           

           

          Show
          dockerstar Umesh Chhabra added a comment - Oleg Nenashev Thank you for looking into this issue. For time being, Let's ignore the Harvest Plugin. When I run the following script, I get the separator as '/':   node('windows'){ echo File.separator if(isUnix()){ echo 'isUnix()'  }else{ echo 'WINDOWS' }}   This is just a plain groovy script I am running through plugin on a windows node. I am getting te result as: '/' (without quotes) WINDOWS    
          Hide
          abedwards Adam added a comment -

          hi Oleg Nenashev please put the plugin up for adoption, thanks.

          Show
          abedwards Adam added a comment - hi Oleg Nenashev please put the plugin up for adoption, thanks.
          Hide
          dockerstar Umesh Chhabra added a comment -

          Hi Oleg Nenashev, I now understand the pipeline concept. Thanks for the clarification. 

          Show
          dockerstar Umesh Chhabra added a comment - Hi Oleg Nenashev , I now understand the pipeline concept. Thanks for the clarification. 
          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          Harvest plugin is also marked for adoption. I will unassign this and other issues

          Show
          oleg_nenashev Oleg Nenashev added a comment - Harvest plugin is also marked for adoption. I will unassign this and other issues
          Hide
          limors Limor Segal Shevah added a comment - - edited

          Hi, 

          I wonder if there is any fix for that or workaround? it should be basic requirement 

          Thanks

          Show
          limors Limor Segal Shevah added a comment - - edited Hi,  I wonder if there is any fix for that or workaround? it should be basic requirement  Thanks

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            dockerstar Umesh Chhabra
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated: