remove personal repo and replace with trivial example for smoke test (#28386)
This commit is contained in:
parent
dd5559a5b8
commit
e50ebfc6fa
@ -1,58 +0,0 @@
|
||||
// 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:inject/inject.dart';
|
||||
|
||||
// This is a compile-time generated file and does not exist in source.
|
||||
import 'coffee_app.inject.dart' as generated; // ignore: uri_does_not_exist
|
||||
import 'src/coffee.dart';
|
||||
|
||||
@module
|
||||
class PourOverCoffeeModule {
|
||||
@provide
|
||||
@brandName
|
||||
String provideBrand() => 'Coffee by Flutter Inc.';
|
||||
|
||||
@provide
|
||||
@modelName
|
||||
String provideModel() => 'PourOverSupremeFiesta';
|
||||
|
||||
@provide
|
||||
@asynchronous
|
||||
Future<Heater> provideHeater() async => Stove();
|
||||
|
||||
@provide
|
||||
Pump providePump(Heater heater) => NoOpPump();
|
||||
}
|
||||
|
||||
class NoOpPump extends Pump {
|
||||
@override
|
||||
void pump() {
|
||||
print('nothing to pump...');
|
||||
}
|
||||
}
|
||||
|
||||
class Stove extends Heater {
|
||||
@override
|
||||
bool get isHot => _isHot;
|
||||
bool _isHot = false;
|
||||
|
||||
@override
|
||||
void off() {
|
||||
_isHot = true;
|
||||
}
|
||||
|
||||
@override
|
||||
void on() {
|
||||
_isHot = true;
|
||||
}
|
||||
}
|
||||
|
||||
@Injector(<Type>[PourOverCoffeeModule])
|
||||
abstract class CoffeeApp {
|
||||
static final Future<CoffeeApp> Function(PourOverCoffeeModule) create = generated.CoffeeApp$Injector.create;
|
||||
|
||||
@provide
|
||||
CoffeeMaker getCoffeeMaker();
|
||||
}
|
@ -4,18 +4,13 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_driver/driver_extension.dart';
|
||||
|
||||
import 'coffee_app.dart';
|
||||
import 'src/coffee.dart';
|
||||
import 'message.dart' as generated; // ignore: uri_does_not_exist
|
||||
|
||||
Future<void> main() async {
|
||||
enableFlutterDriverExtension();
|
||||
coffeeApp = await CoffeeApp.create(PourOverCoffeeModule());
|
||||
runApp(ExampleWidget());
|
||||
}
|
||||
|
||||
CoffeeApp coffeeApp;
|
||||
|
||||
class ExampleWidget extends StatefulWidget {
|
||||
@override
|
||||
_ExampleWidgetState createState() => _ExampleWidgetState();
|
||||
@ -34,9 +29,8 @@ class _ExampleWidgetState extends State<ExampleWidget> {
|
||||
RaisedButton(
|
||||
child: const Text('Press Button, Get Coffee'),
|
||||
onPressed: () async {
|
||||
final CoffeeMaker coffeeMaker = coffeeApp.getCoffeeMaker();
|
||||
setState(() {
|
||||
_message = coffeeMaker.brew();
|
||||
_message = generated.message;
|
||||
});
|
||||
},
|
||||
),
|
||||
|
1
dev/integration_tests/codegen/lib/message.spec
Normal file
1
dev/integration_tests/codegen/lib/message.spec
Normal file
@ -0,0 +1 @@
|
||||
final String message = 'Thanks for using PourOverSupremeFiesta by Coffee by Flutter Inc.';
|
@ -1,41 +0,0 @@
|
||||
// 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:inject/inject.dart';
|
||||
|
||||
const Qualifier brandName = Qualifier(#brandName);
|
||||
const Qualifier modelName = Qualifier(#modelName);
|
||||
|
||||
class CoffeeMaker {
|
||||
@provide
|
||||
CoffeeMaker(this._heater, this._pump, this._brand, this._model);
|
||||
|
||||
final Heater _heater;
|
||||
final Pump _pump;
|
||||
|
||||
@modelName
|
||||
final String _model;
|
||||
|
||||
@brandName
|
||||
final String _brand;
|
||||
|
||||
String brew() {
|
||||
_heater.on();
|
||||
_pump.pump();
|
||||
print(' [_]P coffee! [_]P');
|
||||
final String message = 'Thanks for using $_model by $_brand';
|
||||
_heater.off();
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Heater {
|
||||
void on();
|
||||
void off();
|
||||
bool get isHot;
|
||||
}
|
||||
|
||||
abstract class Pump {
|
||||
void pump();
|
||||
}
|
@ -10,11 +10,6 @@ dependencies:
|
||||
sdk: flutter
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
# TODO(jonahwilliams): replace with pub version when everything is compatible
|
||||
inject:
|
||||
git:
|
||||
url: https://github.com/jonahwilliams/inject.dart
|
||||
path: package/inject
|
||||
|
||||
async: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -76,11 +71,9 @@ dev_dependencies:
|
||||
yaml: 2.1.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
builders:
|
||||
# TODO(jonahwilliams): replace with pub version when everything is compatible
|
||||
inject_generator:
|
||||
git:
|
||||
url: https://github.com/jonahwilliams/inject.dart
|
||||
path: package/inject_generator
|
||||
# Note: path is relative from generated directory
|
||||
simple_codegen:
|
||||
path: ../../../simple_codegen
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
@ -12,6 +12,10 @@ void main() {
|
||||
driver = await FlutterDriver.connect();
|
||||
});
|
||||
|
||||
tearDownAll(() async {
|
||||
await driver.close();
|
||||
});
|
||||
|
||||
test('Can execute generated code', () async {
|
||||
const String button = 'Press Button, Get Coffee';
|
||||
await driver.tap(find.text(button));
|
||||
|
8
dev/integration_tests/simple_codegen/build.yaml
Normal file
8
dev/integration_tests/simple_codegen/build.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
# Read about `build.yaml` at https://pub.dartlang.org/packages/build_config
|
||||
builders:
|
||||
simple:
|
||||
import: "package:simple_codegen/builders.dart"
|
||||
builder_factories:
|
||||
- simpleBuilder
|
||||
build_extensions: {'.spec':['.dart']}
|
||||
auto_apply: all_packages
|
18
dev/integration_tests/simple_codegen/lib/builders.dart
Normal file
18
dev/integration_tests/simple_codegen/lib/builders.dart
Normal file
@ -0,0 +1,18 @@
|
||||
import 'package:build/build.dart';
|
||||
|
||||
/// The builder factory used by the `build.yaml` script.
|
||||
Builder simpleBuilder(BuilderOptions options) => SimpleBuilder();
|
||||
|
||||
/// A trivial builder which copies the contents of a `spec` file into a `dart` file.
|
||||
class SimpleBuilder extends Builder {
|
||||
@override
|
||||
Map<String, List<String>> get buildExtensions => const <String, List<String>>{'.spec' : <String>['.dart']};
|
||||
|
||||
|
||||
@override
|
||||
Future<void> build(BuildStep buildStep) async {
|
||||
final AssetId output = buildStep.inputId.changeExtension('.dart');
|
||||
final String contents = await buildStep.readAsString(buildStep.inputId);
|
||||
buildStep.writeAsString(output, contents);
|
||||
}
|
||||
}
|
37
dev/integration_tests/simple_codegen/pubspec.yaml
Normal file
37
dev/integration_tests/simple_codegen/pubspec.yaml
Normal file
@ -0,0 +1,37 @@
|
||||
name: simple_codegen
|
||||
description: A package for testing codegen
|
||||
|
||||
dependencies:
|
||||
build: 1.1.1
|
||||
|
||||
analyzer: 0.35.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
collection: 1.14.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
crypto: 2.0.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.12 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
kernel: 0.3.12 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
logging: 0.11.3+2 # 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"
|
||||
package_config: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
path: 1.6.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
plugin: 0.2.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pub_semver: 1.4.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
source_span: 1.5.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
string_scanner: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
term_glyph: 1.1.0 # 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"
|
||||
utf: 0.9.0+5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
watcher: 0.9.7+10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
yaml: 2.1.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
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"
|
||||
|
||||
# PUBSPEC CHECKSUM: 6ccf
|
Loading…
x
Reference in New Issue
Block a user