-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* export: fix exporting extras sub-dependencies (#1294) * Support POETRY_HOME for install (#794) Allow the `POETRY_HOME` environment variable to be passed during installation to change the default installation directory of `~/.poetry`: ``` POETRY_HOME=/etc/poetry python get-poetry.py ``` * * check if relative filename is in excluded file list (#1459) * * check if relative filename is in excluded file list * removed find_excluded_files() method from wheel.py * added test for excluding files in wheels * creating an own test data folder, for testing excluding files by pyproject.toml * use as_posix() to respect windows file path delimiters * Exclude nested items (#784) (#1464) * This PR impliments the feature request #784. When a folder is explicit defined in `pyproject.toml` as excluded, all nested data, including subfolder, are excluded. It is no longer neccessary to use the glob `folder/**/*` * use `Path` instead of `os.path.join` to create string for globbing * try to fix linting error * create glob pattern string by concatenating and not using Path * using `os.path.isdir()`` for checking of explicit excluded name is a folder, because pathlib's `is_dir()` raises in exception under windows of name contains globing characters * Remove nested data when wildcards where used. Steps to do this are: 1. expand any wildcard used 2. if expanded path is a folder append **/* and expand again * fix linting * only glob a second time if path is dir * implement @sdispater 's suggestion for better readability * fix glob for windows? * On Windows, testing if a path with a glob is a directory will raise an OSError * pathlibs glob function doesn't return the correct case (https://bugs.python.org/issue26655). So switching back to glob.glob() * removing obsolete imports * Update dependencies * Deprecate allows-prereleases in favor of allow-prereleases for consistency * Fix tests for Python 2.7 * Fix linting * Fix linting * Fix linting * Fix typing import * Correct a couple typos in get-poetry.py (#573) * Docs: `self:update` changed to `self update` (#1588) * Fix GitHub actions cache issues on develop (#1918) * Fix Github actions cache issues * Fix Github Actions cache issues (#1928) * Add --source option to "poetry add" (#1912) * Add --source option to 'poetry add' * Add tests for 'poetry add --source' * Merge master into develop (#2070) * Fix Github actions cache issues (#1908) * Fix case of `-f` flag * Make it clearer what options to pass to `--format` * fix (masonry.api): `get_requires_for_build_wheel` must return additional list of requirements for building a package, not listed in `pyproject.toml` and not dependencies for the package itself (#1875) fix (tests): adopted tests * Lazy Keyring intialization for PasswordManager (#1892) * Fix Github Actions cache issues (#1928) * Avoid nested quantifiers with overlapping character space on git url parsing (#1902 (#1913) * fix (git): match for `\w` instead of `.` for getting user * change (vcs.git): hold pattern of the regex parts in a dictionary to be consistent over all regexs * new (vcs.git): test for `parse_url` and some fixes for the regex pattern * new (vcs.git): test for `parse_url` with string that should fail * fix (test.vcs.git): make flake8 happy * fix: correct parsing of wheel version with regex. (#1932) The previous regexp was only taking the first integer of the version number, this presented problems when the major version number reached double digits. Poetry would determine that the version of the dependency is '1', rather than, ie: '14'. This caused failures to solve versions. * Fix errors when using the --help option (#1910) * Fix how repository credentials are retrieved from env vars (#1909) # Conflicts: # poetry/utils/password_manager.py * Fix downloading packages from Simplepypi (#1851) * fix downloading packages from simplepypi * unused code removed * remove unused imports * Upgrade dependencies for the 1.0.3 release (#1965) * Bump version to 1.0.3 (#1966) * Fix non-compliant Git URL matching RFC 3986 § 2.3 permits more characters in a URL than were matched. This corrects that, though there may be other deficiencies. This was a regression from v1.0.2, where at least “.” was matched without error. * Update README.md "Updating Poetry" Currently the note in "Updating Poetry" is different from the one below in "Enable tab completion for Bash, Fish, or Zsh". This MR is to make them more consistent. * init: change dev dependency prompt * Fix CI issues (#2069) Co-authored-by: brandonaut <brandon@hubermx.com> Co-authored-by: finswimmer <finswimmer77@gmail.com> Co-authored-by: Yannick PÉROUX <yannick.peroux@gmail.com> Co-authored-by: Edward George <edwardgeorge@gmail.com> Co-authored-by: Jan Škoda <skoda@jskoda.cz> Co-authored-by: Andrew Marshall <andrew@johnandrewmarshall.com> Co-authored-by: Andrew Selzer <andrewfselzer@gmail.com> Co-authored-by: Andrii Maletskyi <andrii.maletskyi@gmail.com> * pre-commit: replace isort mirror with isort upstream (#2118) The isort pre-commit mirror has been deprecated. This change updates configuration to use the upstream package repository instead of the mirror. * Add cache list command (#1187) * Add poetry.locations.REPOSITORY_CACHE_DIR The repository cache directory is used in multiple places in the codebase. This change ensures that the value is reused. * Add cache list command This introduces a new cache sub-command that lists all available caches. Relates-to: #1162 Co-authored-by: Tom Milligan <tommilligan@users.noreply.github.com> Co-authored-by: David Cramer <dcramer@users.noreply.github.com> Co-authored-by: finswimmer <finswimmer77@gmail.com> Co-authored-by: Kyle Altendorf <sda@fstab.net> Co-authored-by: Justin Mayer <entroP@gmail.com> Co-authored-by: Yannick PÉROUX <yannick.peroux@gmail.com> Co-authored-by: brandonaut <brandon@hubermx.com> Co-authored-by: Edward George <edwardgeorge@gmail.com> Co-authored-by: Jan Škoda <skoda@jskoda.cz> Co-authored-by: Andrew Marshall <andrew@johnandrewmarshall.com> Co-authored-by: Andrew Selzer <andrewfselzer@gmail.com> Co-authored-by: Andrii Maletskyi <andrii.maletskyi@gmail.com> Co-authored-by: Arun Babu Neelicattu <arun.neelicattu@gmail.com>
- Loading branch information
1 parent
d27a119
commit bf12e42
Showing
14 changed files
with
197 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import os | ||
|
||
from ..command import Command | ||
|
||
|
||
class CacheListCommand(Command): | ||
|
||
name = "list" | ||
description = "List Poetry's caches." | ||
|
||
def handle(self): | ||
from poetry.locations import REPOSITORY_CACHE_DIR | ||
|
||
if os.path.exists(str(REPOSITORY_CACHE_DIR)): | ||
caches = list(sorted(REPOSITORY_CACHE_DIR.iterdir())) | ||
if caches: | ||
for cache in caches: | ||
self.line("<info>{}</>".format(cache.name)) | ||
return 0 | ||
|
||
self.line("<warning>No caches found</>") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,9 @@ | ||
from .utils._compat import Path | ||
from .utils.appdirs import user_cache_dir | ||
from .utils.appdirs import user_config_dir | ||
|
||
|
||
CACHE_DIR = user_cache_dir("pypoetry") | ||
CONFIG_DIR = user_config_dir("pypoetry") | ||
|
||
REPOSITORY_CACHE_DIR = Path(CACHE_DIR) / "cache" / "repositories" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
import uuid | ||
|
||
import pytest | ||
|
||
from cleo.testers import CommandTester | ||
|
||
|
||
@pytest.fixture | ||
def repository_cache_dir(monkeypatch, tmpdir): | ||
import poetry.locations | ||
from poetry.utils._compat import Path | ||
|
||
path = Path(str(tmpdir)) | ||
monkeypatch.setattr(poetry.locations, "REPOSITORY_CACHE_DIR", path) | ||
return path | ||
|
||
|
||
@pytest.fixture | ||
def repository_one(): | ||
return "01_{}".format(uuid.uuid4()) | ||
|
||
|
||
@pytest.fixture | ||
def repository_two(): | ||
return "02_{}".format(uuid.uuid4()) | ||
|
||
|
||
@pytest.fixture | ||
def mock_caches(repository_cache_dir, repository_one, repository_two): | ||
(repository_cache_dir / repository_one).mkdir() | ||
(repository_cache_dir / repository_two).mkdir() | ||
|
||
|
||
def test_cache_list(app, mock_caches, repository_one, repository_two): | ||
command = app.find("cache list") | ||
tester = CommandTester(command) | ||
|
||
tester.execute() | ||
|
||
expected = """\ | ||
{} | ||
{} | ||
""".format( | ||
repository_one, repository_two | ||
) | ||
|
||
assert expected == tester.io.fetch_output() | ||
|
||
|
||
def test_cache_list_empty(app, repository_cache_dir): | ||
command = app.find("cache list") | ||
tester = CommandTester(command) | ||
|
||
tester.execute() | ||
|
||
expected = """\ | ||
No caches found | ||
""" | ||
|
||
assert expected == tester.io.fetch_output() |