giginet / Scipio

A new build tool to generate XCFramework

Home Page:https://giginet.github.io/Scipio/documentation/scipio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

private func detectSDKsToBuild(
platforms: Runner.Options.PlatformSpecifier,
package: DescriptionPackage,
isSimulatorSupported: Bool
) -> Set<SDK> {