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

Wrong EOL (UNIX type: LF) in Windows batch files executed for build steps of type "Execute Windows batch command"

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: core
    • Labels:
    • Environment:
      Windows 2008 Server R2, Enterprise Edition, x64
    • Similar Issues:

      Description

      For a build step of type "Execute Windows batch command" Hudson generates and then executes a .bat file using the content provided by the user in the configuration textbox of the step.

      The problem is that the generated .bat file has UNIX style EOL (lines ending with LF) and the Windows Command Interpreter (CMD.EXE) requires Windows style EOLs (lines ending with CR LF) in batches, in order to interpret them correctly.

      The consequences of having UNIX style EOL in Windows batches is undetermined. Very simple batches work while more complex ones will behave erratically because CMD.EXE will consume multiple lines in one command and it will fail to find some labels.

        Attachments

          Issue Links

            Activity

            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: David Ruhmann
            Path:
            core/src/main/java/hudson/tasks/BatchFile.java
            core/src/main/java/hudson/tasks/Shell.java
            core/src/main/java/hudson/tools/AbstractCommandInstaller.java
            core/src/main/java/hudson/tools/BatchCommandInstaller.java
            core/src/main/java/hudson/tools/CommandInstaller.java
            core/src/main/java/hudson/util/LineEndingConversion.java
            test/src/test/java/hudson/tasks/BatchFileTest.java
            test/src/test/java/hudson/tasks/ShellTest.java
            test/src/test/java/hudson/tools/BatchCommandInstallerTest.java
            test/src/test/java/hudson/tools/CommandInstallerTest.java
            test/src/test/java/hudson/util/LineEndingConversionTest.java
            http://jenkins-ci.org/commit/jenkins/67ac47af0709dde6297dffeb210b03d8b65f6033
            Log:
            [FIXED JENKINS-7478]

            Create Line Ending Conversion utility to convert scripts to proper OS
            line ending type. Tests included.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: David Ruhmann Path: core/src/main/java/hudson/tasks/BatchFile.java core/src/main/java/hudson/tasks/Shell.java core/src/main/java/hudson/tools/AbstractCommandInstaller.java core/src/main/java/hudson/tools/BatchCommandInstaller.java core/src/main/java/hudson/tools/CommandInstaller.java core/src/main/java/hudson/util/LineEndingConversion.java test/src/test/java/hudson/tasks/BatchFileTest.java test/src/test/java/hudson/tasks/ShellTest.java test/src/test/java/hudson/tools/BatchCommandInstallerTest.java test/src/test/java/hudson/tools/CommandInstallerTest.java test/src/test/java/hudson/util/LineEndingConversionTest.java http://jenkins-ci.org/commit/jenkins/67ac47af0709dde6297dffeb210b03d8b65f6033 Log: [FIXED JENKINS-7478] Create Line Ending Conversion utility to convert scripts to proper OS line ending type. Tests included.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Daniel Beck
            Path:
            core/src/main/java/hudson/tasks/BatchFile.java
            core/src/main/java/hudson/tasks/Shell.java
            core/src/main/java/hudson/tools/AbstractCommandInstaller.java
            core/src/main/java/hudson/tools/BatchCommandInstaller.java
            core/src/main/java/hudson/tools/CommandInstaller.java
            core/src/main/java/hudson/util/LineEndingConversion.java
            test/src/test/java/hudson/tasks/BatchFileTest.java
            test/src/test/java/hudson/tasks/ShellTest.java
            test/src/test/java/hudson/tools/BatchCommandInstallerTest.java
            test/src/test/java/hudson/tools/CommandInstallerTest.java
            test/src/test/java/hudson/util/LineEndingConversionTest.java
            http://jenkins-ci.org/commit/jenkins/3d25f57aa1352359331675c05cd387e6bc536a3a
            Log:
            Merge pull request #1370 from DavidRuhmann/JENKINS-7478

            [FIXED JENKINS-7478] Correct Line Endings for Batch Files

            Compare: https://github.com/jenkinsci/jenkins/compare/8bb88be27ec4...3d25f57aa135

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Beck Path: core/src/main/java/hudson/tasks/BatchFile.java core/src/main/java/hudson/tasks/Shell.java core/src/main/java/hudson/tools/AbstractCommandInstaller.java core/src/main/java/hudson/tools/BatchCommandInstaller.java core/src/main/java/hudson/tools/CommandInstaller.java core/src/main/java/hudson/util/LineEndingConversion.java test/src/test/java/hudson/tasks/BatchFileTest.java test/src/test/java/hudson/tasks/ShellTest.java test/src/test/java/hudson/tools/BatchCommandInstallerTest.java test/src/test/java/hudson/tools/CommandInstallerTest.java test/src/test/java/hudson/util/LineEndingConversionTest.java http://jenkins-ci.org/commit/jenkins/3d25f57aa1352359331675c05cd387e6bc536a3a Log: Merge pull request #1370 from DavidRuhmann/ JENKINS-7478 [FIXED JENKINS-7478] Correct Line Endings for Batch Files Compare: https://github.com/jenkinsci/jenkins/compare/8bb88be27ec4...3d25f57aa135
            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #3687
            [FIXED JENKINS-7478] (Revision 67ac47af0709dde6297dffeb210b03d8b65f6033)

            Result = SUCCESS
            david.ruhmann : 67ac47af0709dde6297dffeb210b03d8b65f6033
            Files :

            • test/src/test/java/hudson/util/LineEndingConversionTest.java
            • test/src/test/java/hudson/tools/BatchCommandInstallerTest.java
            • core/src/main/java/hudson/tools/BatchCommandInstaller.java
            • test/src/test/java/hudson/tools/CommandInstallerTest.java
            • core/src/main/java/hudson/tasks/Shell.java
            • test/src/test/java/hudson/tasks/ShellTest.java
            • core/src/main/java/hudson/util/LineEndingConversion.java
            • core/src/main/java/hudson/tasks/BatchFile.java
            • core/src/main/java/hudson/tools/CommandInstaller.java
            • core/src/main/java/hudson/tools/AbstractCommandInstaller.java
            • test/src/test/java/hudson/tasks/BatchFileTest.java
            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #3687 [FIXED JENKINS-7478] (Revision 67ac47af0709dde6297dffeb210b03d8b65f6033) Result = SUCCESS david.ruhmann : 67ac47af0709dde6297dffeb210b03d8b65f6033 Files : test/src/test/java/hudson/util/LineEndingConversionTest.java test/src/test/java/hudson/tools/BatchCommandInstallerTest.java core/src/main/java/hudson/tools/BatchCommandInstaller.java test/src/test/java/hudson/tools/CommandInstallerTest.java core/src/main/java/hudson/tasks/Shell.java test/src/test/java/hudson/tasks/ShellTest.java core/src/main/java/hudson/util/LineEndingConversion.java core/src/main/java/hudson/tasks/BatchFile.java core/src/main/java/hudson/tools/CommandInstaller.java core/src/main/java/hudson/tools/AbstractCommandInstaller.java test/src/test/java/hudson/tasks/BatchFileTest.java
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: David Ruhmann
            Path:
            core/src/main/java/hudson/tasks/BatchFile.java
            core/src/main/java/hudson/tasks/Shell.java
            core/src/main/java/hudson/tools/AbstractCommandInstaller.java
            core/src/main/java/hudson/tools/BatchCommandInstaller.java
            core/src/main/java/hudson/tools/CommandInstaller.java
            core/src/main/java/hudson/util/LineEndingConversion.java
            test/src/test/java/hudson/tasks/BatchFileTest.java
            test/src/test/java/hudson/tasks/ShellTest.java
            test/src/test/java/hudson/tools/BatchCommandInstallerTest.java
            test/src/test/java/hudson/tools/CommandInstallerTest.java
            test/src/test/java/hudson/util/LineEndingConversionTest.java
            http://jenkins-ci.org/commit/jenkins/efae48a451b1dbb15a13abff26b0bec269a63909
            Log:
            [FIXED JENKINS-7478]

            Create Line Ending Conversion utility to convert scripts to proper OS
            line ending type. Tests included.

            (cherry picked from commit 67ac47af0709dde6297dffeb210b03d8b65f6033)

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: David Ruhmann Path: core/src/main/java/hudson/tasks/BatchFile.java core/src/main/java/hudson/tasks/Shell.java core/src/main/java/hudson/tools/AbstractCommandInstaller.java core/src/main/java/hudson/tools/BatchCommandInstaller.java core/src/main/java/hudson/tools/CommandInstaller.java core/src/main/java/hudson/util/LineEndingConversion.java test/src/test/java/hudson/tasks/BatchFileTest.java test/src/test/java/hudson/tasks/ShellTest.java test/src/test/java/hudson/tools/BatchCommandInstallerTest.java test/src/test/java/hudson/tools/CommandInstallerTest.java test/src/test/java/hudson/util/LineEndingConversionTest.java http://jenkins-ci.org/commit/jenkins/efae48a451b1dbb15a13abff26b0bec269a63909 Log: [FIXED JENKINS-7478] Create Line Ending Conversion utility to convert scripts to proper OS line ending type. Tests included. (cherry picked from commit 67ac47af0709dde6297dffeb210b03d8b65f6033)
            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #4292
            [FIXED JENKINS-7478] (Revision efae48a451b1dbb15a13abff26b0bec269a63909)

            Result = UNSTABLE
            ogondza : efae48a451b1dbb15a13abff26b0bec269a63909
            Files :

            • test/src/test/java/hudson/tools/CommandInstallerTest.java
            • core/src/main/java/hudson/tasks/BatchFile.java
            • core/src/main/java/hudson/tasks/Shell.java
            • test/src/test/java/hudson/tasks/BatchFileTest.java
            • core/src/main/java/hudson/tools/CommandInstaller.java
            • test/src/test/java/hudson/tools/BatchCommandInstallerTest.java
            • core/src/main/java/hudson/tools/BatchCommandInstaller.java
            • test/src/test/java/hudson/util/LineEndingConversionTest.java
            • test/src/test/java/hudson/tasks/ShellTest.java
            • core/src/main/java/hudson/util/LineEndingConversion.java
            • core/src/main/java/hudson/tools/AbstractCommandInstaller.java
            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #4292 [FIXED JENKINS-7478] (Revision efae48a451b1dbb15a13abff26b0bec269a63909) Result = UNSTABLE ogondza : efae48a451b1dbb15a13abff26b0bec269a63909 Files : test/src/test/java/hudson/tools/CommandInstallerTest.java core/src/main/java/hudson/tasks/BatchFile.java core/src/main/java/hudson/tasks/Shell.java test/src/test/java/hudson/tasks/BatchFileTest.java core/src/main/java/hudson/tools/CommandInstaller.java test/src/test/java/hudson/tools/BatchCommandInstallerTest.java core/src/main/java/hudson/tools/BatchCommandInstaller.java test/src/test/java/hudson/util/LineEndingConversionTest.java test/src/test/java/hudson/tasks/ShellTest.java core/src/main/java/hudson/util/LineEndingConversion.java core/src/main/java/hudson/tools/AbstractCommandInstaller.java

              People

              • Assignee:
                davidruhmann David Ruhmann
                Reporter:
                bogdaniosif bogdaniosif
              • Votes:
                6 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: