Add abstraction for projects#89
Merged
dempseyatgithub merged 8 commits intoswiftlang:mainfrom Feb 10, 2026
Merged
Conversation
- Add new Project type - Add project property to ExtractionJob - Update calls to create extraction jobs - Update minimum macOS version to use RangeSet
- Update snapshot creation calls
- Update call sites
- Add DocumentSource and HeaderFieldSource structs - Update field extractors to use new structs as data source - Update ProposalLinkExtractor to use project proposal regex - Update DiscussionExtractor to use proposal id from proposal spec - Resolves swiftlang#88
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, values like the repository URL, proposal prefix (e.g. "SE-"), and a variety of other project-specific values are hard-coded.
Adding an abstraction for projects is a large part of the underpinnings for supporting additional projects #49.
As the extractor tool begins to be used for validation reports in CI, there is also a need for a generalized mechanism for defining validation exemptions on a per-proposal basis. #32
Looking ahead to supporting multiple projects, these exemptions should also be on a per-project basis.
This PR adds a Project type which contains project-specific info.
The new project type is passed to the extraction job, each proposal spec, and accessible to every extractor, to allow for easy access to validation exemptions.
Note that additional static projects for Swift Testing and Foundation are defined in this PR, but functionality to use the tool with additional projects will be added in #49. The main reason for sequencing this now is to add the mechanism for validation exemptions.