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

GLOB importation doesn't work with folders #127

Open
AnthonyGrondin opened this issue Aug 29, 2022 · 0 comments
Open

GLOB importation doesn't work with folders #127

AnthonyGrondin opened this issue Aug 29, 2022 · 0 comments
Labels
bug Something isn't working

Comments

@AnthonyGrondin
Copy link
Contributor

When using the GLOB environment variables, the documentation specifies that you can import folders, using the following syntax:

ESP_IDF_GLOB_HOMEDIR_BASE = "/home/someuser"
ESP_IDF_GLOB_HOMEDIR_FOO = "foo*"
ESP_IDF_GLOB_HOMEDIR_BAR = "bar*"

but when using folders as the glob mask, the function that copies files over panics
https://github.com/esp-rs/embuild/blob/5e12da302f372c05d20a149b00eca1befde185f6/src/fs.rs#L14-L21

Example

# .cargo/config.toml
[env]
ESP_IDF_GLOB_BASE = { value = ".", relative = true}
ESP_IDF_GLOB_CERT = "certs*"
.
├── build.rs
├── Cargo.lock
├── Cargo.toml
├── certs/
├── README.md
├── rust-toolchain.toml
├── sdkconfig.defaults
└── src
     └── main.rs

Error log:

Caused by:
  process didn't exit successfully: `/home/esp/project/target/debug/build/esp-idf-sys-cb4238fce024232d/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=ESP_IDF_TOOLS_INSTALL_DIR
  cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG
  cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG_DEFAULTS
  cargo:rerun-if-env-changed=MCU
  cargo:rerun-if-env-changed=ESP_IDF_SYS_ROOT_CRATE
  cargo:rerun-if-env-changed=ESP_IDF_VERSION
  cargo:rerun-if-env-changed=ESP_IDF_REPOSITORY
  cargo:rerun-if-env-changed=ESP_IDF_CMAKE_GENERATOR
  cargo:rerun-if-env-changed=IDF_PATH
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS
  cargo:rerun-if-changed=/home/esp/project/./certs

  --- stderr
  Build configuration: BuildConfig {
      esp_idf_tools_install_dir: None,
      esp_idf_sdkconfig: None,
      esp_idf_sdkconfig_defaults: None,
      mcu: None,
      native: NativeConfig {
          esp_idf_version: Some(
              Branch(
                  "release/v4.4",
              ),
          ),
          esp_idf_repository: None,
          esp_idf_cmake_generator: None,
          idf_path: Some(
              "/home/esp/.espressif/frameworks/esp-idf-release-v4.4",
          ),
          extra_components: [],
          esp_idf_components: None,
      },
      esp_idf_sys_root_crate: None,
  }
  Using activated esp-idf v4.4.2 environment at '/home/esp/.espressif/frameworks/esp-idf-release-v4.4'
  thread 'main' panicked at 'assertion failed: src_file.is_file()', /home/esp/.cargo/registry/src/github.com-1ecc6299db9ec823/embuild-0.30.3/src/fs.rs:21:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
@Vollbrecht Vollbrecht added the bug Something isn't working label Jun 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Todo
Development

No branches or pull requests

2 participants