Ignore copy target dir to handle cargo package #112
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
概要
c2a-devtools-frontend
のビルドスクリプトでソースディレクトリを$OUT_DIR
にコピーする際,target
も無視するようにする変更の意図や背景
cargo package
においては,cargo build
とビルド時のディレクトリの挙動が異なる.具体的には,
target/package
以下にクリーンなビルドをするためソースディレクトリがコピーされるtarget/package/<crate>-<version>/target
に入るtarget/package/<crate>-<version>/target
ができるbuild.rs
でソースディレクトリを$OUT_DIR
にコピーする$OUT_DIR
はtarget/package/<crate>-<version>/target
内target/package/<crate>-<version>/target
を再帰的にコピーしてしまうとなってしまう.
発端となる Issue
補足
cargo package
がソースディレクトリを最初にコピーする際,Cargo.toml
が存在するディレクトリはコピーされない.このルールは現状
package.include
などを指定しても bypass できない(正確にはpackage.license-file
のみ bypass されるが,意図が異なり confusing すぎる上に単一ファイルがコピーできてもあまり意味がない).これにより,
devtools-frontend/crates/wasm-opslang
がcargo package
の時のみビルド前にソースディレクトリが存在しない状態になってしまう.そのため,この PR をマージした後もcargo package
は通るようにはならない.