Skip to content

Make Swift Detector experimental and improve output - #1866

Merged
Ryan Brandenburg (ryanbrandenburg) merged 11 commits into
mainfrom
users/rybrande/SwiftExperiment
Sep 18, 2026
Merged

Ryan Brandenburg (ryanbrandenburg) merged 11 commits into
mainfrom
users/rybrande/SwiftExperiment

Conversation

@ryanbrandenburg

Copy link
Copy Markdown
Contributor

This detector exists but isn't getting a lot of use since it's off by default. Let's make it an experiment so it gets a bit of exercise.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The only noted issue is a non-blocking documentation nit.

Review tier: Lite
Findings: None

What changed in this PR

Makes the Swift Package Manager detector experimental.

Changes:

  • Implements experimental detector behavior.
  • Adds lifecycle coverage.
  • Updates detector documentation.
File Summary
test/​Microsoft.ComponentDetection.Detectors.Tests/​ComponentDetectorTests.cs Verifies Swift’s experimental status.
src/​Microsoft.ComponentDetection.Detectors/​swiftpm/​SwiftResolvedComponentDetector.cs Changes the detector lifecycle classification.
docs/​detectors/​README.md Documents the detector status.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Copilot AI review requested due to automatic review settings September 15, 2026 23:59
@github-actions

Copy link
Copy Markdown

👋 Hi! It looks like you modified some files in the Detectors folder.
You may need to bump the detector versions if any of the following scenarios apply:

  • The detector detects more or fewer components than before
  • The detector generates different parent/child graph relationships than before
  • The detector generates different devDependencies values than before

If none of the above scenarios apply, feel free to ignore this comment 🙂

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Multiple public constructors can make System.Text.Json deserialization of SwiftComponent fail; add serializer compatibility and a deserialization test.

Get a fresh assessment by requesting another Copilot review.

Review tier: Lite
Findings: 1 High severity

Open (1)

Comment thread src/Microsoft.ComponentDetection.Contracts/TypedComponent/SwiftComponent.cs Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Constructor mismatches cause compilation failures and swap the Kind and CommitHash values.

Get a fresh assessment by requesting another Copilot review.

Review tier: Lite
Findings: 3 High severity · 1 Medium severity

Open (4)
Resolved since last review (1)

Comment thread src/Microsoft.ComponentDetection.Contracts/TypedComponent/SwiftComponent.cs Outdated
Comment thread test/Microsoft.ComponentDetection.Detectors.Tests/SwiftComponentTests.cs Outdated
Comment thread test/Microsoft.ComponentDetection.Detectors.Tests/SwiftComponentTests.cs Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Address the SwiftComponent serialization and public-constructor compatibility issues before approval.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity

Open (2)
Resolved since last review (3)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

The Swift component deserialization bug and incomplete multi-package assertions remain unresolved.

Review effort: Lite
Findings: 1 High severity

Open (1)
Resolved since last review (1)

Copilot AI review requested due to automatic review settings September 16, 2026 23:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved API compatibility, legacy deserialization, and detector output migration issues remain.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity · 1 Medium severity

Open (3)
Resolved since last review (1)

@ryanbrandenburg Ryan Brandenburg (ryanbrandenburg) changed the title Make Swift Detector experimental Make Swift Detector experimental and improve output Sep 17, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Critical detector test assertions conflict with the new SwiftComponent output.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity

Open (2)
Resolved since last review (3)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Add assertions covering DeviceKit’s emitted metadata before approval.

Review effort: Lite
Findings: 1 High severity

Open (1)
Resolved since last review (1)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Add assertions covering DeviceKit’s repository and commit fields.

Review effort: Lite
Findings: None

Resolved since last review (1)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

ArgumentException.ThrowIfNullOrWhiteSpace is unavailable on the netstandard2.0 target and prevents compilation.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity

Open (1)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Resolve the netstandard2.0 compilation issue and add coverage for the third emitted package.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
Resolved since last review (1)

@ryanbrandenburg
Ryan Brandenburg (ryanbrandenburg) merged commit 6159482 into main Sep 18, 2026
19 of 22 checks passed
@ryanbrandenburg
Ryan Brandenburg (ryanbrandenburg) deleted the users/rybrande/SwiftExperiment branch September 18, 2026 18:52
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.

4 participants