
import os
import subprocess
import sys
import shutil
import tempfile

PUBSPEC = """name: pub_integration_test
dependencies:
  shelf:
  test:
"""

def Main():
  out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
  pub = os.path.abspath('%s/ReleaseX64/dart-sdk/bin/pub' % out_dir)

  working_dir = tempfile.mkdtemp()
  try:
    pub_cache_dir = working_dir + '/pub_cache'
    env = { 'PUB_CACHE': pub_cache_dir }

    with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
      pubspec_yaml.write(PUBSPEC)

    exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code

    exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code
  finally:
    shutil.rmtree(working_dir);

if __name__ == '__main__':
  sys.exit(Main())


import os
import subprocess
import sys
import shutil
import tempfile

PUBSPEC = """name: pub_integration_test
dependencies:
  shelf:
  test:
"""

def Main():
  out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
  extension = '' if not sys.platform == 'win32' else '.bat'
  pub = os.path.abspath(
    '%s/ReleaseX64/dart-sdk/bin/pub%s' % (out_dir, extension))

  working_dir = tempfile.mkdtemp()
  try:
    pub_cache_dir = working_dir + '/pub_cache'
    env = os.environ.copy()
    env['PUB_CACHE'] = pub_cache_dir

    with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
      pubspec_yaml.write(PUBSPEC)

    exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code

    exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code
  finally:
    shutil.rmtree(working_dir);

if __name__ == '__main__':
  sys.exit(Main())

Add .bat to pub command on Windows
[infra] Add .bat to pub command on Windows

#32656

Change-Id: I3a34bf2c81676eea0ab112a8aad701962590a6c3
Reviewed-on: https://dart-review.googlesource.com/55165
Commit-Queue: Alexander Thomas <29642742b6693024c89de8232f2e2542cf7eedf7@google.com>
Reviewed-by: William Hesse <a821cddceae7dc400f272e3cb1a72f400f9fed6d@google.com>

  
  import os
  import subprocess
  import sys
  import shutil
  import tempfile
  
  PUBSPEC = """name: pub_integration_test
  dependencies:
    shelf:
    test:
  """
  
  def Main():
    out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
-   pub = os.path.abspath('%s/ReleaseX64/dart-sdk/bin/pub' % out_dir)
+   extension = '' if not sys.platform == 'win32' else '.bat'
+   pub = os.path.abspath(
+     '%s/ReleaseX64/dart-sdk/bin/pub%s' % (out_dir, extension))
  
    working_dir = tempfile.mkdtemp()
    try:
      pub_cache_dir = working_dir + '/pub_cache'
+     env = os.environ.copy()
-     env = { 'PUB_CACHE': pub_cache_dir }
+     env['PUB_CACHE'] = pub_cache_dir
  
      with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
        pubspec_yaml.write(PUBSPEC)
  
      exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
      if exit_code is not 0:
        return exit_code
  
      exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
      if exit_code is not 0:
        return exit_code
    finally:
      shutil.rmtree(working_dir);
  
  if __name__ == '__main__':
    sys.exit(Main())
  
Add .bat to pub command on Windows
## Code Before:

import os
import subprocess
import sys
import shutil
import tempfile

PUBSPEC = """name: pub_integration_test
dependencies:
  shelf:
  test:
"""

def Main():
  out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
  pub = os.path.abspath('%s/ReleaseX64/dart-sdk/bin/pub' % out_dir)

  working_dir = tempfile.mkdtemp()
  try:
    pub_cache_dir = working_dir + '/pub_cache'
    env = { 'PUB_CACHE': pub_cache_dir }

    with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
      pubspec_yaml.write(PUBSPEC)

    exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code

    exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code
  finally:
    shutil.rmtree(working_dir);

if __name__ == '__main__':
  sys.exit(Main())

## Instruction:
Add .bat to pub command on Windows
## Code After:

import os
import subprocess
import sys
import shutil
import tempfile

PUBSPEC = """name: pub_integration_test
dependencies:
  shelf:
  test:
"""

def Main():
  out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
  extension = '' if not sys.platform == 'win32' else '.bat'
  pub = os.path.abspath(
    '%s/ReleaseX64/dart-sdk/bin/pub%s' % (out_dir, extension))

  working_dir = tempfile.mkdtemp()
  try:
    pub_cache_dir = working_dir + '/pub_cache'
    env = os.environ.copy()
    env['PUB_CACHE'] = pub_cache_dir

    with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
      pubspec_yaml.write(PUBSPEC)

    exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code

    exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
    if exit_code is not 0:
      return exit_code
  finally:
    shutil.rmtree(working_dir);

if __name__ == '__main__':
  sys.exit(Main())
