2016-12-14 7 views
2

私は貨物のワークスペースについて学んでいますし、次のような構造を設定している:ワークスペースは

トップレベル:

[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.tomlworkspacer(上記の1番目のスニペット)のインラインコメントでこれを言及しました。

これは予期しない動作またはバグですか、何か間違っていますか?最新の安定した上でそれを確認した後に

~$ rustc --version && cargo --version 
rustc 1.15.0-nightly (ba872f270 2016-11-17) 
cargo 0.15.0-nightly (1877f59 2016-11-16) 

答えて

1

~$ rustc --version && cargo --version 
rustc 1.13.0 (2c6933acc 2016-11-07) 
cargo 0.13.0-nightly (eca9e15 2016-11-01) 

それはseems to be a bug:ワークスペースの

すべてのメンバーが同じターゲットディレクトリに何をなし 関係を共有する必要があります!

bug report was submittedとなりました。

関連する問題