MobileNativeFoundation / XCLogParser

Tool to parse Xcode and xcodebuild logs stored in the xcactivitylog format
Apache License 2.0
1.74k stars 123 forks source link

Swift Compilation marked as others type #201

Open Bobbyphtr opened 8 months ago

Bobbyphtr commented 8 months ago

Hi, to be honest, I'm not sure if this is a known bug or not. I figure that when XCLogParser tries to parse the swift file, it seems to compare it with the wrong prefix.

Basically CompileSwift does not exist anymore. It was replaced with SwiftCompile.

Screenshot 2024-01-18 at 15 27 48

To reproduce:

  1. Create a project with Swift File inside it
  2. Build it
  3. Take a look on Report Navigator
  4. Export it

Try to use xclogparser, and compare it with XCLogParser results. When compiling to swift, it will categorize it as other rather than swiftCompilation.

This is json result Screenshot 2024-01-18 at 15 37 13

I also found that CompileSwiftSources prefix does not exist anymore. It was replaced like this hunk. But please do correct me if I mistook the meaning of the swiftAggregatedCompilation.

Screenshot 2024-01-18 at 15 42 31

This is the file where XCLogParser tries to parse the steps by looking at the command prefix. https://github.com/MobileNativeFoundation/XCLogParser/blob/e536e3009d391513a791e08b991d6fe413be0f9c/Sources/XCLogParser/parser/BuildStep.swift#L123C22-L123C41

Bobbyphtr commented 8 months ago

After reading this issue it looks like the solution implemented create another issue: https://github.com/MobileNativeFoundation/XCLogParser/issues/196

I think we could work it out by specifying the depth of the substep or giving SwiftCompile a specific handler to parse the code.