Skip to content

Conversation

@AvdLee
Copy link
Collaborator

@AvdLee AvdLee commented Apr 11, 2024

I've updated LogManifestEntry for Xcode's latest format, adding statistics like number of warnings and errors. This allows to filter out failed builds without loading .xcactivitylog.

I've also changed the build duration from an Int into a Double and removed the rounding, so build durations are more precise. I believe it's up to the users of the framework to decide to round the build duration instead of us showing wrong build durations from the start.

@Iron-Ham
Copy link

cc: @AvdLee I'm likely to pull this into my fork which repairs the function/typecheck timings, since I think this would be quite useful for us

@AvdLee
Copy link
Collaborator Author

AvdLee commented Sep 11, 2025

@aleksandergrzyb asked to re-review this. Small changes, just SwiftLint fixes and Sendable support!

let totalNumberOfTestFailures = primaryObservable["totalNumberOfTestFailures"] as? Int,
let highLevelStatus = primaryObservable["highLevelStatus"] as? String
else {
throw LogError.invalidLogManifest("The file at \(path) is not a valid " +
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we throw if those metrics are absent, and per your comment it's a change in a recent Xcode version, won't this be a breaking change for developers using this library with older Xcode versions? If so, I recommend to making statistics optional, and then add a comment for future reference where we indicate from which version of Xcode the attribute becomes present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants