Commits


James Baker authored and GitHub committed 16eba537a8f
rust bindings: Do not unnecessarily re-run build.rs (#17018) ### Description Remove unnecessary cargo:rerun-if-changed declaration. ### Motivation and Context 'cargo:rerun-if-changed' declarations tell Cargo when to re-run the build script. The intention is that if the build script depends on other files, then Cargo knows to re-run if those files change. It stores the output and checks it before each build. The intention is that one emits the declarations for _inputs_ of the build. This rerun-if-changed declaration is a declaration on the _output_ of the build, and stores the absolute path of the output. This is not a useful declaration because the output path is unique to the build script - there is no way for anything else to change it. However, this does generate unnecessary rebuilds in some cases, for example if the dependent repository is moved in the filesystem. This causes me some issues when using https://crane.dev, as due to some implementation details, if a crate being moved triggers a rebuild, by default the build is broken. To summarise: - declaration is redundant - causes issues in niche cases.