Section 9/181 menit

9. Swift Package Registry

9. Swift Package Registry

Swift Package Registry (diperkenalkan di Swift 5.7) adalah alternatif untuk URL-based dependencies. Apple menyediakan registry resmi di registry.swift.org, dan kamu bisa self-host registry sendiri.

Konfigurasi Registry

swift
# Tambahkan registry
swift package-registry set "https://registry.example.com" --scope "com.example"

# Login ke registry (untuk private packages)
swift package-registry login "https://registry.example.com" \
  --token "your-api-token"

# Lihat daftar registry yang dikonfigurasi
cat ~/.swiftpm/configuration/registries.json

Menggunakan Package dari Registry

swift
// Package.swift — registry-based dependency (format: scope.name)
dependencies: [
    // URL-based (tradisional)
    .package(url: "https://github.com/apple/swift-collections", from: "1.0.0"),
    
    // Registry-based (format: scope.package-name)
    .package(id: "swift-server.async-http-client", from: "1.19.0"),
    .package(id: "com.example.my-private-lib", exact: "2.1.0")
]

Publish ke Registry

swift
# Publish package ke registry
swift package-registry publish 1.0.0 \
  --registry "https://registry.example.com"