Skip to content

Conversation

@3405691582
Copy link
Member

The Utilities/bootstrap process can optionally install swiftpm without rebuilding swiftpm.

Motivation:

This allows the build action to be decoupled from the install action, so packaging systems that expect to be able to do discrete installation steps post-build can do so cheaply, without having to effectively start the build over from scratch.

This is only intended solely for that use-case, so this is not wired up to other part of the swiftpm build process and defaults to being disabled.

Modifications:

  • Added a new flag to Utilities/bootstrap.
  • When the flag is true, build flag are parsed (necessarily) but the build does not occur.

Result:

No change, other than when the --install-only flag is passed and the install action is specified, the built swiftpm is installed only, and not rebuilt.

This allows the build action to be decoupled from the install action, so
packaging systems that expect to be able to do discrete installation
steps post-build can do so cheaply, without having to effectively start
the build over from scratch.

This is only intended solely for that use-case, so this is not wired up
to other part of the swiftpm build process and defaults to being
disabled.
@3405691582
Copy link
Member Author

@swift-ci please test.

@3405691582
Copy link
Member Author

@swift-ci please test Windows platform.

@plemarquand
Copy link
Contributor

@swift-ci test windows

@3405691582
Copy link
Member Author

@swift-ci please test Windows platform.

1 similar comment
@3405691582
Copy link
Member Author

@swift-ci please test Windows platform.

@3405691582
Copy link
Member Author

@swift-ci please test Windows platform

@3405691582
Copy link
Member Author

@swift-ci please test Windows platform.

1 similar comment
@3405691582
Copy link
Member Author

@swift-ci please test Windows platform.

@3405691582
Copy link
Member Author

@jakepetroules could you merge on my behalf please if there is nothing else?

@jakepetroules jakepetroules merged commit 4267d67 into swiftlang:main Sep 4, 2025
6 checks passed
rconnell9 pushed a commit that referenced this pull request Oct 24, 2025
…9106)

- **Explanation**:

This allows the build action to be decoupled from the install action, so
packaging systems that expect to be able to do discrete installation
steps post-build can do so cheaply, without having to effectively start
the build over from scratch.

This is only intended solely for that use-case, so this is not wired up
to other part of the swiftpm build process and defaults to being
disabled.

(See also #9105)

- **Scope**:

Makes a change to the bootstrap wrapper, so no behavioral changes by
default.

- **Issues**:

Relevant to OpenBSD port in swiftlang/swift#78437

- **Original PRs**:

#9050 

- **Risk**:

Minimal, since there are no behavioral changes by default.

- **Testing**:

Passed CI.

- **Reviewers**:

@jakepetroules
3405691582 added a commit that referenced this pull request Oct 24, 2025
…9105)

- **Explanation**:

This allows the build action to be decoupled from the install action, so
packaging systems that expect to be able to do discrete installation
steps post-build can do so cheaply, without having to effectively start
the build over from scratch.

This is only intended solely for that use-case, so this is not wired up
to other part of the swiftpm build process and defaults to being
disabled.

(See also #9106)

- **Scope**:

Makes a change to the bootstrap wrapper, so no behavioral changes by
default.

- **Issues**:

Relevant to OpenBSD port in swiftlang/swift#78437

- **Original PRs**:

#9050 

- **Risk**:

Minimal, since there are no behavioral changes by default.

- **Testing**:

Passed CI.

- **Reviewers**:

@jakepetroules
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.

3 participants