wpilibsuite / native-utils

Gradle utility plugin for compiling native libraries
Other
4 stars 21 forks source link

Vendordep Shared Object Dependencies #188

Closed theVerySharpFlat closed 7 months ago

theVerySharpFlat commented 7 months ago

Is there a way to specify library dependencies in a vendor json file?

Our team has a vendor dependency that depends on the PhoenixV6 vendordep, which strictly uses shared libraries. The problem is that if the end-user has a different version of the PhoenixV6 vendordep added to their project, the build fails with linker errors. Other libraries, such as pathplanner, solve this issue by selecting the static library option for their vendordeps, but there aren't any static versions of the PhoenixV6 vendordep, so this isn't feasible for me.

So, is there any way to specify in our vendordep that we depend on a specific version of another vendordep?

ThadHouse commented 7 months ago

There's a way to depend on another library existing, but not a way to depend on a specific version of that library existing. Version specific management is hard, and not something we have a lot of time to work on.

theVerySharpFlat commented 7 months ago

There's a way to depend on another library existing

Cool! Do you mind telling me what that is? It should suffice for now. Thanks for the help!

ThadHouse commented 7 months ago

https://github.com/wpilibsuite/native-utils/pull/163

theVerySharpFlat commented 7 months ago

Thanks! Should I close? The issue is resolved well enough for me!

ThadHouse commented 7 months ago

Probably. I don't see us adding version support in the future.