8000 Accept custom pip command by uilianries · Pull Request #347 · conan-io/conan-package-tools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Accept custom pip command #347

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Mar 19, 2019
Merged

Conversation

uilianries
Copy link
Member
@uilianries uilianries commented Mar 14, 2019

Hi!

Add the env var CONAN_PIP_COMMAND to customize which command will be executed when running pip install.

  • The command must contain pip in the name;
  • The command can be an absolute file path e.g. /usr/bin/pip3
  • The command must be valid in the PATH.

Changelog: Feature: Customize pip command name (#147)

fixes #147
/cc @koliyo

- Add env var CONAN_PIP_COMMAND which allows to run a specific
  pip version, or even a pip binary path.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
- To avoid command injection, the custom pip command will be checked

Signed-off-by: Uilian Ries <uilianries@gmail.com>
- Check for current pip version before to customize CONAN_PIP_COMMAND

Signed-off-by: Uilian Ries <uilianries@gmail.com>
@SSE4
Copy link
SSE4 commented Mar 14, 2019

appveyor is unhappy :(

======================================================================
ERROR: CPT should run custom `pip` path when CONAN_PIP_COMMAND is declared.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\projects\conan-package-tools\cpt\test\unit\packager_test.py", line 859, in test_custom_pip_command
    self.packager.run()
  File "C:\projects\conan-package-tools\cpt\packager.py", line 454, in run
    self.run_builds(base_profile_name=base_profile_name)
  File "C:\projects\conan-package-tools\cpt\packager.py", line 534, in run_builds
    r.run()
  File "C:\projects\conan-package-tools\cpt\runner.py", line 61, in run
    with context:
  File "c:\python27\lib\contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "c:\python27\lib\site-packages\conans\tools.py", line 192, in vcvars
    with tools_win.vcvars(output=_global_output, *args, **kwargs):
  File "c:\python27\lib\contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "c:\python27\lib\site-packages\conans\client\tools\win.py", line 504, in vcvars
    new_env = vcvars_dict(*args, **kwargs)
  File "c:\python27\lib\site-packages\conans\client\tools\win.py", line 448, in vcvars_dict
    vcvars_ver=vcvars_ver, winsdk_version=winsdk_version, output=output)
  File "c:\python27\lib\site-packages\conans\client\tools\win.py", line 413, in vcvars_command
    % str(compiler_version))
ConanException: VS non-existing installation: Visual Studio 14
======================================================================
ERROR: CPT Should call `pip` when CONAN_PIP_PACKAGE or CONAN_PIP_INSTALL are declared.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\projects\conan-package-tools\cpt\test\unit\packager_test.py", line 837, in test_regular_pip_command
    self.packager.run()
  File "C:\projects\conan-package-tools\cpt\packager.py", line 454, in run
    self.run_builds(base_profile_name=base_profile_name)
  File "C:\projects\conan-package-tools\cpt\packager.py", line 534, in run_builds
    r.run()
  File "C:\projects\conan-package-tools\cpt\runner.py", line 61, in run
    with context:
  File "c:\python27\lib\contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "c:\python27\lib\site-packages\conans\tools.py", line 192, in vcvars
    with tools_win.vcvars(output=_
8000
global_output, *args, **kwargs):
  File "c:\python27\lib\contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "c:\python27\lib\site-packages\conans\client\tools\win.py", line 504, in vcvars
    new_env = vcvars_dict(*args, **kwargs)
  File "c:\python27\lib\site-packages\conans\client\tools\win.py", line 448, in vcvars_dict
    vcvars_ver=vcvars_ver, winsdk_version=winsdk_version, output=output)
  File "c:\python27\lib\site-packages\conans\client\tools\win.py", line 413, in vcvars_command
    % str(compiler_version))
ConanException: VS non-existing installation: Visual Studio 14
----------------------------------------------------------------------
Ran 87 tests in 64.563s
FAILED (SKIP=2, errors=2)
Command exited with code 1

@uilianries
Copy link
Member Author

Seems like tools.which("pip") doesn't work on Windows 😞

I'll remove this check on Windows. Thanks for pointing the error.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
@uilianries
Copy link
Member Author

New changes from conan-io/conan#4713 have affected CPT tests.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
@lasote lasote added this to the 0.25.0 milestone Mar 15, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
@lasote lasote merged commit 13349fc into conan-io:develop Mar 19, 2019
lasote added a commit that referenced this pull request Mar 29, 2019
* allow passing user-specified Docker args during create step

* rename parameter

* mention CONAN_DOCKER_RUN_OPTIONS envvar in readme

* add tests

* #343 Improve docker integration test

- Fix conan_pip_package. It should be a str by default
- Pass original printer to be re-used by Docker runner
- Add integration test to validate docker run options

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #343 Fix skip test when running docker

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Add GitHub settings (#345) (#349)

* Add GitHub settings

- Use standard Conan tags for issues
- Add stale config for timeout bot
- Add issue template

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Use Github settings from conanio/docs

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #345 Add PR template

- Add PR template to generate the changelog
- Add the contributing guide

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Trigger Github Settings (#352)

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #336 Forward login method (#344)

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Upload package dependencies (#334)

* #237 Update README

- Add description about the new feature

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload all dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Unit test to upload all deps

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix env var name

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix upload dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload only built packages

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Only upload when package is available

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Accept custom pip command (#347)

* #147 Support custom PIP command

- Add env var CONAN_PIP_COMMAND which allows to run a specific
  pip version, or even a pip binary path.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Check pip command before to run

- To avoid command injection, the custom pip command will be checked

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Test dynamic pip version

- Check for current pip version before to customize CONAN_PIP_COMMAND

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Ignore which pip on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 pip install quiet mode

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Try to fix Windows tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #277 Accept Docker arguments as list

- both string and list are accepted as docker arguments
- Update docker test to use list

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #277 Fix options when downloading docker image

- Docker is executed in two cases. The first one is when
  we need to download the docker image and patch with the
  newest Conan version. The options were skipped there

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Add CONAN_CONANFILE option (#357)

* #354 Add CONAN_CONANFILE option

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Add option description on README

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Support CONAN_CONANFILE option

- Add full support for custom conanfile name
- Add tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Fix boolean option

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #355 Skip check credentials is boolean (#356)

- Parse the env var CONAN_SKIP_CHECK_CREDENTIALS as boolean

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* fix azure pipelines branch detection (#346)

use variable BUILD_SOURCEBRANCH
BUILD_SOURCEBRANCHNAME only has the part after last /

* Feature/upload only recipe (#348)

* #153 Upload only the recipe

- Add CONAN_UPLOAD_ONLY_RECIPE env var, which set to skip
  all binary packages upload.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Test upload only the recipe

- get boolean value from environment variable is non-case sensitive now

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Fix upload recipe argument

@madebr found a bug where the argument is wrong.

Co-Authored-By: uilianries <uilianries@gmail.com>

* #153 Fix unit test for upload recipe

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Add test to check parameters

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Fix conflict in README file

* Update Docker run example

- Use custom Docker network instead of using custom cache.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Prepared for 1.15

* 0.25.0

* 1.15.0

* Fix Tox version (#364)

- Tox 3.8.1 is totally broken

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #361 Upload package with revisions (#363)

* #361 Upload package with revisions

- Package reference passed to be created is not the same
  retrieved from package id when the package is built.
  "foo/0.1@bar/testing" != "foo/0.1@bar/testing#<hash>"

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #361 Parse revision

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Fix broken tests for release 0.25.0 (#365)

* Fix broken tests for release 0.25.0

- Release branch is fragile, only specific tests are able to run,
  or even CPT behavior could change during the tests.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Run Docker test as regular test

- Do not require Bintray account to run docker tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Clean some stuff and improve test running in local
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pip using python2 even if running build script with python3
3 participants
0