- 03 May, 2023 4 commits
-
-
LongCatIsLooong authored
I'd like to find out the `fontSize` of a `PlaceholderSpan`, and currently there doesn't seem to be a way to do `TextStyle` cascading in the framework: `InlineSpan.visitChildren` traverses the entire `InlineSpan` tree using a preorder traversal, and nodes that don't have "content" will be skipped (https://master-api.flutter.dev/flutter/painting/InlineSpan/visitChildren.html): > Walks this [InlineSpan](https://master-api.flutter.dev/flutter/painting/InlineSpan-class.html) and any descendants in pre-order and calls visitor for each span that has content. which makes it impossible to do `TextStyle` cascading in the framework: - `InlineSpan`s with a non-null `TextStyle` but has no content will be skipped - `visitChildren` doesn't directly expose the hierarchy, it only gives information about the flattened tree. This doesn't look like a breaking change, most internal customers are extending `WidgetSpan` which has a concrete implementation of the new method. Alternatively I could create a fake `ui.ParagraphBuilder` and record the `ui.TextStyle` at the top of the stack when `addPlaceholder` is called. But `ui.TextStyle` properties are not exposed to the framework.
-
Elias Yishak authored
Adding a `printOnFailure` call into the flakey test to help debug the cause for future failures. - Reference issue: https://github.com/flutter/flutter/issues/125512
-
fzyzcjy authored
Close #125385 - please see explanations there :) If you think this PR looks OK, I will polish it (e.g. copy-and-paste-and-modify the tests shown in #125385 into here and make CI pass)
-
LouiseHsu authored
Adds the ability to rename Runner.xcodeproj and Runner.xcworkspace - fixes https://github.com/flutter/flutter/issues/9767. To rename a project: 1. Open Runner.xcodeproj in Xcode 2. In the left panel, left click "Show File Inspector" <img width="441" alt="Screenshot 2023-04-17 at 11 41 07 PM" src="https://user-images.githubusercontent.com/36148254/232692957-8743742d-c3ef-42e5-833f-dff31aeb2b6a.png"> 3. In the right panel, the name of the project, "Runner", should be visible under "Identity and Type". Change the name and press enter. <img width="299" alt="Screenshot 2023-04-17 at 11 40 43 PM" src="https://user-images.githubusercontent.com/36148254/232693315-b6a71165-f5e3-4a0f-8954-2f3eee5b67cf.png"> 4. A wizard should pop up. Click Rename. <img width="573" alt="Screenshot 2023-04-17 at 11 44 01 PM" src="https://user-images.githubusercontent.com/36148254/232693381-bb9cf026-2a75-4844-b42d-ae0036ae9fdd.png"> To rename the workspace: 1. Make sure Xcode is closed. 2. Rename the .xcworkspace to your new name. If you also renamed the project 3. Reopen the .xcworkspace in Xcode. If the selected project is the old name and in red, update it to match the new project name. Tests for schemeFor were changed as with Xcode 14, in some cases the scheme will be renamed along with the project. Thus we will get the best match scheme for either the project name, or the default name Runner. However if a flavor is present, the scheme should always match the flavor.
-
- 02 May, 2023 7 commits
-
-
Loïc Sharma authored
Update `flutter doctor` to clarify that Visual Studio is needed only if creating Windows apps. Windows users targeting Android do not need to install Visual Studio.
-
Valentin Vignal authored
Align the `PopupMenu` under its child. Before: ![image](https://user-images.githubusercontent.com/32538273/234468262-beddb257-5f5a-422f-a678-c26efc52dc07.png) After: ![image](https://user-images.githubusercontent.com/32538273/234468233-3ea4d741-b04c-4012-bdd7-a36ecedc029c.png) *List which issues are fixed by this PR. You must list at least one issue.* Fixes https://github.com/flutter/flutter/issues/125474 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
-
Polina Cherkasova authored
-
Jonah Williams authored
Engine PR: https://github.com/flutter/engine/pull/41593 This must land first We should remove these, as they've been deprecated for a while. On the engine side of things, the physical model layer is the only one which requires the device pixel ratio, so deleting it will allow us to simplify the layer tree code in https://github.com/flutter/engine/pull/41559
-
Bruno Leroux authored
## Description This PR adds a new debug flag named `debugPrintKeyboardEvents` to help debugging keyboard issues. Keyboard code has some useful asserts but sometimes an assertion failure is related to the handling of previous key events. This debug flag will help understanding the flow of key events which leads to an assertion failure. ## Related Issue Fixes https://github.com/flutter/flutter/issues/125627 ## Tests Adds 1 test.
-
Casey Rogers authored
cc'ing existing conversation participants: @domesticmouse @srawlins cc'ing to request review: @goderbauer This PR makes the following constructor arguments required: 1. `FutureBuilder.future` 2. `StreamBuilderBase.stream` 3. `StreamBuilder.stream` This fixes: https://github.com/flutter/flutter/issues/83081 https://github.com/flutter/flutter/issues/125188 (dupe of 83081) This obviates: https://github.com/dart-lang/linter/issues/4309 (I suggest we skip straight to merging this PR as this should be a low impact breaking change-assuming few to no devs are intentionally using the builders without their relevant arguments, however we could always merge 4309 first and then this) https://github.com/flutter/flutter/pull/83101 (The above PR required that at least one of future and initial data be non-null, this is undesirable as there are plenty of valid reasons to have both arguments be null) See above issues for a deeper dive, but here is a summary: It is very easy for a developer to forget to specify `future` or `stream` when using the respective `*Builder` widgets. This produces a non-obvious failure where the UI sits in a "no data yet received" state. It is easy for a dev to misinterpret this as the async work backing the future/stream hanging and they thus waste a lot of time trying to debug the async work. As such, we should require these two constructor arguments to make it impossible/much harder for devs to make this time-wasting mistake. This is a breaking change. However, it should break only a small number of active projects given that using a builder without specifying `future` or `stream` seems highly niche. The only place I've found non-accidental examples of this is in widget tests where you're calling `pumpWidget` with and without these arguments to test `*Builder.didUpdateWidget`'s behavior. In this and similar cases, it is a trivial fix to add `future: null`/`stream: null`. *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
-
Jenn Magder authored
1. Add iOS and macOS migration to mark "last upgraded" Xcode version to 14.3 to prevent `Update to recommended settings` warning. 2. Update iOS and macOS templates to same. 3. Update iOS template to set `BuildIndependentTargetsInParallel` to YES as suggested. I didn't add a migration for this since it seems like a minor optimization and I don't think it's worth a potentially botched/corrupted migration. 4. Run all example/integration test project to see migrator work. 5. Add some missing test projects to the build shard since I noticed they were missing and I had to build those manually outside `SHARD=build_tests`. Fixes https://github.com/flutter/flutter/issues/125817 See https://github.com/flutter/flutter/pull/90304 for Xcode 13 example.
-
- 01 May, 2023 6 commits
-
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
Andrew Kolos authored
Fixes #125782. Would be nice to figure out a way to put this under test.
-
Taha Tesser authored
fixes https://github.com/flutter/flutter/issues/124195 This introduces `TabBar.tabAlignment` while keeping the default alignment for both M2 and M3.
-
Viren Khatri authored
design doc: https://docs.flutter.dev/go/permissible-slider-interaction closes #113370 open questions: - No, as `SliderInteraction.none` doesn't exist anymore. - Yes (done) - Yes. - SliderInteraction - SliderAction - Slider.allowedInteraction - Slider.permissibleInteraction - Slider.interaction - Slider.allowedAction - Slider.permittedAction
-
Andrew Kolos authored
[tools] Apply Android Studio version detection logic to explicitly configured installation directory (`flutter config --android-studio-dir`) (#125596) Fixes #121468 (when considered along with https://github.com/flutter/flutter/pull/125247). This applies the pre-existing Android Studio version detection logic to the install configured with `flutter config android-studio-dir`.
- 29 Apr, 2023 2 commits
-
-
Dan Field authored
We were failing to dispose of animation controllers created by `animateTo` when `didUpdateWidget` happens and we null out the `_attachedController`. This would cause the listener added here to fail on a null assertion: https://github.com/flutter/flutter/blob/fef41cfce0e3582907f6846cf2385470bb17ecd1/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart#L135 Without the code change, the test ends up throwing exceptions related to that line. I don't have a great way to verify what this does visually though, hoping for help on that from internal customer. b/279930163 See cl/527868355 as well. Fixes https://github.com/flutter/flutter/issues/125709
-
Anas authored
`package` template should not create platform folders. This happen cause by default all platforms are supported and tools didn't distinguish between package and other template, which makes all platforms are true for below code, https://github.com/flutter/flutter/blob/d186792c00f61149916f685e2975300342f64749/packages/flutter_tools/lib/src/project.dart#L374-L380 fixes: #119844 which make #116320 makes invalid. As for why tools created deprecated `Android Embedding`, `appManifestFile` does not exist for `package` template, which make below code to trigger, https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/project.dart#L768-L770 This does not happen with `module` and `plugin` as it have specific condition check for them. I try to reproduce it with `app` template but didn't succeed
-
- 28 Apr, 2023 11 commits
-
-
Tae Hyung Kim authored
This widget implements the ability to place slivers side by side in a single ScrollView so that they scroll together. The design document for `SliverCrossAxisGroup` can be found [here](https://docs.google.com/document/d/1e2bdLSYV_Dq2h8aHpF8mda67aOmZocPiMyjCcTTZhTg/edit?resourcekey=0-Xj2X2XA3CAFae22Sv3hAiA). Fixes #56756.
-
yaakovschectman authored
~Update the windows app template and migration to use `CMP0135` when cmake version is >= 3.24.~ Update app templates' and examples' CMakeLists.txt to use `cmake_policy(VERSION`. https://github.com/flutter/packages/pull/3828 should obviate the need for a migration. Addresses https://github.com/flutter/flutter/issues/116866 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [ ] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat
-
Bruno Leroux authored
## Description This PR adds a new channel to query the engine keyboard state. See https://github.com/flutter/flutter/issues/87391#issuecomment-1228975571 for motivation. ## Related Issue Framework side implementation for https://github.com/flutter/flutter/issues/87391. Once approved the framework will try to query the initial keyboard state from the engine. PRs will be needed on the engine side to answer the framework query. ## Tests Adds 1 test.
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
Qun Cheng authored
`Checkbox.fillColor` should be applied to checkbox's background color when it is unchecked. (#125643)
-
Flutter GitHub Bot authored
This PR was generated by `flutter update-packages --force-upgrade`.
-
Phlippie Bosman authored
Fixes a [grocer's apostrophe](https://www.grammar-monster.com/lessons/apostrophe_error_with_plurals.htm). Apostrophes are not used to indicate plurals, and this incorrect usage in the documentation tripped me up, so I figured I could submit a quick correction :)
-
fzyzcjy authored
Background: I am adding logging to things like dialogs, bottom sheets and menus. Then I realized that, showMenu does not allow users to provide RouteSettings, while showDialog and showModalBottomSheet both allow. Therefore, IMHO a consistent API design may need to add this to showMenu. I will add tests if this proposal looks OK :)
-
Viren Khatri authored
Fixes https://github.com/flutter/flutter/issues/123218
-
Reid Baker authored
Testing AGP 8.0 is not possible with the existing infra because of the java version on CI machines. See https://github.com/flutter/flutter/issues/125325 for more details. https://github.com/flutter/flutter/issues/125181
-
arvin authored
-
- 27 Apr, 2023 8 commits
-
-
Jenn Magder authored
Looks like CocoaPods 1.12.1 is incompatible with < Xcode 14 due to https://github.com/CocoaPods/CocoaPods/pull/11828 (see https://github.com/flutter/flutter/issues/123890 for context). Bump the minimum Xcode version allowed by tooling to 14, released September 2022. ``` [!] Xcode - develop for iOS and macOS (Xcode 13.4) â Flutter requires Xcode 14 or higher. Download the latest version or update via the Mac App Store. ``` Fixes https://github.com/flutter/flutter/issues/125286. Previous bump at #97746.
-
gmackall authored
Add migrator to upgrade gradle version when conflict with Android Studio bundled Java version is detected (#124085) This PR adds an android project migrator that checks the version of android studio and the version of gradle for conflicts, and upgrades to 7.4 if a conflict is detected. For more detail about the particular conflict, see https://github.com/flutter/flutter/issues/122376. The PR also upgrades older gradle versions being used in integration testing to 7.4. Fixes/related to: https://github.com/flutter/flutter/issues/122376 and https://github.com/flutter/flutter/issues/123636
-
Christopher Fujino authored
Better debugging to investigate: https://github.com/flutter/flutter/issues/125241 When the `test/integration.shard/break_on_framework_exceptions_test.dart` test times out, log out verbose logging to give clues as to why it did not complete. From one local run it looks like the test runner is failing to load a test file (when I checked the path locally, the file was there, and re-running the `flutter test ...` invocation succeeded--in that the app threw an exception): ``` 14:12 +26 -1: breaks when StatefulWidget.build throws [E] Timed out launching `flutter test` package:matcher fail test/integration.shard/break_on_framework_exceptions_test.dart 623:11 _timeoutAfter.<fn> 250s Spawning flutter [test, --disable-service-auth-codes, --machine, --start-paused, test/test.dart] in /tmp/flutter_break_on_framework_exceptions.GUJDAZ 251s <=stdout= {"protocolVersion":"0.1.1","runnerVersion":null,"pid":25763,"type":"start","time":0} <=stdout= {"suite":{"id":0,"platform":"vm","path":"/tmp/flutter_break_on_framework_exceptions.GUJDAZ/test/test.dart"},"type":"suite","time":0} <=stdout= {"test":{"id":1,"name":"loading /tmp/flutter_break_on_framework_exceptions.GUJDAZ/test/test.dart","suiteID":0,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":0} 258s <=stdout= {"testID":1,"error":"Exception: the Dart compiler exited unexpectedly.","stackTrace":"package:flutter_tools/src/base/common.dart 10:3 throwToolExit\npackage:flutter_tools/src/compile.dart 813:13 DefaultResidentCompiler._compile.<fn>\ndart:async/zone.dart 1391:47 _rootRun\ndart:async/zone.dart 1301:19 _CustomZone.run\ndart:async/zone.dart 1209:7 _CustomZone.runGuarded\ndart:async/stream_impl.dart 392:13 _BufferingStreamSubscription._sendDone.sendDone\ndart:async/stream_impl.dart 402:7 _BufferingStreamSubscription._sendDone\ndart:async/stream_impl.dart 291:7 _BufferingStreamSubscription._close\ndart:async/stream_transformers.dart 87:11 _SinkTransformerStreamSubscription._close\ndart:async/stream_transformers.dart 21:11 _EventSinkWrapper.close\ndart:convert/string_conversion.dart 241:11 _StringAdapterSink.close\ndart:convert/line_splitter.dart 141:11 _LineSplitterSink.close\ndart:async/stream_transformers.dart 132:24 _SinkTransformerStreamSubscription._handleDone\ndart:async/zone.dart 1391:47 _rootRun\ndart:async/zone.dart 1301:19 _CustomZone.run\ndart:async/zone.dart 1209:7 _CustomZone.runGuarded\ndart:async/stream_impl.dart 392:13 _BufferingStreamSubscription._sendDone.sendDone\ndart:async/stream_impl.dart 402:7 _BufferingStreamSubscription._sendDone\ndart:async/stream_impl.dart 291:7 _BufferingStreamSubscription._close\ndart:async/stream_transformers.dart 87:11 _SinkTransformerStreamSubscription._close\ndart:async/stream_transformers.dart 21:11 _EventSinkWrapper.close\ndart:convert/string_conversion.dart 241:11 _StringAdapterSink.close\ndart:convert/string_conversion.dart 295:20 _Utf8ConversionSink.close\ndart:convert/chunked_conversion.dart 78:18 _ConverterStreamEventSink.close\ndart:async/stream_transformers.dart 132:24 _SinkTransformerStreamSubscription._handleDone\ndart:async/zone.dart 1391:47 _rootRun\ndart:async/zone.dart 1301:19 _CustomZone.run\ndart:async/zone.dart 1209:7 _CustomZone.runGuarded\ndart:async/stream_impl.dart 392:13 _BufferingStreamSubscription._sendDone.sendDone\ndart:async/stream_impl.dart 402:7 _BufferingStreamSubscription._sendDone\ndart:async/stream_impl.dart... <=stdout= {"testID":1,"error":"Failed to load \"/tmp/flutter_break_on_framework_exceptions.GUJDAZ/test/test.dart\": Compilation failed for testPath=/tmp/flutter_break_on_framework_exceptions.GUJDAZ/test/test.dart","stackTrace":"","isFailure":false,"type":"error","time":7518} <=stdout= {"testID":1,"result":"error","skipped":false,"hidden":false,"type":"testDone","time":7521} <=stdout= {"count":1,"time":7526,"type":"allSuites"} <=stdout= {"success":false,"type":"done","time":7529} 259s Process exited (1) 371s Expecting test.startedProcess event [+ 95] <=stdout= {"suite":{"id":0,"platform":"vm","path":"/tmp/flutter_break_on_framework_exceptions.GUJDAZ/test/test.dart"},"type":"suite","time":0} [+ 95] <=stdout= {"test":{"id":1,"name":"loading /tmp/flutter_break_on_framework_exceptions.GUJDAZ/test/test.dart","suiteID":0,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":0} [+ 7600] <=stdout= {"testID":1,"error":"Exception: the Dart compiler exited unexpectedly.","stackTrace":"package:flutter_tools/src/base/common.dart 10:3 throwToolExit\npackage:flutter_tools/src/compile.dart 813:13 DefaultResidentCompiler._compile.<fn>\ndart:async/zone.dart 1391:47 _rootRun\ndart:async/zone.dart 1301:19 _CustomZone.run\ndart:async/zone.dart 1209:7 _CustomZone.runGuarded\ndart:async/stream_impl.dart 392:13 _BufferingStreamSubscription._sendDone.sendDone\ndart:async/stream_impl.dart 402:7 _BufferingStreamSubscription._sendDone\ndart:async/stream_impl.dart 291:7 _BufferingStreamSubscription._close\ndart:async/stream_transformers.dart 87:11 _SinkTransformerStreamSubscription._close\ndart:async/stream_transformers.dart 21:11 _EventSinkWrapper.close\ndart:convert/string_conversion.dart 241:11 _StringAdapterSink.close\ndart:convert/line_splitter.dart 141:11 _LineSplitterSink.close\ndart:async/stream_transformers.dart 132:24 _SinkTransformerStreamSubscription._handleDone\ndart:async/zone.dart 1391:47 _rootRun\ndart:async/zone.dart 1301:19 _CustomZone.run\ndart:async/zone.dart 1209:7 _CustomZone.runGuarded\ndart:async/stream_impl.dart 392:13 _BufferingStreamSubscription._sendDone.sendDone\ndart:async/stream_impl.dart 402:7 _BufferingStreamSubscription._sendDone\ndart:async/stream_impl.dart 291:7 _BufferingStreamSubscription._close\ndart:async/stream_transformers.dart 87:11 _SinkTransformerStreamSubscription._close\ndart:async/stream_transformers.dart 21:11 _EventSinkWrapper.close\ndart:convert/string_conversion.dart 241:11 _StringAdapterSink.close\ndart:convert/string_conversion.dart 295:20 _Utf8ConversionSink.close\ndart:convert/chunked_conversion.dart 78:18 _ConverterStreamEventSink.close\ndart:async/stream_transformers.dart 132:24... Expecting test.startedProcess event is taking longer than usual... ```
-
Dan Field authored
See https://docs.flutter.dev/reference/supported-platforms I don't expect this to break anything, but if it does we can revert and figure out what else needs to happen first. Without this change, engine changes upstream will get flagged in default flutter created apps.
-
Taha Tesser authored
fixes https://github.com/flutter/flutter/issues/125619 ### Before ![Screenshot 2023-04-27 at 14 08 05](https://user-images.githubusercontent.com/48603081/234853490-0a9c4e18-20aa-40f7-a6b0-efb278f515eb.png) ### After ![Screenshot 2023-04-27 at 14 00 44](https://user-images.githubusercontent.com/48603081/234853470-c69c20d3-124d-438a-9312-2d17492c5606.png)
-
fzyzcjy authored
Close https://github.com/flutter/flutter/issues/125600
-
Pierre-Louis authored
This PR constrains M3 bottom sheets to 640dp max width by default. `constraints` can be used to provide different `minWidth` and `maxWidth`. This is not a breaking change per the breaking change policy. Part of https://github.com/flutter/flutter/issues/118619 Part of https://github.com/flutter/flutter/issues/111448 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat
-
Kevin Moore authored
Internal usage dropped in http://cl/527348621
-
- 26 Apr, 2023 1 commit
-
-
Tae Hyung Kim authored
Refactor "gen-l10n" command to use same code path when "l10n.yaml" is present or not present (#125429) I think this is a long needed change to the `gen-l10n` command. Essentially, the arguments to `flutter gen-l10n` can be provided by two different methods: via command line arguments or via the `l10n.yaml` file. The existence of a `l10n.yaml` file causes the latter approach to take precedence. However, currently, there's several differences in how the two approaches are handled, and most of the default arguments are all over the place, causing unexpected issues such as #120457 or #120023. This PR refactors the command so that * `LocalizationOptions` are more consistent with the actual argument names/yaml options. * All default values are determined in `LocalizationOptions`'s constructor (or in `argParser.addOption(...)` in the case a boolean value needs to be explicitly true). * New `parseLocalizationsOptionsFromCommand` function to parse arguments. * Parse `LocalizationOptions` at the beginning of `runCommand()` and pass it to `generateLocalizations`. Fixes #120023.
-
- 25 Apr, 2023 1 commit
-
-
Tae Hyung Kim authored
Currently, the code doesn't properly handle strings which contain dollar signs. The return expression for the generated localization function is computed by `generateReturnExpr` which concatenates several strings, which are either interpolated placeholders, interpolated function calls, or normal strings, but we didn't properly escape dollar signs before sending normal strings to `generateReturnExpr`. Fixes #125461.
-