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()