@yim_lee A few questions about the JSON format that I don't believe have come up yet:
-
According to the v1 format, the
toolsVersionproperty 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-collectioncommand 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
verifiedSwiftVersionsandverifiedPlatforms? 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
revisionvalue in the JSON payload? Is the intention for that to be used for cache invalidation?