Skip to content

Replace protobuf/abseil submodules with vendored sources#2021

Open
kateinoigakukun wants to merge 3 commits intoapple:mainfrom
kateinoigakukun:yt/vendor-protobuf
Open

Replace protobuf/abseil submodules with vendored sources#2021
kateinoigakukun wants to merge 3 commits intoapple:mainfrom
kateinoigakukun:yt/vendor-protobuf

Conversation

@kateinoigakukun
Copy link
Copy Markdown

Fixes #2000.

SwiftPM recursively checks out git submodules during package resolution. The protobuf and abseil submodules are large C++ repositories, but every consumer has to pay the cost of fetching them for every checkout because SwiftPM cannot cache submodules as their bare repositories.

This PR replace protobuf/abseil submodules with vendored sources.

Commits

  1. Add protobuf vendor update automation
  2. Remove protobuf and abseil submodule
  3. Vendor protobuf and abseil

Reviewers can focus on the first commit; commits 2 and 3 are mechanical.

Alternative Considered

git subtree was also considered but ruled out: it does not support selective path filtering across multiple directories (we only need a subset of files from each repo).

@thomasvl thomasvl requested review from FranzBusch and tbkka April 10, 2026 13:32
@tbkka tbkka requested a review from Lukasa April 10, 2026 16:45
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.

SPM cannot resolve package due to submodule checkout failure

1 participant