Skip to content

.swiftinterface file support #21

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 48 commits into from
Oct 15, 2024
Merged

.swiftinterface file support #21

merged 48 commits into from
Oct 15, 2024

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)
3 participants