私は貨物のワークスペースについて学んでいますし、次のような構造を設定している:ワークスペースは
トップレベル:
[package]
name = "workspacer"
version = "0.1.0"
authors = ["ustulation <[email protected]>"]
[workspace]
members = ["safe_core", "safe_authenticator", "safe_app"]
# If this is removed then each of the sub-projects will have thier own Cargo.lock file
# will build binaries/objects in their own target/ directories. With this present, it's
# always the parent-projects Cargo.lock and target/ directory used. Need to check if this
# is standard behaviour or some bug about to be fixed.
[lib]
crate_type = ["rlib", "cdylib", "staticlib"]
だけ生産するために必要safe_coreと呼ばれるlibに.rlib
[package]
authors = ["ustulation <[email protected]>"]
name = "safe_core"
version = "0.1.0"
[dependencies]
maidsafe_utilities = "~0.10.0"
と呼ばれるlibにsafe_appましたsafe_coreに依存して生産するために必要なすべての3 .rlib
、.a
と.so
:
[package]
name = "safe_app"
version = "0.1.0"
authors = ["ustulation <[email protected]>"]
[dependencies]
maidsafe_utilities = "~0.10.0"
safe_core = { path = "../safe_core" }
[lib]
crate_type = ["rlib", "cdylib", "staticlib"]
safe_coreに依存して生産するために必要safe_authenticatorと呼ばれるlibにすべての3 .rlib
、.a
と.so
:
[package]
name = "safe_authenticator"
version = "0.1.0"
authors = ["ustulation <[email protected]>"]
[dependencies]
safe_core = { path = "../safe_core" }
[lib]
crate_type = ["rlib", "cdylib", "staticlib"]
ツリーは次のようになります。
私はsafe_core
に移動し、ビルドする場合
workspacer
├── Cargo.toml
├── safe_app
│ ├── Cargo.toml
│ └── src
│ └── lib.rs
├── safe_authenticator
│ ├── Cargo.toml
│ └── src
│ └── lib.rs
└── safe_core
├── Cargo.toml
└── src
└── lib.rs
は、それがtarget/
フォルダと良いですトップレベルworkspacer/
、内部Cargo.lock
ファイルを作成します。
私はsafe_authenticator
フォルダに移動し、それはあまりにも同じtarget/
とCargo.lock
ファイルを使用していますので、私も欲しいものであるsafe_core
を再コンパイルしないことをビルドする場合。 safe_app
と同じです。私はトップレベルのworkspacer/Cargo.toml
から[lib]
セクションを削除する場合
ただし、サブプロジェクトのそれぞれが、それぞれのサブディレクトリ内の自分のCargo.lock
ファイルと、自分の/target
ディレクトリの作成を開始します。私はCargo.toml
のworkspacer
(上記の1番目のスニペット)のインラインコメントでこれを言及しました。
これは予期しない動作またはバグですか、何か間違っていますか?最新の安定した上でそれを確認した後に
~$ rustc --version && cargo --version
rustc 1.15.0-nightly (ba872f270 2016-11-17)
cargo 0.15.0-nightly (1877f59 2016-11-16)