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): ...@@ -40,7 +40,10 @@ class PipInstaller(BaseInstaller):
args = ["install", "--no-deps"] 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) repository = self._pool.repository(package.source_reference)
parsed = urlparse.urlparse(package.source_url) parsed = urlparse.urlparse(package.source_url)
if parsed.scheme == "http": if parsed.scheme == "http":
...@@ -70,7 +73,7 @@ class PipInstaller(BaseInstaller): ...@@ -70,7 +73,7 @@ class PipInstaller(BaseInstaller):
if update: if update:
args.append("-U") args.append("-U")
if package.files and not package.source_type: if package.files and not package.source_url:
# Format as a requirements.txt # Format as a requirements.txt
# We need to create a requirements.txt file # We need to create a requirements.txt file
# for each package in order to check hashes. # for each package in order to check hashes.
......
...@@ -269,7 +269,6 @@ class LegacyRepository(PyPiRepository): ...@@ -269,7 +269,6 @@ class LegacyRepository(PyPiRepository):
for version in versions: for version in versions:
package = Package(name, version) package = Package(name, version)
package.source_type = "legacy"
package.source_url = self._url package.source_url = self._url
if extras is not None: if extras is not None:
...@@ -314,7 +313,6 @@ class LegacyRepository(PyPiRepository): ...@@ -314,7 +313,6 @@ class LegacyRepository(PyPiRepository):
if release_info["requires_python"]: if release_info["requires_python"]:
package.python_versions = release_info["requires_python"] package.python_versions = release_info["requires_python"]
package.source_type = "legacy"
package.source_url = self._url package.source_url = self._url
package.source_reference = self.name package.source_reference = self.name
......
...@@ -107,7 +107,10 @@ class Exporter(object): ...@@ -107,7 +107,10 @@ class Exporter(object):
if ";" in requirement: if ";" in requirement:
line += "; {}".format(requirement.split(";")[1].strip()) 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) indexes.append(package.source_url)
if package.files and with_hashes: if package.files and with_hashes:
......
...@@ -1686,7 +1686,6 @@ def test_solver_chooses_from_correct_repository_if_forced( ...@@ -1686,7 +1686,6 @@ def test_solver_chooses_from_correct_repository_if_forced(
ops, [{"job": "install", "package": get_package("tomlkit", "0.5.2")}] 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 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 ...@@ -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 "http://foo.bar" == ops[0].package.source_url
assert "" == ops[1].package.source_type assert "" == ops[1].package.source_type
...@@ -1745,11 +1743,9 @@ def test_solver_does_not_choose_from_secondary_repository_by_default( ...@@ -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 "http://foo.bar" == ops[0].package.source_url
assert "" == ops[1].package.source_type assert "" == ops[1].package.source_type
assert "" == ops[1].package.source_url assert "" == ops[1].package.source_url
assert "legacy" == ops[2].package.source_type
assert "http://foo.bar" == ops[2].package.source_url 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 ...@@ -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 "http://foo.bar" == ops[0].package.source_url
assert "" == ops[1].package.source_type assert "" == ops[1].package.source_type
assert "" == ops[1].package.source_url 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