Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bugfix rust module incremental build support (#649)
## Description Previously, the incremental build support for rust modules was broken because the previous attempt of updating the last modified time using utime() was not permanent (for an unknown reason). This commit does two things: 1. Updates the logic to use pathlib.Path's `touch()` function, which has proven to reliably update the last modified time of the file. 2. Always touch the toml file instead of checking to see if any of the rust files has been touched since the last build. The previous logic was unnecessary complicated because the cargo build system will decide if a re-build is necessary, and make will only copy the file if the efi has changed. - [ ] Impacts functionality? - **Functionality** - Does the change ultimately impact how firmware functions? - Examples: Add a new library, publish a new PPI, update an algorithm, ... - [ ] Impacts security? - **Security** - Does the change have a direct security impact on an application, flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ... - [ ] Breaking change? - **Breaking change** - Will anyone consuming this change experience a break in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call a function in a new library class in a pre-existing module, ... - [ ] Includes tests? - **Tests** - Does the change include any explicit test code? - Examples: Unit tests, integration tests, robot tests, ... - [ ] Includes documentation? - **Documentation** - Does the change contain explicit documentation additions outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation on an a separate Web page, ... ## How This Was Tested 1. Verified changes to a rust module propagated into the final firmware. 2. Verified changes to a rust library propagated to a rust module that then also propagated into the final firmware. 3. Verified that making no changes to a rust module or library resulted in cargo build skipping the re-build and the final efi remained the same exact efi of the previous build (efi was not modified or re-copied) This was verified on Windows and Ubuntu 22.04 ## Integration Instructions Clear your Conf folder
- Loading branch information