mattt
(Mattt)
12
@yim_lee A few questions about the JSON format that I don't believe have come up yet:
-
According to the v1 format, the toolsVersion property for each package version object corresponds to "The tools (semantic) version specified in Package.swift". Does this account for version-specific manifest selection (e.g. Package@swift-4.2.swift)?
-
Relatedly, does the swift-package-collection command currently account for / plan to support version-specific tag selection (e.g. 1.2.0@swift-4.2)?
-
What do you think about representing Swift support as a cross-product / matrix of verifiedSwiftVersions and verifiedPlatforms? For example, a library may work on macOS and Linux, but rely on a change in swift-corelibs-foundation in Swift 5.3 for Linux (e.g. JSONEncoder.withoutEscapingSlashes?) Should there be a way to communicate compatibility exceptions somehow?
-
Could you speak more to the rationale behind the revision value in the JSON payload? Is the intention for that to be used for cache invalidation?
1 Like