Update XcodeProj and add RuntimeIssue breakpoint (#1384)

* support RuntimeIssue breakpoint

* drop xcode 12 and 13 support

* changelog
This commit is contained in:
Yonas Kolb 2023-08-12 23:23:12 +10:00 committed by GitHub
parent c701d3ddf7
commit 5f1efd90ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 26 additions and 9 deletions

View File

@ -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:

View File

@ -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

View File

@ -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`

View File

@ -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"
}
},
{

View File

@ -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")),

View File

@ -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

View File

@ -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,

View File

@ -150,5 +150,17 @@
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.RuntimeIssueBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No">
<Actions>
</Actions>
<Locations>
</Locations>
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@ -71,6 +71,7 @@ breakpoints:
- type: IDEConstraintError
continueAfterRunningActions: true
- type: IDETestFailure
- type: RuntimeIssue
targets:
Legacy:
type: ""