In preparation for some refactoring that I will be doing to
`ProjectFileInvalidator.findInvalidated`, make its code a bit
clearer:
* Indicate which arguments may be null.
* Don't bother calling `FileStat.statSync` on the `.packages` file
for the initial load. This makes the checks for the `.packages`
file consistent with those for other files.
* Use `DateTime.isAfter()` instead of comparing microseconds
ourselves.
While I was touching this file, I also removed some unnecessary
comparisons to `false`. (`_ManifestAssetBundle.wasBuiltOnce()` is the
only implementation I can find of `AssetBundle.wasBuiltOnce()`, and
it never returns `null`.)
* Generate projects using the new Android embedding
* Add comment about usesNewEmbedding:true
* Feedback
* Rework way to detect new embedding in new apps
* dont update last compiled time when compilation is rejected
* lets try flushing, thats a neat trick
* windows man
* Update hot_reload_test.dart
* Update hot_reload_test.dart
* Update devfs.dart
* Update hot_reload_test.dart
* Update hot_reload_test.dart
* add test that verifies when compile is good that time is updated
* Update devfs_test.dart
* Stop using build_runner for dart2js
* fixes to yield when computing hashes and to imports
* add missing await
* Update filecache_test.dart
* Fix paths in filecache test
* use file uri for import
* add test cases and configurable override
* remove test dep
* fix filepaths for windows
* test no longer failing
* fix paths for test cases
* fix typo
* address comments
* make a constant
* make filehash async and use constant
* fix silly logic error
Currently Linux builds override the default BUILD mode by putting it in
the generated config. That makes it sticky for manual runs of make,
which is inconsistent with how other platforms work.
Instead, pass the build mode as a command-line override, the same way
someone would if building directly with make. This makes the flow of
controlling the mode less confusing.
Fixes#41528
* Fix visbility of web server device when Chrome is not available
* Add tests
* Update workflow test
* Fix tests to not rely on Chrome being on the underlying machine
Adds very preliminary support for Windows and Linux plugins:
- Adds those platforms to the new plugin schema, initially supporting just a plugin class.
- Adds C++ plugin registrant generation for any Windows or Linux plugins found.
This doesn't have yet have any build tooling for either platform, so anyone using the generated registrant still needs to do manual build configuration. This reduces the manual work, however, and creates a starting point for future tooling work.
As with all Windows and Linux work at this time, this is not final, and subject to change without warning in the future (e.g., Windows could potentially switch to a C# interface, or
'linux' may change to 'gtk' or 'linux_gtk' in pubspec.yaml).