Skip to content

Hide build system internals with @_spi #7365

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 8 commits into from
Feb 27, 2024
Merged

Conversation

MaxDesiatov
Copy link
Contributor

These details should not leak outside of the SwiftPM package. In the (hopefully temporary) absence of package access control, we can hide build system-related APIs with @_spi annotations.

These details should not leak outside of the SwiftPM package. In the (hopefully temporary) absence of `package` access control, we can hide build system-related APIs with `@_spi` annotations.
@MaxDesiatov MaxDesiatov added the no functional change No user-visible functional changes included label Feb 24, 2024
@MaxDesiatov MaxDesiatov self-assigned this Feb 24, 2024
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov MaxDesiatov added build system Changes to interactions with build systems public API Changes to the public API of SwiftPM and removed no functional change No user-visible functional changes included labels Feb 24, 2024
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test macos

…xd/spi-build-system

# Conflicts:
#	Sources/Commands/SwiftBuildCommand.swift
#	Sources/Commands/SwiftRunCommand.swift
#	Sources/Commands/SwiftTestCommand.swift
#	Sources/CoreCommands/BuildSystemSupport.swift
#	Sources/CoreCommands/SwiftCommandState.swift
#	Sources/swift-package-manager/SwiftPM.swift
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

2 similar comments
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

…xd/spi-build-system

# Conflicts:
#	Sources/Commands/SwiftBuildCommand.swift
#	Sources/Commands/SwiftRunCommand.swift
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@testable import CoreCommands

@_spi(SwiftPMInternal)
@testable
Copy link
Contributor

Choose a reason for hiding this comment

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

Would be nice to remove all our @testable too IMO (to avoid the rebuild) and use SPI instead.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Kind of weird that @testable doesn't automagically work like @_spi and requires rebuilding stuff, isn't it?

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov MaxDesiatov enabled auto-merge (squash) February 27, 2024 10:48
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov MaxDesiatov merged commit 92d65bf into main Feb 27, 2024
@MaxDesiatov MaxDesiatov deleted the maxd/spi-build-system branch February 27, 2024 13:20
furby-tm pushed a commit to wabiverse/swift-package-manager that referenced this pull request May 15, 2024
These details should not leak outside of the SwiftPM package. In the
(hopefully temporary) absence of `package` access control, we can hide
build system-related APIs with `@_spi` annotations.
furby-tm pushed a commit to wabiverse/swift-package-manager that referenced this pull request May 15, 2024
These details should not leak outside of the SwiftPM package. In the
(hopefully temporary) absence of `package` access control, we can hide
build system-related APIs with `@_spi` annotations.
xedin added a commit to xedin/swift-package-manager that referenced this pull request May 15, 2024
xedin added a commit to xedin/swift-package-manager that referenced this pull request May 15, 2024
xedin added a commit that referenced this pull request May 16, 2024
This change reverts the following PRs and makes it possible to use
public and @_spi APIs again.

- #7365
- #7372
- #7381
- #7387
- #7434
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build system Changes to interactions with build systems public API Changes to the public API of SwiftPM
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants