Skip to content

Conversation

@goergisn
Copy link
Contributor

@goergisn goergisn commented Oct 7, 2024

Summary

The public api diff now uses swift-syntax to parse .swiftinterface files instead of relying on abi.json files that can be incomplete and do not expose features like actor, async, ...

TODOs

  • Remove all SDKDump related code
  • Fix documentation
  • Implement missing UnitTests
  • Update README.md with new flows

Target structure

Executable Targets

  • CommandLineTool

Public Modules

  • PADProjectBuilder
    • Fetches remote projects (optional)
    • Archives projects
    • Produces a list of SwiftInterfaceFiles, package-changes + warnings
  • PADPackageFileAnalyzer
    • Inspects the Package.swift
    • Produces a list of changes/warnings
  • PADSwiftInterfaceAnalyzer
    • Takes a list of SwiftInterfaceFiles
    • Produces a list of changes per SwiftInterfaceFile
  • PADOutputGenerator
    • Generates output for changes & warnings

Shared/Public

  • PADCore
    • Containing shared types
  • PADLogging
    • Everything about logging

Shared/Package

  • FileHandlingModule
    • Everything regarding file handling
  • ShellModule
    • Interacting with the shell
  • SwiftPackageFileHelperModule
    • Swift Package tools (e.g. parsing, modifying, ...)

See: #13

@goergisn goergisn linked an issue Oct 7, 2024 that may be closed by this pull request
# Conflicts:
#	Sources/Pipeline/Modules/SwiftPackageFileAnalyzer.swift
#	Sources/Pipeline/SDKDumpPipeline.swift
#	Tests/UnitTests/PipelineTests.swift
#	Tests/UnitTests/SDKDumpAnalyzerTests.swift
#	Tests/UnitTests/SwiftPackageFileAnalyzerTests.swift
@goergisn goergisn requested a review from Robert-SD October 9, 2024 09:29
@goergisn goergisn marked this pull request as ready for review October 10, 2024 10:15
@atmamont
Copy link

It's quite impossible to review, any particular part to look for? Otherwise, I'd just approve

@goergisn
Copy link
Contributor Author

It's quite impossible to review, any particular part to look for? Otherwise, I'd just approve

I'll go through the major changes tomorrow :)

goergisn and others added 7 commits October 10, 2024 15:21
* Moving files around

* Better modularization

* Removing unused code

* More modularization

* fixing Package.swift file

* some fixes

* Renaming

* Renaming

* Renaming

* More renaming

* Restructuring

* Adding swift-docc plugin

---------

Co-authored-by: Alex Guretzki <alexander.guretzki@adyen.com>
@goergisn goergisn linked an issue Oct 11, 2024 that may be closed by this pull request
@goergisn goergisn merged commit c138ff1 into main Oct 15, 2024
2 checks passed
@goergisn goergisn deleted the swiftinterface-file-support branch October 15, 2024 08:16
Copy link

@nauaros nauaros left a comment

Choose a reason for hiding this comment

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

Solid work!

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.

📓 Github README.md with how to use guide 🧮 Add support for binary frameworks (.swiftinterface)

4 participants