diff --git a/lambdipy/__init__.py b/lambdipy/__init__.py index aa4e5a0..cc4b294 100644 --- a/lambdipy/__init__.py +++ b/lambdipy/__init__.py @@ -1 +1 @@ -__version__ = 'v0.1.1' +__version__ = 'v0.1.2' diff --git a/lambdipy/cli.py b/lambdipy/cli.py index bfcd109..2b30b42 100644 --- a/lambdipy/cli.py +++ b/lambdipy/cli.py @@ -41,13 +41,15 @@ def version(): @cli.command() @click.option('--from-pipenv', '-p', is_flag=True, help='Build dependencies from Pipfile.lock') +@click.option('--dev', '-d', is_flag=True, help='If dependencies are built from Pipfile.lock, include development ' + 'dependencies as well.') @click.option('--include', '-i', multiple=True, help='Include these paths in the final build') @click.option('--keep-tests', '-t', multiple=True, help='Exclude deletions of tests for these packages') @click.option('--no-docker', '-x', is_flag=True, help='Do not use Docker for package build (lambdipy itself runs in ' 'lambci/lambda:build-python{PYTHON_VERSION} container)') -def build(from_pipenv, include, keep_tests, no_docker): +def build(from_pipenv, dev, include, keep_tests, no_docker): if from_pipenv: - requirements = parse_requirements(get_requirements_from_pipenv()) + requirements = parse_requirements(get_requirements_from_pipenv(dev)) else: requirements = parse_requirements(open('requirements.txt').read()) diff --git a/lambdipy/project_build.py b/lambdipy/project_build.py index 82f8a78..6d1e83e 100644 --- a/lambdipy/project_build.py +++ b/lambdipy/project_build.py @@ -33,8 +33,12 @@ def __init__(self, requirement, potential_candidates): self.potential_candidates = potential_candidates -def get_requirements_from_pipenv(): - with os.popen("pipenv lock -r") as pipenv_subprocess: +def get_requirements_from_pipenv(dev): + if dev: + command = "{ pipenv lock --dev -r & pipenv lock -r; }" + else: + command = "pipenv lock -r" + with os.popen(command) as pipenv_subprocess: return pipenv_subprocess.read()