diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9894a16b..3c41ae63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,12 +8,8 @@ jobs: name: Xcode ${{ matrix.xcode }} strategy: matrix: - xcode: ["12.5.1", "13.4.1", "14.3.1"] + xcode: ["14.3.1"] include: - - xcode: "12.5.1" - macos: macos-11 - - xcode: "13.4.1" - macos: macos-12 - xcode: "14.3.1" macos: macos-13 env: diff --git a/CHANGELOG.md b/CHANGELOG.md index 0eb06b56..e43cada2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,12 @@ - Added `scheme.enableGPUValidationMode` #1294 @LouisLWang - Added visionOS support #1379 @shiba1014 - Added ability to disable Thread performance checker in Schemes #1380 @piellarda +- Added support for `RuntimeIssue` breakpoints #1384 @yonaskolb ### Changed - The project object version has been updated for Xcode 14.3 #1368 @leonardorock +- Dropped support for Xcode 12 and 13, due to XcodeProj update #1384 @yonaskolb ### Fixed diff --git a/Docs/ProjectSpec.md b/Docs/ProjectSpec.md index 16c612b3..e9777fa5 100644 --- a/Docs/ProjectSpec.md +++ b/Docs/ProjectSpec.md @@ -196,6 +196,7 @@ Default settings for file extensions. See [Sources](#sources) for more documenta - `Symbolic`: symbolic breakpoint - `IDEConstraintError`: IDE constraint breakpoint - `IDETestFailure`: IDE test failure breakpoint + - `RuntimeIssue`: Runtime issue breakpoint - [ ] **enabled**: **Bool** - Indicates whether it should be active. Default to `true` - [ ] **ignoreCount**: **Int** - Indicates how many times it should be ignored before stopping, Default to `0` - [ ] **continueAfterRunningActions**: **Bool** - Indicates if should automatically continue after evaluating actions, Default to `false` diff --git a/Package.resolved b/Package.resolved index bd391b51..eaab8f05 100644 --- a/Package.resolved +++ b/Package.resolved @@ -78,8 +78,8 @@ "repositoryURL": "https://github.com/tuist/XcodeProj.git", "state": { "branch": null, - "revision": "fae27b48bc14ff3fd9b02902e48c4665ce5a0793", - "version": "8.9.0" + "revision": "c4d5f9d7f789dd944222be95938810947561e559", + "version": "8.12.0" } }, { diff --git a/Package.swift b/Package.swift index 08966246..54df1575 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.0 +// swift-tools-version:5.7 import PackageDescription @@ -16,7 +16,7 @@ let package = Package( .package(url: "https://github.com/yonaskolb/JSONUtilities.git", from: "4.2.0"), .package(url: "https://github.com/kylef/Spectre.git", from: "0.9.2"), .package(url: "https://github.com/onevcat/Rainbow.git", from: "3.0.0"), - .package(url: "https://github.com/tuist/XcodeProj.git", from: "8.9.0"), + .package(url: "https://github.com/tuist/XcodeProj.git", from: "8.12.0"), .package(url: "https://github.com/jakeheis/SwiftCLI.git", from: "6.0.3"), .package(url: "https://github.com/mxcl/Version", from: "2.0.0"), .package(url: "https://github.com/SwiftDocOrg/GraphViz.git", .exact("0.2.0")), diff --git a/Sources/ProjectSpec/Breakpoint.swift b/Sources/ProjectSpec/Breakpoint.swift index e5dee106..7877a695 100644 --- a/Sources/ProjectSpec/Breakpoint.swift +++ b/Sources/ProjectSpec/Breakpoint.swift @@ -38,6 +38,7 @@ public struct Breakpoint: Equatable { case symbolic(symbol: String?, module: String?) case ideConstraintError case ideTestFailure + case runtimeIssue } public enum Action: Equatable { @@ -247,6 +248,8 @@ extension Breakpoint: JSONObjectConvertible { type = .ideConstraintError case .ideTestFailure: type = .ideTestFailure + case .runtimeIssue: + type = .runtimeIssue } enabled = jsonDictionary.json(atKeyPath: "enabled") ?? true ignoreCount = jsonDictionary.json(atKeyPath: "ignoreCount") ?? 0 diff --git a/Sources/XcodeGenKit/BreakpointGenerator.swift b/Sources/XcodeGenKit/BreakpointGenerator.swift index 4decfe90..bf6b793c 100644 --- a/Sources/XcodeGenKit/BreakpointGenerator.swift +++ b/Sources/XcodeGenKit/BreakpointGenerator.swift @@ -49,6 +49,8 @@ public class BreakpointGenerator { breakpointExtensionID = .ideConstraintError case .ideTestFailure: breakpointExtensionID = .ideTestFailure + case .runtimeIssue: + breakpointExtensionID = .runtimeIssue } let xcbreakpoint = XCBreakpointList.BreakpointProxy.BreakpointContent( enabled: breakpoint.enabled, diff --git a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist index f51ece77..4b3e8272 100644 --- a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist @@ -150,5 +150,17 @@ + + + + + + + + diff --git a/Tests/Fixtures/TestProject/project.yml b/Tests/Fixtures/TestProject/project.yml index 67138ddb..f6666784 100644 --- a/Tests/Fixtures/TestProject/project.yml +++ b/Tests/Fixtures/TestProject/project.yml @@ -71,6 +71,7 @@ breakpoints: - type: IDEConstraintError continueAfterRunningActions: true - type: IDETestFailure + - type: RuntimeIssue targets: Legacy: type: ""