Source code for cloudmesh_client.setup

from __future__ import print_function

import os
import sys

# import pip
import yaml
from setuptools.command.install import install

from cloudmesh_client.common.Shell import Shell
from cloudmesh_client.common.util import banner

make = """
    test:
    - echo "hallo world"
    github:
    - git commit -a
    - git push
    clean:
    - rm -rf *.egg-info *.eggs
    - rm -rf docs/build
    - rm -rf build
    - rm -rf dist
    doc:
    - sphinx-apidoc -o docs/source cloudmesh_client
    - cd docs; make -f Makefile html
    view:
    - open docs/build/html/index.html
    pypi:
    - python setup.py install
    - python setup.py sdist bdist_wheel
    - python setup.py bdist_wheel upload -r {repo}
    - python setup.py sdist upload -r {repo}
    register:
    - python setup.py register -r {repo}
    tag:
    - bin/new_version.sh
    rmtag:
    - git tag
    - echo "rm Tag?"; read TAG; git tag -d $$TAG; git push origin :refs/tags/$$TAG
    install:
    - python setup.py install
"""

clean_python = '''
    find . -name "*~" -exec rm \{\} \;
    find . -name "*.pyc" -exec rm \{\} \;
'''


[docs]def parse_requirements(filename): """ load the requirement form the specified file :param filename: the filename :return: """ lineiter = (line.strip() for line in open(filename)) return [line for line in lineiter if line and not line.startswith("#")]
[docs]def os_execute(commands): for command in commands.split("\n"): command = command.strip() print(command) os.system(command)
[docs]def get_version_from_git(): r = Shell.git('tag').split("\n")[-1] return r
[docs]def check_pip(): ''' major = int(pip.__version__.split(".")[0]) if major < 7: print("") print(" ERROR: Pip version", pip.__version__, "is to old.") print(" Tip: Please update pip with ") print("") print(" pip install pip -U") print("") sys.exit() ''' pass
[docs]def makefile(tag, **kwargs): script = "\n".join(yaml.load(make)[tag]) commands = "\n".join(yaml.load(make)[tag]).format(**kwargs) banner("RUNNING") os_execute(commands)
[docs]def Make(action, **kwargs): class InstallAction(install): def run(self): makefile(action, **kwargs) if action == "clean": os.system(clean_python) return InstallAction