Skip to content

[Build] NFC: A few minor refactorings to build operation state tracking #7660

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

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Jun 13, 2024

Motivation:

Trying to make it possible to share createBuildOperation between multiple implementations of SPMCoreBuild.BuildSystem in preparation to introduce an operation that would build plugin tools.

Modifications:

  • Rename BuildOperationBuildSystemDelegateHandler into LLBuildProgressTracker which is a more neutral name that could be used by different llbuild operations if necessary.
  • Integrate commandFailureHandler into the progress tracker
  • Make BuildOperation.createBuildSystem stateless and use a single member to set both a new build system and its tracker.

Result:

The change it make it much easier to move createBuildSystem out of BuildOperation and into SPMCoreBuild.BuildSystem itself.

@MaxDesiatov MaxDesiatov added the no functional change No user-visible functional changes included label Jun 13, 2024
Copy link
Contributor

@MaxDesiatov MaxDesiatov left a comment

Choose a reason for hiding this comment

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

LGTM, only a few nits

@xedin xedin force-pushed the refactor-build-operation-progress-tracking branch from 67332d3 to 32e050f Compare June 13, 2024 16:30
@xedin
Copy link
Contributor Author

xedin commented Jun 13, 2024

@swift-ci please test

@MaxDesiatov MaxDesiatov enabled auto-merge (squash) June 13, 2024 17:10
@MaxDesiatov MaxDesiatov merged commit 9c0e48e into swiftlang:main Jun 13, 2024
5 checks passed
MaxDesiatov pushed a commit that referenced this pull request Jun 27, 2024
…ng (#7660)

### Motivation:

Trying to make it possible to share `createBuildOperation` between
multiple implementations of `SPMCoreBuild.BuildSystem` in preparation to
introduce an operation that would build plugin tools.

### Modifications:

- Rename `BuildOperationBuildSystemDelegateHandler` into
`LLBuildProgressTracker` which is a more neutral name that could be used
by different llbuild operations if necessary.
- Integrate `commandFailureHandler` into the progress tracker
- Make `BuildOperation.createBuildSystem` stateless and use a single
member to set both a new build system and its tracker.

### Result:

The change it make it much easier to move `createBuildSystem` out of
`BuildOperation` and into `SPMCoreBuild.BuildSystem` itself.

(cherry picked from commit 9c0e48e)
MaxDesiatov added a commit that referenced this pull request Jun 27, 2024
Includes these PRs cherry-picked off `main`
* #7605
* #7660
* #7667
* #7682
* #7687
* #7690
* #7684
* #7679

**Explanation**: Cherry-pick of recent NFC changes, which makes it
easier to cherry-pick actual bug fixes onto 6.0 due to the reduced
number of merge conflicts.
**Scope**: broad, includes both modules graph and llbuild-related
changes.
**Risk**: low, the test suite is passing, no functional changes are
included, and cherry-picked changes were incubated on `main` for some
time.
**Testing**: Existing automated test suite.
**Issue**: N/A
**Reviewers**: @xedin @MaxDesiatov @rauhul

---------

Co-authored-by: Pavel Yaskevich <[email protected]>
Co-authored-by: Danny Mösch <[email protected]>
Co-authored-by: Rauhul Varma <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no functional change No user-visible functional changes included
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants