Consolidate version stuff

This commit is contained in:
2024-11-22 20:19:49 +11:00
parent 72c4f2ac31
commit cc703ad0c5
8 changed files with 14 additions and 14 deletions

View File

@ -6,9 +6,9 @@
import Foundation import Foundation
public struct ApkIndexDependency: Hashable, Sendable { public struct ApkIndexDependency: Hashable, Sendable {
let requirement: ApkRequirement let requirement: ApkVersionRequirement
init(requirement: ApkRequirement) { init(requirement: ApkVersionRequirement) {
self.requirement = requirement self.requirement = requirement
} }
} }

View File

@ -4,9 +4,9 @@
*/ */
public struct ApkIndexInstallIf: Hashable, Sendable { public struct ApkIndexInstallIf: Hashable, Sendable {
let requirement: ApkRequirement let requirement: ApkVersionRequirement
init(requirement: ApkRequirement) { init(requirement: ApkVersionRequirement) {
self.requirement = requirement self.requirement = requirement
} }
} }

View File

@ -6,7 +6,7 @@
public struct ApkIndexProvides: Hashable, Sendable { public struct ApkIndexProvides: Hashable, Sendable {
let name: String let name: String
init(requirement: ApkRequirement) { init(requirement: ApkVersionRequirement) {
self.name = requirement.name self.name = requirement.name
} }
} }

View File

@ -19,7 +19,7 @@ struct ApkIndexRequirementRef {
self._graph!.pkgIndex.packages[self.packageID] self._graph!.pkgIndex.packages[self.packageID]
} }
func satisfied(by other: ApkRequirement) -> Bool { func satisfied(by other: ApkVersionRequirement) -> Bool {
true true
} }
} }
@ -50,11 +50,11 @@ extension ApkIndexRequirementRef: CustomStringConvertible {
} }
return switch self.constraint { return switch self.constraint {
case .dep(let version): case .dep(let version):
"dep=\(ApkRequirement(name: package.name, spec: version))" "dep=\(ApkVersionRequirement(name: package.name, spec: version))"
case .provision: case .provision:
"provides=\(package.name)" "provides=\(package.name)"
case .installIf(let version): case .installIf(let version):
"installIf=\(ApkRequirement(name: package.name, spec: version))" "installIf=\(ApkVersionRequirement(name: package.name, spec: version))"
} }
} }
} }

View File

@ -5,7 +5,7 @@
import Foundation import Foundation
internal struct ApkRequirement: Hashable { internal struct ApkVersionRequirement: Hashable {
let name: String let name: String
let versionSpec: ApkVersionSpecification let versionSpec: ApkVersionSpecification
@ -51,7 +51,7 @@ internal struct ApkRequirement: Hashable {
} }
} }
extension ApkRequirement: CustomStringConvertible { extension ApkVersionRequirement: CustomStringConvertible {
var description: String { var description: String {
switch self.versionSpec { switch self.versionSpec {
case .any: self.name case .any: self.name
@ -61,7 +61,7 @@ extension ApkRequirement: CustomStringConvertible {
} }
} }
extension ApkRequirement { extension ApkVersionRequirement {
enum ParseError: Error, LocalizedError { enum ParseError: Error, LocalizedError {
case brokenSpec case brokenSpec
@ -75,7 +75,7 @@ extension ApkRequirement {
//MARK: - Private Implementation //MARK: - Private Implementation
fileprivate extension ApkRequirement { fileprivate extension ApkVersionRequirement {
struct ComparatorBits: OptionSet { struct ComparatorBits: OptionSet {
let rawValue: UInt8 let rawValue: UInt8
@ -91,7 +91,7 @@ fileprivate extension ApkRequirement {
} }
fileprivate extension ApkVersionSpecification { fileprivate extension ApkVersionSpecification {
init(_ bits: ApkRequirement.ComparatorBits, version: Substring) throws(ApkRequirement.ParseError) { init(_ bits: ApkVersionRequirement.ComparatorBits, version: Substring) throws(ApkVersionRequirement.ParseError) {
if bits == [ .conflict ] { if bits == [ .conflict ] {
self = .conflict self = .conflict
} else { } else {
@ -107,7 +107,7 @@ fileprivate extension ApkVersionSpecification {
} }
fileprivate extension ApkVersionSpecification.Operator { fileprivate extension ApkVersionSpecification.Operator {
init(_ bits: ApkRequirement.ComparatorBits) throws(ApkRequirement.ParseError) { init(_ bits: ApkVersionRequirement.ComparatorBits) throws(ApkVersionRequirement.ParseError) {
self = switch bits.subtracting(.conflict) { self = switch bits.subtracting(.conflict) {
case .equals: .equals case .equals: .equals
case .less: .less case .less: .less