viash-io / viash

script + metadata = standalone component
https://viash.io
GNU General Public License v3.0
39 stars 2 forks source link

[BUG] Dependencies of dependencies are broken #700

Closed Grifs closed 6 months ago

Grifs commented 6 months ago

What happened?

When building a component that uses dependencies which in turn also has dependencies, the dependencies of dependencies are not copied during the build.

Steps to reproduce

Build hendrik/dependency_test3 from ViashHub. Then try to execute `./target/executable/dep_test3/pipeline/pipeline --input src/dep_test3/pipeline/config.vsh.yaml'.

Alternatively rebuild hendrik/dependency_test2 and then hendrik/dependency_test3 from ViashHub.

The output returns errors of not found code: .../dependency_test3/target/dependencies/vsh/hendrik/dependency_test2/main_build/executable/viash_hub_test/cat/../../../executable/viash_hub_test/tree/tree: No such file or directory

Expected behavior

Dependencies of dependencies need to be resolved and copied to the new build location.

This is due the strictening of the output .config.vsh.yaml. The writtenPath under dependencies is now no longer present. This was previously (ab)used to do the dependency resolving. We must either come up with a new way to do the resolving or find another way to encode this information in the .config.vsh.yaml.

Note that in the above example the dependency has all required files present, it's during the dependency resolution that Viash doesn't (know how to) pick up those dependencies.

Relevant log output

No response

Version

Viash 0.9.0-rc3

Possible solution

No response

Confirmation

Additional context

No response

Grifs commented 6 months ago

Fixed in Viash 0.9-rc4