Commit 779fecd0 by Sébastien Eustace Committed by GitHub

Fix custom indices dependency being constantly updated (#1563)

parent 720b2577
......@@ -40,7 +40,10 @@ class PipInstaller(BaseInstaller):
args = ["install", "--no-deps"]
if package.source_type == "legacy" and package.source_url:
if (
package.source_type not in {"git", "directory", "file", "url"}
and package.source_url
):
repository = self._pool.repository(package.source_reference)
parsed = urlparse.urlparse(package.source_url)
if parsed.scheme == "http":
......@@ -70,7 +73,7 @@ class PipInstaller(BaseInstaller):
if update:
args.append("-U")
if package.files and not package.source_type:
if package.files and not package.source_url:
# Format as a requirements.txt
# We need to create a requirements.txt file
# for each package in order to check hashes.
......
......@@ -269,7 +269,6 @@ class LegacyRepository(PyPiRepository):
for version in versions:
package = Package(name, version)
package.source_type = "legacy"
package.source_url = self._url
if extras is not None:
......@@ -314,7 +313,6 @@ class LegacyRepository(PyPiRepository):
if release_info["requires_python"]:
package.python_versions = release_info["requires_python"]
package.source_type = "legacy"
package.source_url = self._url
package.source_reference = self.name
......
......@@ -107,7 +107,10 @@ class Exporter(object):
if ";" in requirement:
line += "; {}".format(requirement.split(";")[1].strip())
if package.source_type == "legacy" and package.source_url:
if (
package.source_type not in {"git", "directory", "file", "url"}
and package.source_url
):
indexes.append(package.source_url)
if package.files and with_hashes:
......
......@@ -1686,7 +1686,6 @@ def test_solver_chooses_from_correct_repository_if_forced(
ops, [{"job": "install", "package": get_package("tomlkit", "0.5.2")}]
)
assert "legacy" == ops[0].package.source_type
assert "http://foo.bar" == ops[0].package.source_url
......@@ -1715,7 +1714,6 @@ def test_solver_chooses_from_correct_repository_if_forced_and_transitive_depende
],
)
assert "legacy" == ops[0].package.source_type
assert "http://foo.bar" == ops[0].package.source_url
assert "" == ops[1].package.source_type
......@@ -1745,11 +1743,9 @@ def test_solver_does_not_choose_from_secondary_repository_by_default(
],
)
assert "legacy" == ops[0].package.source_type
assert "http://foo.bar" == ops[0].package.source_url
assert "" == ops[1].package.source_type
assert "" == ops[1].package.source_url
assert "legacy" == ops[2].package.source_type
assert "http://foo.bar" == ops[2].package.source_url
......@@ -1774,7 +1770,6 @@ def test_solver_chooses_from_secondary_if_explicit(package, installed, locked, i
],
)
assert "legacy" == ops[0].package.source_type
assert "http://foo.bar" == ops[0].package.source_url
assert "" == ops[1].package.source_type
assert "" == ops[1].package.source_url
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment