⛅
Carthageのキャッシュ管理について
CarthageでBuildフォルダ配下のframeworkを削除しても--cache-builds
で、Valid cache foundと言われてしまいキャッシュの仕組みを調べた際の備忘録
まとめると
キャッシュオプション--cache-builds
での、キャッシュ有無はBuild配下のライブラリ名.version
の有無で判定している
つまり、何らかの理由で1つだけライブラリ取得し直したい時は、そのライブラリの.version
ファイルを削除して、キャッシュオプション付きでbootstrapを行うと良い(かも)
--cache-builds
のキャッシュ有無判定の仕組み
くわしく:- Carthageのビルドされたキャッシュ情報はBuildディレクトリで隠しファイルとして管理されている。ファイル名は“.Project.version”となっている。 (Projectはそのライブラリのプロジェクト名)
- それぞれのライブラリごとにバージョンファイルがJSONで書かれており、下記のコードのような感じになっている
- この、versionファイル内のplatformとhashの組み合わせ有無で
--cache-builds
の実行されるか否かが決まる - 毎回
.version
ファイルはオプションに関わらず生成される
xx.version
{
"commitish" : "1.6.0",
"Mac" : [
{
"hash" : "de07bfdba346deb20705712c2ea07e7191d57f07d793c8c0698ded085bdb5cce",
"name" : "Prelude"
}
]
}
Discussion