Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

do not include entries from --dart-define-from-file files in the gradle config or environment during build #136865

Merged
merged 2 commits into from Oct 19, 2023

Conversation

andrewkolos
Copy link
Contributor

Fixes #130599 and #136444

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

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

@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Oct 19, 2023
@andrewkolos andrewkolos marked this pull request as ready for review October 19, 2023 05:53
Copy link
Member

@christopherfujino christopherfujino left a comment

Choose a reason for hiding this comment

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

LGTM

@andrewkolos andrewkolos added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 19, 2023
@auto-submit auto-submit bot merged commit 25bed91 into flutter:master Oct 19, 2023
116 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 20, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 20, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Oct 20, 2023
flutter/flutter@c2bd2c1...0883cb2

2023-10-20 engine-flutter-autoroll@skia.org Roll Packages from 09c6b11 to be915be (6 revisions) (flutter/flutter#136964)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from de780872533c to 9b88ff83fd82 (4 revisions) (flutter/flutter#136959)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1e107c21328a to de780872533c (1 revision) (flutter/flutter#136952)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from fd33e7e75eac to 1e107c21328a (1 revision) (flutter/flutter#136949)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9dd59f7fcff9 to fd33e7e75eac (1 revision) (flutter/flutter#136942)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from cc3356c0e68f to 9dd59f7fcff9 (1 revision) (flutter/flutter#136935)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 504a99d93f42 to cc3356c0e68f (2 revisions) (flutter/flutter#136934)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 503b84295462 to 504a99d93f42 (3 revisions) (flutter/flutter#136930)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3b0469b0c718 to 503b84295462 (1 revision) (flutter/flutter#136928)
2023-10-19 katelovett@google.com Revert "[Velocity Tracker] Fix: Issue 97761: Flutter Scrolling does not match iOS; inadvertent scrolling when user lifts up finger" (flutter/flutter#136905)
2023-10-19 christopherfujino@gmail.com [flutter_tools] move build_preview_test from commands/permeable to integration shard (flutter/flutter#136912)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from b40042ebb95b to 3b0469b0c718 (2 revisions) (flutter/flutter#136922)
2023-10-19 andrewrkolos@gmail.com do not include entries from `--dart-define-from-file` files in the gradle config or environment during build (flutter/flutter#136865)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from bfd2ffb9a8bc to b40042ebb95b (2 revisions) (flutter/flutter#136915)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9d49175618f5 to bfd2ffb9a8bc (2 revisions) (flutter/flutter#136910)
2023-10-19 36861262+QuncCccccc@users.noreply.github.com Allow users to customize search algorithm in `DropdownMenu` (flutter/flutter#136848)
2023-10-19 21270878+elliette@users.noreply.github.com Upgrade Flutter deps to pull in latest vm_service and dwds (flutter/flutter#136734)
2023-10-19 15619084+vashworth@users.noreply.github.com [Reland] Skip injecting Bonjour settings when port publication is disabled (flutter/flutter#136842)
2023-10-19 sokolovskyi.konstantin@gmail.com _DefaultTabControllerState should dispose all created TabContoller instances. (flutter/flutter#136608)
2023-10-19 gspencergoog@users.noreply.github.com Reland: "Add code for updating `focusedChild` when removing grandchildren from scope" (flutter/flutter#136899)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 418dce4feaf7 to 9d49175618f5 (1 revision) (flutter/flutter#136901)
2023-10-19 34871572+gmackall@users.noreply.github.com Unmark linux_android platform_channels_benchmarks as flaky (flutter/flutter#136838)
2023-10-19 engine-flutter-autoroll@skia.org Roll Packages from 14aa69e to 09c6b11 (4 revisions) (flutter/flutter#136896)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 28cb2508b8e0 to 418dce4feaf7 (2 revisions) (flutter/flutter#136895)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC rmistry@google.com,stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
HugoOlthof pushed a commit to moneybird/packages that referenced this pull request Dec 13, 2023
…r#5192)

flutter/flutter@c2bd2c1...0883cb2

2023-10-20 engine-flutter-autoroll@skia.org Roll Packages from 09c6b11 to be915be (6 revisions) (flutter/flutter#136964)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from de780872533c to 9b88ff83fd82 (4 revisions) (flutter/flutter#136959)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1e107c21328a to de780872533c (1 revision) (flutter/flutter#136952)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from fd33e7e75eac to 1e107c21328a (1 revision) (flutter/flutter#136949)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9dd59f7fcff9 to fd33e7e75eac (1 revision) (flutter/flutter#136942)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from cc3356c0e68f to 9dd59f7fcff9 (1 revision) (flutter/flutter#136935)
2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 504a99d93f42 to cc3356c0e68f (2 revisions) (flutter/flutter#136934)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 503b84295462 to 504a99d93f42 (3 revisions) (flutter/flutter#136930)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3b0469b0c718 to 503b84295462 (1 revision) (flutter/flutter#136928)
2023-10-19 katelovett@google.com Revert "[Velocity Tracker] Fix: Issue 97761: Flutter Scrolling does not match iOS; inadvertent scrolling when user lifts up finger" (flutter/flutter#136905)
2023-10-19 christopherfujino@gmail.com [flutter_tools] move build_preview_test from commands/permeable to integration shard (flutter/flutter#136912)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from b40042ebb95b to 3b0469b0c718 (2 revisions) (flutter/flutter#136922)
2023-10-19 andrewrkolos@gmail.com do not include entries from `--dart-define-from-file` files in the gradle config or environment during build (flutter/flutter#136865)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from bfd2ffb9a8bc to b40042ebb95b (2 revisions) (flutter/flutter#136915)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9d49175618f5 to bfd2ffb9a8bc (2 revisions) (flutter/flutter#136910)
2023-10-19 36861262+QuncCccccc@users.noreply.github.com Allow users to customize search algorithm in `DropdownMenu` (flutter/flutter#136848)
2023-10-19 21270878+elliette@users.noreply.github.com Upgrade Flutter deps to pull in latest vm_service and dwds (flutter/flutter#136734)
2023-10-19 15619084+vashworth@users.noreply.github.com [Reland] Skip injecting Bonjour settings when port publication is disabled (flutter/flutter#136842)
2023-10-19 sokolovskyi.konstantin@gmail.com _DefaultTabControllerState should dispose all created TabContoller instances. (flutter/flutter#136608)
2023-10-19 gspencergoog@users.noreply.github.com Reland: "Add code for updating `focusedChild` when removing grandchildren from scope" (flutter/flutter#136899)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 418dce4feaf7 to 9d49175618f5 (1 revision) (flutter/flutter#136901)
2023-10-19 34871572+gmackall@users.noreply.github.com Unmark linux_android platform_channels_benchmarks as flaky (flutter/flutter#136838)
2023-10-19 engine-flutter-autoroll@skia.org Roll Packages from 14aa69e to 09c6b11 (4 revisions) (flutter/flutter#136896)
2023-10-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 28cb2508b8e0 to 418dce4feaf7 (2 revisions) (flutter/flutter#136895)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC rmistry@google.com,stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
@sbatezat
Copy link

sbatezat commented Feb 21, 2024

Just want to mention, as Flutter team is locking every subject related to this big breaking change on GitHub and I'm not using Discord.

The name of this MR is wrong. @andrewkolos you do not have removed entries set with --dart-define-from-file, they are still there, under the 'dart-defines' property, encoded in Base64. Same on Apple side.

Proof of concept:

def dartEnvironmentVariables = [];
if (project.hasProperty('dart-defines')) {
    dartEnvironmentVariables = project.property('dart-defines')
        .split(',')
        .collectEntries { entry ->
            def pair = new String(entry.decodeBase64(), 'UTF-8').split('=')
            [(pair.first()): pair.last()]
        }
}

However, I agree that it was not normal to have different behavior between --dart-define && --dart-define-from-file. I have warned @TatsuUkraine about it here #114297 (comment) but my comment has not been taken into consideration.... many months later here we are.

There is discussions about adding a new key for native build, this is so ridiculous as:

  • you only have to revert this commit or document the extraction done above...
  • We want these properties available on both native & dart

cc @christopherfujino please take this into consideration

@andrewkolos
Copy link
Contributor Author

andrewkolos commented Feb 21, 2024

Thanks for your concerns.

  • you only have to revert this commit or document the extraction done above...
  • We want these properties available on both native & dart

This has been already discussed at great length both on GitHub and offline amongst Flutter contributors. There are no plans to revert this change. Pinging folks is unlikely to change that. I'm also not inclined to document the above workaround. The existence of the definitions in these base64 encoded strings is an undocumented implementation detail (much like the behavior this PR removed). As I've mentioned before, this is not a breaking change per the Flutter project's breaking change policy, although I do believe this change should have been announced (which I've already conceded on another thread on this topic.)

Environment definitions can be set without the need for something like --dart-define-from-file, as I assume folks were already doing before the introduction of --dart-define-from-file. I do understand that it requires extra work to make sure these definitions are synchronized with the ones provided to --dart-define/--dart-define-from-file, but I imagine this is a sufficient workaround.

@flutter flutter locked as resolved and limited conversation to collaborators Feb 21, 2024
@andrewkolos
Copy link
Contributor Author

The tracking issue for re-implementing this functionality is at #139289.

@andrewkolos andrewkolos deleted the fix-dart-defines-from-file branch April 29, 2024 18:17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
autosubmit Merge PR when tree becomes green via auto submit App tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

--dart-define-from-file entries are passed as individual properties (-P) to gradle
3 participants