Skip to content

Add abstraction for projects#89

Merged
dempseyatgithub merged 8 commits intoswiftlang:mainfrom
dempseyatgithub:project-abstraction
Feb 10, 2026
Merged

Add abstraction for projects#89
dempseyatgithub merged 8 commits intoswiftlang:mainfrom
dempseyatgithub:project-abstraction

Conversation

@dempseyatgithub
Copy link
Copy Markdown
Collaborator

@dempseyatgithub dempseyatgithub commented Feb 6, 2026

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.

- 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
- 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
@dempseyatgithub dempseyatgithub merged commit 97f3085 into swiftlang:main Feb 10, 2026
11 checks passed
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.

1 participant