Wire dart2js through flutter tool, add compilation test (#27668)
diff --git a/dev/bots/test.dart b/dev/bots/test.dart index 41dd11e..947d0d02 100644 --- a/dev/bots/test.dart +++ b/dev/bots/test.dart
@@ -167,10 +167,22 @@ await _flutterBuildApk(path); await _flutterBuildIpa(path); } + await _flutterBuildDart2js(path.join('dev', 'integration_tests', 'web')); print('${bold}DONE: All build tests successful.$reset'); } +Future<void> _flutterBuildDart2js(String relativePathToApplication) async { + print('Running Dart2JS build tests...'); + await runCommand(flutter, + <String>['build', 'web', '-v'], + workingDirectory: path.join(flutterRoot, relativePathToApplication), + expectNonZeroExit: false, + timeout: _kShortTimeout, + ); + print('Done.'); +} + Future<void> _flutterBuildAot(String relativePathToApplication) async { print('Running AOT build tests...'); await runCommand(flutter,
diff --git a/dev/integration_tests/web/lib/main.dart b/dev/integration_tests/web/lib/main.dart new file mode 100644 index 0000000..49c544c --- /dev/null +++ b/dev/integration_tests/web/lib/main.dart
@@ -0,0 +1,13 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/widgets.dart'; + +void main() { + runApp(Center( + // Can remove when https://github.com/dart-lang/sdk/issues/35801 is fixed. + // ignore: prefer_const_constructors + child: Text('Hello, World', textDirection: TextDirection.ltr), + )); +}
diff --git a/dev/integration_tests/web/pubspec.yaml b/dev/integration_tests/web/pubspec.yaml new file mode 100644 index 0000000..8749907 --- /dev/null +++ b/dev/integration_tests/web/pubspec.yaml
@@ -0,0 +1,17 @@ +name: web_integration +description: Integration test for web compilation. + +environment: + # The pub client defaults to an <2.0.0 sdk constraint which we need to explicitly overwrite. + sdk: ">=2.0.0-dev.68.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + + collection: 1.14.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + meta: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + +# PUBSPEC CHECKSUM: d53c