Skip to content
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

Refactor SPM Modules #462

Merged
merged 15 commits into from Apr 30, 2024
Merged

Conversation

GLinnik21
Copy link
Collaborator

@GLinnik21 GLinnik21 commented Apr 16, 2024

Overview

This PR restructures our project to support modular imports in Swift Package Manager (SPM), addressing the inefficiencies of the current complex and non-standard target structure. It sets the foundation for future enhancements in privacy compliance and build system compatibility.

Key Changes

  • Modular Imports: Shifts from a monolithic to a modular structure, allowing for the import of only necessary components.
  • Simplified Targets: Eliminates non-standard target names with slashes that conflict with some build systems, streamlining dependencies between targets.
  • Optimized Products: Simplifies the products for easier integration, enhancing build process efficiency.

This restructuring prepares the library for future improvements, making it more manageable and ensuring compatibility with modern build environments.

High-Level Design of KSCrash modules. Thanks to @bamx23.
KSCrash_arch

This PR addresses issue #458.

Package.swift Outdated Show resolved Hide resolved
@GLinnik21 GLinnik21 changed the base branch from master to release-2.0 April 29, 2024 16:12
@GLinnik21 GLinnik21 changed the title Create better SPM modules Refactor SPM Modules Apr 29, 2024
@GLinnik21 GLinnik21 mentioned this pull request Apr 29, 2024
10 tasks
@GLinnik21 GLinnik21 marked this pull request as ready for review April 29, 2024 17:39
Package@swift-5.1.swift Outdated Show resolved Hide resolved
@bamx23
Copy link
Collaborator

bamx23 commented Apr 30, 2024

Thanks you a lot for such an amazing effort for structuring the modules.
Everything looks good, just several NITs. Also, could you rebase on the latest upstream?
Apart from that I think we can land it.

Sources/KSCrashRecordingCore/KSDemangle_CPP.cpp Outdated Show resolved Hide resolved
@@ -35,36 +35,35 @@ @interface KSThread_Tests : XCTestCase @end

@implementation KSThread_Tests

// TODO: Disabling this until I figure out what's wrong with queue names.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Have you figured out what's wrong with the queue names?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Not quite.
I was just looking through other pull requests and found this #221. Don't think that it would be compatible with my changes. By the way tests passes fine.

@bamx23 bamx23 merged commit f4e7103 into kstenerud:release-2.0 Apr 30, 2024
@GLinnik21 GLinnik21 deleted the new_package_manifest branch April 30, 2024 22:02
@GLinnik21 GLinnik21 linked an issue May 4, 2024 that may be closed by this pull request
10 tasks
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.

2.0 Evolution
2 participants