Youssef Shamass 927f9ba289
[ Tool ] Assemble: "Improper" validation error when dealing with base64 encoded dart-define value (#178737)
addressing a regression from #172510 that caused the assemble command to
fail in the validation phase when a dart-define was passed as a
base64-encoded value.

Example command: 
```
flutter --verbose assemble --no-version-check \
  --output=<build_output_path>/ \
  -dTargetPlatform=ios \
  -dTargetFile=lib/main.dart \
  -dBuildMode=release \
  -dConfiguration=Debug \
  -dIosArchs=arm64 \
  -dSdkRoot=<xcode_sdk_path>/iPhoneOS.sdk \
  -dSplitDebugInfo= \
  -dTreeShakeIcons=false \
  -dTrackWidgetCreation=true \
  -dDartObfuscation=false \
  -dAction=install \
  -dFrontendServerStarterPath= \
  --ExtraGenSnapshotOptions= \
  --DartDefines=ZW52PXFh \
  --ExtraFrontEndOptions= \
  -dSrcRoot=<project_root> \
  -dTargetDeviceOSVersion= \
  -dCodesignIdentity=<codesign_identity> \
  release_ios_bundle_flutter_assets
 ```

Partially addressing: https://github.com/flutter/flutter/issues/178452

## 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.
- [ ] 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] I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
- [x] All existing and new tests are passing.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Ben Konyi <bkonyi@google.com>
2025-12-12 02:28:21 +00:00
..