It'd be nice to expose the xshell plugin functionality through as a workflow step.

      Came from this thread

          [JENKINS-26169] Workflow support for XShell plugin

          Code changed in jenkins
          User: Jesse Glick
          Path:
          COMPATIBILITY.md
          http://jenkins-ci.org/commit/workflow-plugin/70cdf15d8a961fadb4c92c041675c7956a89496f
          Log:
          JENKINS-26169 Fixed formatting in note.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: COMPATIBILITY.md http://jenkins-ci.org/commit/workflow-plugin/70cdf15d8a961fadb4c92c041675c7956a89496f Log: JENKINS-26169 Fixed formatting in note.

          Colin Bennett added a comment -

          This would be great. It regrettable that making portable builds is so difficult. Here is a workaround in the meantime:

          #!groovy
          
          node {
              execute 'cmake -G Ninja ..'
              execute 'cmake --build .'
              // Run a program that is in the current directory.
              executeCwd 'myprogram --test'
          }
          
          /**
           * Execute a program that exists in the current working directory.
           *
           * On Unix, the current working directory is not implicitly in the PATH,
           * so the command must be prefixed with "./".
           *
           * On Windows, the current directory is first in the search path, but
           * it does not like the "./" used for a Unix-style command.
           *
           * Therefore we have to do something special in each case.
           */
          def executeCwd(commandString) {
              if (isUnix()) {
                  execute("./" + commandString)
              } else {
                  execute(".\\" + commandString)
              }
          }
          

          Colin Bennett added a comment - This would be great. It regrettable that making portable builds is so difficult. Here is a workaround in the meantime: #!groovy node { execute 'cmake -G Ninja ..' execute 'cmake --build .' // Run a program that is in the current directory. executeCwd 'myprogram --test' } /** * Execute a program that exists in the current working directory. * * On Unix, the current working directory is not implicitly in the PATH, * so the command must be prefixed with "./" . * * On Windows, the current directory is first in the search path, but * it does not like the "./" used for a Unix-style command. * * Therefore we have to do something special in each case . */ def executeCwd(commandString) { if (isUnix()) { execute( "./" + commandString) } else { execute( ".\\" + commandString) } }

            Unassigned Unassigned
            kohsuke Kohsuke Kawaguchi
            Votes:
            9 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated: