Skip to content

fix(cli): deduplicate descriptor sets on load#1536

Merged
noahdietz merged 1 commit into
v2from
fix-proto-descriptor-set-duplication
Sep 15, 2025
Merged

fix(cli): deduplicate descriptor sets on load#1536
noahdietz merged 1 commit into
v2from
fix-proto-descriptor-set-duplication

Conversation

@quirogas

Copy link
Copy Markdown
Contributor

This PR fixes a bug that caused the linter to fail when processing multiple descriptor sets that contain the same imported file dependencies. When the linter is invoked with multiple descriptor set files (via the --descriptor-set-in flag), it would panic with a "file appears multiple times" error if those descriptor sets shared a common dependency. For example, if a.protoset and b.protoset both included the definitions from an imported common.proto, the linter would fail.

@quirogas
quirogas requested a review from noahdietz September 14, 2025 21:39
@quirogas quirogas self-assigned this Sep 14, 2025
@quirogas
quirogas requested a review from a team September 14, 2025 21:39
@noahdietz
noahdietz merged commit 41594e9 into v2 Sep 15, 2025
5 checks passed
@noahdietz
noahdietz deleted the fix-proto-descriptor-set-duplication branch September 15, 2025 16:07
quirogas added a commit that referenced this pull request Oct 22, 2025
…1554)

* feat!: Migrate from jhump/protoreflect to google.golang.org/protobuf (#1513)

This commit migrates the entire codebase from the `jhump/protoreflect` and deprecated `github.com/golang/protobuf` libraries to the new `google.golang.org/protobuf` library. This is a significant change that modernizes the codebase and improves performance and maintainability.

BREAKING CHANGE: This migration introduces breaking changes to the public API. Users will need to update their code to use the new `google.golang.org/protobuf` types.
--- 
## Extended description

*   feat!(lint): migrate to protobuf-go
*   feat!(locations): migrate to protobuf-go
*   feat!(internal): migrate to protobuf-go
*   feat!(rules): migrate AIPs from protoreflect to protobuf-go
*   feat!(cli): migrate to protobuf-go

Co-authored-by: Noah Dietz <[email protected]>

---------

Co-authored-by: Noah Dietz <[email protected]>

* fix(cli): resolve linting errors related to incorrect positioning whe… (#1531)

* fix(cli): allow disabling all rules and then enabling a single rule, or multiple rules
* fix(cli): resolve linting errors related to incorrect positioning when working with descriptor sets without source info

* fix(cli): deduplicate descriptor sets on load (#1536)

* chore(v2): catch up with main (#1535)

* chore(v2): catch up with main

* chore(AIP-160): migrate recently added rules

* chore(rules/internal/utils): utilify extension parsing (#1537)

* chore(rules/internal/utils): utilify extension parsing

* chore: attempt using generics

* chore: change all to generic func

* chore: remove unused

* chore: use marshal/unmarshal instead of merge

* chore: export method add docs

* chore: clean up error modes

* chore(internal): add test util (#1538)

* chore(internal): add test util

* chore(internal): add helper mark

* chore(internal): bump version (#1542)

* fix(cli):  resolve import path resolution (#1545)

* fix(cli): fix import resolution

* chore(cli): fix integration test

* chore(cli): compile every proto file separatelly to avoid import and compilation collisions

* chore(cli): add integration test for thrid_party dir scenario

* chore(cli): simplify test

* chore(cli): expand comment

* chore(rules): allow AIP-157 View field in standard methods (#1548)

* feat(AIP-133): allow view field in create request

* feat(AIP-134): allow view field in update request

* feat(AIP-135): allow view field in delete request

* chore(rules): allow include _view suffixed fields

* docs(AIP-133): update docs for request-unknown-fields

* docs(AIP-134): update docs for request-unknown-fields

* docs(AIP-135): update docs for request-unknown-fields

* chore(rules): remove debug logic

* chore(v2): catch up with main (again) (#1549)

* fix(lint): linter config on windows (#1551)

* fix(lint): linter config on windows

* docs: update install command (#1553)

* chore: v2 catch up with main  (#1555)

Merge main into v2 before merging v2 into main

---------

Co-authored-by: Noah Dietz <[email protected]>
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.

2 participants