Cache is not reused every time.
mtj0928 opened this issue · comments
Scipio generates a version file for each dependency, and a cache is reused when the CacheKey
of the generated file is equal.
However, sdks
in a version file is a set and the order of sdks
are not same every time.
As a result, the key will be changed.
The bellow version files represents the same version, but the order of sdks
is not equal.
{
"buildOptions" : {
"enableLibraryEvolution" : true,
"buildConfiguration" : "release",
"isDebugSymbolsEmbedded" : true,
"frameworkType" : "static",
"sdks" : [
"iOS",
"iOSSimulator"
]
},
"targetName" : "Alamofire",
"clangVersion" : "clang-1403.0.22.11",
"pin" : {
"version" : "5.6.4",
"revision" : "78424be314842833c04bc3bef5b72e85fff99204"
}
}
{
"buildOptions" : {
"enableLibraryEvolution" : true,
"buildConfiguration" : "release",
"isDebugSymbolsEmbedded" : true,
"frameworkType" : "static",
"sdks" : [
"iOSSimulator",
"iOS"
]
},
"targetName" : "Alamofire",
"clangVersion" : "clang-1403.0.22.11",
"pin" : {
"version" : "5.6.4",
"revision" : "78424be314842833c04bc3bef5b72e85fff99204"
}
}
sdks may not Set? @giginet
Most of sdks
are OrderedSet
, but I found Set<SDK>
here.
Scipio/Sources/ScipioKit/Runner.swift
Lines 279 to 283 in 6a50d05