3

何が本当に言います。ほとんどのファイルはすべてのファイルの同じバージョンを使用して構築されているため、キャッシュが必要ですが、ファイルを変更する開発者は少数のファイルを変更するだけで、通常は多くのファイルが変更されます。

実稼働が承認されるまで、CacheDir() で指定されたキャッシュにその変更を書き込む意味はほとんどありませんが、CacheDir から内容をコピーすることには多くの意味があります。

しかし、キャッシュを完全に無効にするオプションしか表示されません。

(私はこれを scons メーリングリストに投稿しますが、完全に判読できないキャプチャを思いついただけです)

4

2 に答える 2

0

私は2つの異なるオプションを考えることができます:

  1. CacheDir の代わりに、ほとんど変更されないファイルに Repository() を使用するのはどうですか?
  2. --implicit-deps-unchangedSCons の man ページとhere で説明されているオプションの使用を検討してください。

同様の議論があります

読み取り専用の動作をどのように切り替える予定ですか? それを行うには、いくつかのロジックが必要です。CacheDir を読み取り専用で使用することはできないため、別の方法として、この同じトグル ロジックを使用して、リポジトリと CacheDir の使用を切り替えることができます。

于 2012-05-29T12:03:40.160 に答える
0

Fwiw、スコーンは今これを持っています。バージョン 2.3.1

出典: http://www.scons.org/doc/production/HTML/scons-man.html

scons は、複数のビルド間で共有できるターゲット (派生) ファイルのキャッシュを維持できます。SConscript ファイルでキャッシュが有効になっている場合、scons によってビルドされたすべてのターゲット ファイルがキャッシュにコピーされます。キャッシュ内に最新のターゲット ファイルが見つかった場合、そのファイルはローカルで再構築されるのではなく、キャッシュから取得されます。--cache-force、--cache-disable、--cache-readonly、および --cache-show コマンドライン オプションによって、キャッシュ動作を無効にしたり、他の方法で制御したりできます。--random オプションは、複数のビルドがキャッシュを同時に更新しようとするのを防ぐのに役立ちます。

于 2014-07-02T20:39:25.413 に答える