Skip to content
Snippets Groups Projects
Verified Commit f4556e01 authored by Antoine R. Dumont's avatar Antoine R. Dumont
Browse files

opam: Initialize opam root directory outside the constructor

If it's required at all, this will use the network to fetch and install it.
This should be done outside the constructor.

Related to T3590
parent fabd950d
No related branches found
Tags v0.23.5
1 merge request!414opam: Initialize opam root directory outside the constructor
......@@ -84,8 +84,13 @@ class OpamLoader(PackageLoader[OpamPackageInfo]):
self.opam_url = opam_url
self.opam_package = opam_package
if not os.path.isdir(opam_root):
if os.path.isfile(opam_root):
def get_versions(self) -> List[str]:
"""First initialize the opam root directory if needed the start listing the package
versions.
"""
if not os.path.isdir(self.opam_root):
if os.path.isfile(self.opam_root):
raise ValueError("invalid opam root")
else:
call(
......@@ -96,15 +101,14 @@ class OpamLoader(PackageLoader[OpamPackageInfo]):
"--bare",
"--no-setup",
"--root",
opam_root,
opam_instance,
opam_url,
self.opam_root,
self.opam_instance,
self.opam_url,
]
)
elif not os.path.isfile(os.path.join(opam_root, "config")):
elif not os.path.isfile(os.path.join(self.opam_root, "config")):
raise ValueError("invalid opam root")
def get_versions(self) -> List[str]:
versions = opam_read(
[
"opam",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment