Package identity
Hyphens may not occur at the beginning or end, nor consecutively within a scope.
Are there some older accounts without these conditions?
For example, https://github.com/lorem--ipsum has consecutive hyphens.
A valid package name matches the following regular expression pattern:
\A\p{XID_Start}\p{XID_Continue}{0,127}\z
Can we require C99 extended identifiers, if restrictions are added to package and target names?
New PackageDescription
API
Package.Dependency.VersionBasedRequirement
is a new type that provides the same interface asPackage.Dependency.Requirement
for version-based requirements, but excluding branch-based and commit-based requirements.
I'd prefer a Range<Version>
parameter. The range arguments are succinct.
dependencies: [
.package("apple.NIO", "2.0.0"..<"3.0.0"), // upToNextMajor(from:)
.package("apple.NIO", "2.0.0"..<"2.1.0"), // upToNextMinor(from:)
.package("apple.NIO", "2.0.0"..<"2.0.1"), // exact()
]
Registry configuration subcommands
This proposal adds a new
swift package-registry
subcommand for managing the registry used for all packages and/or packages in a particular scope.
This could be implemented as a symlink, if apple/swift-package-manager#3276 is merged.
But would a swift package config set-registry
alternative be possible?