Move pigeon to dev_dependencies in geocoding_darwin - #315
Open
ericgriffin wants to merge 1 commit into
Open
Conversation
pigeon is a build-time code generator. Nothing under lib/ imports package:pigeon: the generated lib/src/geocoding/geocoding.g.dart imports only dart:* and package:flutter/*, and the whole lib/ tree references just package:flutter and package:geocoding_platform_interface. Only pigeons/clgeocoder.dart, the input schema, imports it, and a dev_dependency covers that. Declaring it as a regular dependency propagated pigeon's own constraints to every consuming application. geocoding_android already declares it under dev_dependencies; this brings the Darwin package in line. Fixes Baseflow#304.
There was a problem hiding this comment.
Pull request overview
This PR updates the geocoding_darwin federated implementation package to treat pigeon as a build-time tool rather than a runtime dependency, preventing pigeon's (and its analyzer) constraints from propagating into consuming applications.
Changes:
- Bumps
geocoding_darwinversion to1.0.3. - Moves
pigeon: ^26.1.2fromdependenciestodev_dependencies. - Adds a
1.0.3changelog entry describing the dependency-scope change and rationale.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| geocoding_darwin/pubspec.yaml | Moves pigeon to dev_dependencies and bumps the package version to 1.0.3. |
| geocoding_darwin/CHANGELOG.md | Documents the 1.0.3 change and why it prevents downstream version-solver conflicts. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Moves
pigeonfromdependenciestodev_dependenciesingeocoding_darwin, bringing it in line withgeocoding_android, which already declares it that way.pigeon is a build-time code generator and is not used at runtime here:
lib/importspackage:pigeon. The generatedlib/src/geocoding/geocoding.g.dartimports onlydart:async,dart:io,dart:typed_data,package:flutter/foundation.dart,package:flutter/services.dartandpackage:flutter/widgets.dart. Across the wholelib/tree the only package imports arepackage:flutterandpackage:geocoding_platform_interface.pigeons/clgeocoder.dart, the input schema, which adev_dependencycovers.Because it was a regular dependency, pigeon's own constraints propagated to every application depending on
geocoding5.x. Two effects, the second of which reaches apps that never mention pigeon at all:analyzerceiling. Every released pigeon constrainsanalyzer >=10.0.0 <13.0.0(26.3.4, 27.0.0 and 27.3.0 alike), so consumers are held below analyzer 13 and cannot upgrade packages that require it, such asriverpod_generator4.0.6+,drift_dev2.34.5,mockito5.8.1 orbuild_runner2.16. This is not resolvable downstream: bumping pigeon does not help since every version carries the same range, and adependency_overridesentry cannot lift a ceiling they all share.Fixes #304.
Verification
flutter pub getandflutter analyzeboth clean ingeocoding_darwin, includingpigeons/clgeocoder.dart(pigeon still resolves for it as a dev dependency).dart run pigeon --input pigeons/clgeocoder.dartstill runs and regenerates both outputs, confirming code generation is unaffected.One aside, deliberately left out of this PR: regenerating shows the committed outputs were produced by Pigeon v26.1.2 while
^26.1.2now resolves to v26.3.4, sogeocoding.g.dartandGeocodingLibrary.g.swiftcurrently drift from what the current generator emits. That is pre-existing and unrelated, so I have not included the regenerated files here. Happy to open a separate PR for it if useful.Similarly,
dart format .reformats three pre-existing files (geocoding.g.dart,geocoding_darwin.dart,pigeons/clgeocoder.dart). Those are unrelated to this change and are not included, so this PR stays a two-file diff.Pre-launch Checklist
pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or this PR does not need version changes.CHANGELOG.mdwith a new## x.y.zsection that matches the version inpubspec.yaml///).main.dart format .and committed any changes.flutter analyzeand fixed any errors.