Signed-off-by: Dan Ryan <dan@danryan.co>
Fix variable references
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix variable references
Signed-off-by: Dan Ryan <dan@danryan.co>
Switch to powershell for windows virtualenv creation
Signed-off-by: Dan Ryan <dan@danryan.co>
use python version as path
Signed-off-by: Dan Ryan <dan@danryan.co>
use python version as path
Signed-off-by: Dan Ryan <dan@danryan.co>
swap variable name for python exe
Signed-off-by: Dan Ryan <dan@danryan.co>
add fallback for python exe
Signed-off-by: Dan Ryan <dan@danryan.co>
fix python variable setting
Signed-off-by: Dan Ryan <dan@danryan.co>
fix python variable setting
Signed-off-by: Dan Ryan <dan@danryan.co>
Use variable susbstitution for python executable location
Signed-off-by: Dan Ryan <dan@danryan.co>
Use activate script properly
Signed-off-by: Dan Ryan <dan@danryan.co>
Fix floating quote in python version
Signed-off-by: Dan Ryan <dan@danryan.co>
Don't block on safety call in python 2 as it overwrites output for some reason
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
Don't block on pipenv graph either
Signed-off-by: Dan Ryan <dan@danryan.co>
Check command return code instead of calling `block`
Signed-off-by: Dan Ryan <dan@danryan.co>
Don't load json after its already loaded
Signed-off-by: Dan Ryan <dan@danryan.co>
Wait on return code before checking contents
Signed-off-by: Dan Ryan <dan@danryan.co>
- Begin a refactor of `delegator.run` invocation to ensure we capture
and handle failures with our own exception wrappers
- Additoinally capture output and error logging and command information
when running in verbose mode (should avoid significant repitition in
the codebase)
- Refactor `which` and `system_which` to fallback to pythonfinder's
implementation
- Abstract `is_python_command` to identify whether we are looking for
python, this enables us to rely on `pythonfinder.Finder.find_all_python_versions()`
to ensure we aren't skipping python versions
- Fixes#2783
Signed-off-by: Dan Ryan <dan@danryan.co>
- Exclude python when searching virtualenvs created using nested
virtualenv interpreters (via `lib-dynload` library directory)
Signed-off-by: Dan Ryan <dan@danryan.co>
- Use `project.parsed_pipfile` to get all packages instead of a filtered
subset
- Determine index names via a new `refresh=True` argument to
`project.get_source()` which clears the current pipfile cache
- Fix parsing of requirement lines from direct URLs which were
previously excluding the `name@` portion and therefore generating
invalid links
Signed-off-by: Dan Ryan <dan@danryan.co>
- Resolve all VCS and non-piptools-resolveable deps in venv
- Implement pep517 for resolution of non-setuptools builds
- Add full support for the new dependency link format
- Fix breakages from pip 19* rollout and subsequent setuptools breakage
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
- Clean up test config and environment variable handling
- Unset env var changes performend by `pipenv run`
- Make `environments.is_in_virtualenv()` more dynamic -- read
environment on the fly
- Split up tests on `pipenv run` to reduce complexity -- one test for
global run (no virtualenv creation), one test for virtualenv creation
- Add `warn_in_virtualenv` call to `run` command, why doesn't click
invoke this automatically?
Signed-off-by: Dan Ryan <dan@danryan.co>
Carets introduce a difficult situation since they are essentially
"lossy" when parses. Consider this in cmd.exe:
> echo "foo^bar"
"foo^bar"
> echo foo^^bar
foo^bar
The two commands produce different results, but are both parsed by the
shell as `foo^bar`, and there's essentially no sensible way to tell what
was actually passed in. This implementation assumes the quoted variation
(the first) since it is easier to implement, and arguably the more common
case.
- Stop preferring resolution of VCS dependencies in all cases
- Resolve vcs dependencies together with non-vcs dependencies
- Clarify blocking and no-deps logic
- Add artifacts and tests
- Add vendoring task for artifacts
- Clean up release tasks
- Fixes#3296
Signed-off-by: Dan Ryan <dan@danryan.co>