Dependencies without a buckaroo.toml can't be used
Description
Adding this
[[location]]
package = "gabime/spdlog"
git = "[email protected]:gabime/spdlog"
[[dependency]]
package = "gabime/spdlog"
version = "branch=master"
to my buckaroo.toml and running buckaroo resolve ends up giving me this error: error The package gabime/spdlog at branch=master is unresolvable.
Expected Behavior
I expect that when adding a dependency that doesn't have a buckaroo.toml, it should add it anyway and let me specify the necessary rules in my BUCK file to properly build it.
Actual Behavior
I get this error: error The package gabime/spdlog at branch=master is unresolvable.`
Possible Fix
Not sure of a good way to solve this.
Steps to Reproduce
Steps in the description.
Context
Building a cpp project that relies on projects that either only build with Bazel or CMake.
Your Environment
- Version used: 2.2.0
- Operating System and Architecture: macOS Mojava 10.14.6 x86_64
The reason that it works this way is that we don't want to resolve on versions that have not been made to work with Buckaroo. The intended usage is to add buckaroo.toml files directly to the package you want to use, or create a fork and add them there.
However, in the next version (currently being reviewed https://github.com/LoopPerfect/buckaroo/pull/357) we will add support for Bazel. In Bazel mode, we will be able to resolve any package that has a WORKSPACE file.
We could revisit this decision and allow packages without any metadata files to resolve, but I think it would make defining the correct version constraints more difficult.
Although this issue is general, I started a port of spdlog: https://github.com/buckaroo-pm/gabime-spdlog
buckaroo add github.com/buckaroo-pm/gabime-spdlog