github.com/getgauge/gauge@v1.6.9/build/pip/build.py (about)

     1  import sys
     2  import os
     3  import json
     4  import requests
     5  import shutil
     6  from subprocess import call
     7  
     8  
     9  base_url = 'https://api.github.com/repos/getgauge/gauge/releases/latest'
    10  try:
    11      latest_version = json.loads(requests.get(base_url).text)[0]['tag_name'].replace('v', '')
    12  except KeyError as err:
    13      if os.getenv("GAUGE_VERSION") == None:
    14          message = requests.get(base_url).text
    15          raise Exception('Error while fetching the latest gauge version from github: {0}. Configure GAUGE_VERSION'.format(message))
    16  
    17  def create_setup_file():
    18      tmpl = open("setup.tmpl", "r")
    19      setup = open("setup.py", "w+")
    20      version = os.getenv("GAUGE_VERSION") or latest_version
    21      name = os.getenv("GAUGE_PACKAGE_NAME") or "getgauge-cli"
    22      setup.write(tmpl.read().format(version,name))
    23      setup.close()
    24      tmpl.close()
    25  
    26  
    27  def generate_package():
    28      shutil.rmtree('dist', True)
    29      print('Creating getgauge package.')
    30      create_setup_file()
    31      call([sys.executable, 'setup.py', 'sdist'], stdout=sys.stdout, stderr=sys.stderr)
    32  
    33  
    34  def install():
    35      create_setup_file()
    36      call([sys.executable, 'setup.py', 'install'], stdout=sys.stdout, stderr=sys.stderr)
    37  
    38  usage = """
    39  Usage: python build.py --[option]
    40  
    41  Options:
    42      --install :     installs getgauge-cli
    43      --dist    :     create pip package for getgauge-cli
    44  """
    45  
    46  
    47  def main():
    48      if len(sys.argv) < 2:
    49          print(usage)
    50      else:
    51          if sys.argv[1] == '--install':
    52              install()
    53          elif sys.argv[1] == '--dist':
    54              generate_package()
    55          else:
    56              print(usage)
    57  
    58  main()