• Daco Harkes's avatar
    Reland "Move native assets to `isolated/` directory" (#143055) · 4e70bfae
    Daco Harkes authored
    Reland of https://github.com/flutter/flutter/pull/142709.
    
    The revert of the revert is in the first commit, the fix in the commit on top.
    
    The move of the fakes for packages/flutter_tools/test/general.shard/resident_runner_test.dart was erroneous before, as it was trying to use setters instead of a private field. This PR changes the private `_devFS` field in the fake to be a public `fakeDevFS` in line with other fakes.
    
    ## Original PR description
    
    Native assets in other build systems are not built with `package:native_assets_builder` invoking `build.dart` scripts. Instead all packages have their own blaze rules. Therefore we'd like to not depend on `package:native_assets_builder` from flutter tools in g3 at all.
    
    This PR aims to move the imports of `native_assets_builder` and `native_assets_cli` into the `isolated/` directory and into the files with a `main` function that are not used in with other build systems.
    
    In order to be able to remove all imports in files used by other build systems, two new interfaces are added `HotRunnerNativeAssetsBuilder` and `TestCompilerNativeAssetsBuilder`. New parameters are then piped all the way through from the entry points:
    
    * bin/fuchsia_tester.dart
    * lib/executable.dart
    
    The build_system/targets dir is already excluded in other build systems.
    
    So, after this PR only the two above files and build_system/targets import from `isolated/native_assets/` and only `isolated/native_assets/` import `package:native_assets_cli` and `package:native_assets_builder`.
    
    Context:
    
    * https://github.com/flutter/flutter/issues/142041
    4e70bfae
hot_test.dart 22.9 KB