Skip to content
Snippets Groups Projects
mach.ps1 1.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • $mypath = $MyInvocation.MyCommand.Path
    
    $machpath = $mypath.substring(0, $mypath.length - 4)
    
    
    if (Get-Command py -ErrorAction SilentlyContinue) {
    
      $python_executable = "py"
    } else {
      $python_executable = "python"
    }
    
    
    if (-not (test-path env:MACH_PS1_USE_MOZILLABUILD)) {
    
    if (-not (test-path env:MOZILLABUILD)) {
      echo "No MOZILLABUILD environment variable found, terminating."
      exit 1
    }
    
    
    if ($machpath.contains(' ')) {
      echo @'
    The repository path contains whitespace which currently isn't supported in mach.ps1.
    Please run MozillaBuild manually for now.
    '@
      exit 1
    }
    
    for ($i = 0; $i -lt $args.length; $i++) {
      $arg = $args[$i]
      if ($arg.contains(' ')) {
        echo @'
    The command contains whitespace which currently isn't supported in mach.ps1.
    Please run MozillaBuild manually for now.
    '@
        exit 1
      }
    }
    
    
    $mozillabuild_version = Get-Content "$env:MOZILLABUILD\VERSION"
    # Remove "preX" postfix if the current MozillaBuild is a prerelease.
    $mozillabuild_version = [decimal]($mozillabuild_version -replace "pre.*")
    
    if ($mozillabuild_version -ge 4.0) {
      & "$env:MOZILLABUILD/start-shell.bat" -no-start -defterm -c "$machpath $args"
    } else {
      & "$env:MOZILLABUILD/start-shell.bat" $machpath $args
    }