Skip to content

[tool] Use flutter pub for packages that depend on jni - #13087

Merged
auto-submit[bot] merged 3 commits into
flutter:mainfrom
tarrinneal:flutter-pub-if-jni
Oct 1, 2026
Merged

auto-submit[bot] merged 3 commits into
flutter:mainfrom
tarrinneal:flutter-pub-if-jni

Conversation

@tarrinneal

@tarrinneal tarrinneal commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Updates pub_utils.dart to use flutter pub instead of dart pub when a non-Flutter package (or its example) depends on jni in dependencies or dev_dependencies.

package:jni declares a flutter constraint in its pubspec.yaml environment section, which causes dart pub (including dart pub publish) to fail version solving when FLUTTER_ROOT is not set in the environment—even for non-Flutter Dart packages like pigeon that only depend on jni in dev_dependencies and run unit tests with dart test. Scoping this check to pub_utils.dart ensures pub commands use flutter pub while dart-test continues to use dart run test.

If more packages run across this problem, they will need to be added to the list to force the flutter pub command.

Fixes flutter/flutter#192709

Pre-Review Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2

@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Oct 1, 2026

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request updates the flutter_plugin_tools to ensure that packages depending on jni are correctly identified as requiring flutter pub. It introduces a helper function _requiresFlutterForPub to check for jni in dependencies or dev_dependencies, adds relevant tests, and updates the package version. A suggestion was provided to optimize the dependency check by using containsKey for better performance.

Comment thread script/tool/lib/src/common/pub_utils.dart Outdated
@tarrinneal tarrinneal added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 1, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 1, 2026
@auto-submit

auto-submit Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/packages/13087, because - The status or check suite Dashboard Checks has failed. Please fix the issues identified (or deflake) before re-applying this label.

@tarrinneal tarrinneal added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 1, 2026
@auto-submit
auto-submit Bot merged commit 83da6fb into flutter:main Oct 1, 2026
13 checks passed
jesswrd pushed a commit to jesswrd/flutter that referenced this pull request Oct 2, 2026
…er#193711)

flutter/packages@d5ec6db...5620e65

2026-10-02 [email protected] [material_ui]
Migrate M3 Menu template to use new gen_defaults
(flutter/packages#13057)
2026-10-02 [email protected]
[material_ui] Repaint NavigationIndicator when the selection changes
without pointer input (flutter/packages#13010)
2026-10-01 [email protected] [tool] Use flutter pub for packages that
depend on jni (flutter/packages#13087)
2026-10-01 [email protected] [material_ui]
Migrate M3 snackbar defaults to new gen_defaults
(flutter/packages#13009)
2026-10-01 [email protected] Manual roll Flutter (stable)
from 6a19cca to 5fc3468 (6 revisions) (flutter/packages#13105)
2026-10-01 [email protected] Manual roll Flutter from
d649d2b to e89fd0a (27 revisions) (flutter/packages#13104)
2026-10-01 [email protected] [webview_flutter]
Add gesture blocking policy to WebKitWebViewWidgetCreationParams
(flutter/packages#12496)
2026-10-01 [email protected] [material_ui]
Update Material tokens to Material version 38.2.83
(flutter/packages#13082)
2026-10-01 [email protected] [material_ui] Migrate
MaterialApp API doc snippets to {@example} and add unit tests (batch 6)
(flutter/packages#13021)
2026-10-01 [email protected] [material_ui] Migrate
AppBar, SliverAppBar, BottomAppBar, and Scaffold API doc snippets to
{@example} (batch 7) (flutter/packages#13023)
2026-10-01 [email protected] [various] Update Robolectric to 4.17
(flutter/packages#13041)
2026-10-01 [email protected] [pigeon] pin native interop related dev
deps and update some docs (flutter/packages#13103)
2026-10-01 [email protected] [tool] Add more documentation
(flutter/packages#13063)

If this roll has caused a breakage, revert this CL and set the roller
to dry run mode using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[packages] Dart packages with Flutter-requiring dev dependencies fail to publish

2 participants