Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-6909

shellCmd and shellRunParam in master.cfg use values for master, fails on Windows slaves if OS X master

    XMLWordPrintableJSON

Details

    Description

      shellCmd and shellRunCmd are defined in master.cfg and used for a lot of the build tasks. But the value depends on the OS of the master, so if you have a OS X master and Windows client (or vice versa) a lot of steps will fail.

      shellCmd="/bin/sh"
      shellRunParam="-c"
      if is_Windows :
          shellCmd="cmd"
          shellRunParam="/c"
      

      For some steps, like in wp8 and windows8 sections, we know they'll always run on Windows so we could always use 'cmd'. But in common sections or for a platform like android, it needs to work on both.


      It seems that ShellCommand step already uses command interpreter according to slave platform (see http://docs.buildbot.net/current/manual/cfg-buildsteps.html#step-ShellCommand). So it's safe to remove this and specify commands for ShellCommand steps just with list of strings.

      Another possible issue is different path delimiter on windows and other platforms. But in most cases slash instead of backslash works fine on windows. So it is possible to replace '
      ' to '/' in windows build steps.

      Attachments

        Activity

          People

            max.woghiren Max Woghiren
            vladimir.kotikov Vladimir Kotikov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: