Skip to content

Commit 30393c4

Browse files
authored
Update README.md
1 parent c8dcb83 commit 30393c4

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

README.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,34 @@ Alternatively you could use `xcrun swift-api-digester -diagnose-sdk` and pass th
88

99
## How it works
1010

11-
![image](https://github.com/user-attachments/assets/cc04d21a-06f6-42bc-8e73-4aef7af21d7a)
11+
### Analyzing .swiftinterface files
1212

13+
![image](https://github.com/user-attachments/assets/f836c963-6c16-4694-a481-9f0e598fbcd5)
1314

14-
### Project Builder
15+
### ProjectSetupHelper
1516

16-
Builds the swift package project which is required for the next step to run the `xcrun swift-api-digester -dump-sdk`
17+
Helps setting up the projects from a `ProjectSource` which includes cloning the repository if needed
1718

18-
### ABIGenerator
19+
### SwiftPackageFileAnalyzer
1920

20-
Makes use of `xcrun swift-api-digester -dump-sdk` to "dump" the public interface into an abi.json file.
21+
If the project type is of type `swift package` the Package.swift gets analyzed for added/removed/changed products/targets/dependencies and any issues/warnings
2122

22-
### SDKDumpGenerator
23+
### SwiftInterfaceProducer
2324

24-
Parses the abi.json files into an `SDKDump` object
25+
Archives the project and locates the `.swiftinterface` files for the available targets.
26+
If the project is of type `swift package` the `Package.swift` gets altered by adding a new product that contains all targets.
2527

26-
### SDKDumpAnalyzer
28+
### SwiftInterfaceParser
2729

28-
Analyzes 2 `SDKDump` objects and detects `addition`s & `removal`s.
30+
Parses the `.swiftinterface` file into a list of `SwiftInterfaceElement`s for easier analysing.
2931

30-
### ChangeConsolidator
32+
### SwiftInterfaceAnalyzer
3133

32-
The `ChangeConsolidator` takes 2 independent changes (`addition` & `removal`) and tries to match them based on the name, declKind and parent.
34+
Analyzes 2 root `SwiftInterfaceElement`s and detects `addition`s & `removal`s.
35+
36+
### SwiftInterfaceChangeConsolidator
37+
38+
The `ChangeConsolidator` takes 2 independent changes (`addition` & `removal`) and tries to match them into a list of `Change`s based on the consoldiatableName, type and parent.
3339

3440
| Match |
3541
| --- |

0 commit comments

Comments
 (0)