The review of SE-0387: Cross-Compilation Destination Bundles ended on February 14th, 2023, and the core team has decided to accept the proposal in principle the following modifications. Also, return it for re-review focused on naming convention. There is a new review thread for that discussion.
- In toolset files the name of the
extraFlagsproperty that provides additional command-line options for each tool seemed misleading. Its value may contain not only flags, but any command-line options.
extraCLIOptionsis a self-descriptive name and could be used as a better alternative.
- The proposed schema for
destination.jsonmetadata is not flexible enough to support bundles with multiple triples, it should be extended to support this type of bundles. As each triple uniquely identifies a set of properties, the updated schema should allow specifying a dictionary from a triple string used as a key to an inner dictionary with triple-specific properties and their values.
- Since the existing
swift package-collectioncommand uses
removeas a verb,
swift destination deleteshould be renamed to
swift destination removefor consistency.
Since "cross-compilation destination" is quite a mouthful, "Swift SDK" is proposed as an alternative name for the feature. With compilers for different languages "SDK" concept can mean a loosely defined collection of files used for multiple purposes. Proposed "Swift SDK" should be distinct from that, it denotes a bundle providing necessary infrastructure to compile a Swift package for a specific triple. CLI commands, options, and files within bundles should be renamed accordingly:
swift destinationcommand renamed to
--destinationoption renamed to
--destinations-pathoption renamed to
~/.swiftpm/destinationspath renamed to
destination.jsonfile renamed to