Skip to content

issues using cargo vendor #552

@yu-re-ka

Description

@yu-re-ka

Description

Projects depending on feather can not vendor their dependencies using cargo vendor

Reproduction Steps

  1. git clone https://cyberchaos.dev/yuka/rnat
  2. cd rnat
  3. mkdir .cargo
  4. cargo vendor > .cargo/config.toml
  5. cargo build --all-features

What You Expected to Happen

The vendored versions of the feather crates should work standalone

What Actually Happened

libcraft-blocks-... attempts to load assets from outside its crate root, and fails to build

Screenshots and Logs

error: couldn't read /home/yuka/rnat/vendor/libcraft-blocks/src/../../assets/raw_block_states.bc.gz: No such file or directory (os error 2)
   --> /home/yuka/rnat/vendor/libcraft-blocks/src/registry.rs:216:36
    |
216 |         static STATE_DATA: &[u8] = include_bytes!("../../assets/raw_block_states.bc.gz");
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read /home/yuka/rnat/vendor/libcraft-blocks/src/../../assets/raw_block_properties.bc.gz: No such file or directory (os error 2)
   --> /home/yuka/rnat/vendor/libcraft-blocks/src/registry.rs:222:39
    |
222 |         static PROPERTY_DATA: &[u8] = include_bytes!("../../assets/raw_block_properties.bc.gz");
    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: could not compile `libcraft-blocks` due to 2 previous errors

Your Environment

  • Operating System: Linux
  • Operating System Version: ...
  • Feather Version: a86d61d

Additional Context

It is a known bug in cargo that workspace git dependencies have issues with vendoring:

rust-lang/cargo#8885
rust-lang/cargo#11192

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions