buckaroo icon indicating copy to clipboard operation
buckaroo copied to clipboard

Dependencies without a buckaroo.toml can't be used

Open rdeusser opened this issue 6 years ago • 2 comments

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

rdeusser avatar Oct 03 '19 02:10 rdeusser

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.

njlr avatar Oct 03 '19 17:10 njlr

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

njlr avatar Oct 04 '19 20:10 njlr