aplteam / Tatin

Tatin is a package manager for Dyalog APL
MIT License
25 stars 5 forks source link

Installing a ZIP fails if it has dependencies that are relative #130

Closed aplteam closed 1 year ago

aplteam commented 1 year ago

Since dependencies being relative (just <group>-<pkg-name>-<version>) is the usual case it's fair to say that ZIP files cannot be installed in case they have dependencies.

aplteam commented 1 year ago

Example

With this build tree:

1  group-pkgID-1.0.0  /pathTo/group-pkgID-1.0.0/group-pkgID-1.0.0.zip 
0  group-Foo-2.0.0    group-Foo-2.0.0

Because the dependency carries neither file:// nor http[s]:// it would be expected in the current directory.

Instead Tatin should first look into /pathTo/group-pkgID-1.0.0, and if that is not successful, possibly also into the parent folder /pathTo/.

aplteam commented 1 year ago

Second thoughts: whether it's a ZIP or not, dependencies should always be handled the same way, meaning questioning all defined registries, with the first hit winning.

When an author wants a ZIP to have local dependencies, the file:// protocol must be used.

aplteam commented 1 year ago

Cannot reproduce: works as expected.