Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vendoring story sucks! #8

Open
acmcarther opened this issue Feb 16, 2017 · 1 comment
Open

Vendoring story sucks! #8

acmcarther opened this issue Feb 16, 2017 · 1 comment

Comments

@acmcarther
Copy link
Owner

This is caused by cargo2bazel being really unpolished. My ideal vendoring setup:

Then, for new contributors, the steps are (following acmcarther/cargo2bazel#16)

  1. cargo install bazel-vendor
  2. cargo bazel-vendor
    This will generate the exact dependencies for your platform (following Support [target.*.dependencies] directives cargo2bazel#13) into your third_party directory.
  3. Develop as normal!
@acmcarther
Copy link
Owner Author

As described in the roadmap issue, in the taxonomy of the build:

crate dependency management
a build planner
a build execution engine

My ideal solution is

  1. Cargo acts as the crate dependency manager
  2. Custom cargo subcommand acts as the "build planner" up to the crate boundary. That is to say, explicit Cargo.toml dependencies get exposed, and their usage is dictated as normal in bazel, but below the surface, a cargo aware application performs planning
  3. Bazel executes the build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant