diff --git a/lib/app_config.dart b/lib/app_config.dart new file mode 100644 index 0000000..3371bb8 --- /dev/null +++ b/lib/app_config.dart @@ -0,0 +1,5 @@ +class AppConfig { + AppConfig(this.flavor); + + final String flavor; +} diff --git a/lib/main.dart b/lib/main_common.dart similarity index 95% rename from lib/main.dart rename to lib/main_common.dart index f4ebf1d..c6ba632 100644 --- a/lib/main.dart +++ b/lib/main_common.dart @@ -1,8 +1,13 @@ import 'package:flutter/material.dart'; +import 'package:flutter_flavors/app_config.dart'; -void main() => runApp(MyApp()); +void mainCommon(AppConfig config) => runApp(MyApp(config)); class MyApp extends StatelessWidget { + MyApp(this.config); + + final AppConfig config; + // This widget is the root of your application. @override Widget build(BuildContext context) { @@ -20,7 +25,7 @@ class MyApp extends StatelessWidget { // is not restarted. primarySwatch: Colors.blue, ), - home: MyHomePage(title: 'Flutter Demo Home Page'), + home: MyHomePage(title: 'Flutter: ${config.flavor}'), ); } } diff --git a/lib/main_dev.dart b/lib/main_dev.dart new file mode 100644 index 0000000..81d61d7 --- /dev/null +++ b/lib/main_dev.dart @@ -0,0 +1,10 @@ +import 'dart:async'; + +import 'package:flutter_flavors/app_config.dart'; +import 'package:flutter_flavors/main_common.dart'; + +Future main() async { + final config = AppConfig('dev'); + + mainCommon(config); +} diff --git a/lib/main_prod.dart b/lib/main_prod.dart new file mode 100644 index 0000000..f3d1128 --- /dev/null +++ b/lib/main_prod.dart @@ -0,0 +1,10 @@ +import 'dart:async'; + +import 'package:flutter_flavors/app_config.dart'; +import 'package:flutter_flavors/main_common.dart'; + +Future main() async { + final config = AppConfig('prod'); + + mainCommon(config); +} diff --git a/lib/main_tst.dart b/lib/main_tst.dart new file mode 100644 index 0000000..c8c49f9 --- /dev/null +++ b/lib/main_tst.dart @@ -0,0 +1,10 @@ +import 'dart:async'; + +import 'package:flutter_flavors/app_config.dart'; +import 'package:flutter_flavors/main_common.dart'; + +Future main() async { + final config = AppConfig('tst'); + + mainCommon(config); +} diff --git a/test/widget_test.dart b/test/widget_test.dart index 7ec8fdc..d58b0ef 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -6,14 +6,14 @@ // tree, read text, and verify that the values of widget properties are correct. import 'package:flutter/material.dart'; +import 'package:flutter_flavors/app_config.dart'; +import 'package:flutter_flavors/main_common.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter_flavors/main.dart'; - void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { // Build our app and trigger a frame. - await tester.pumpWidget(MyApp()); + await tester.pumpWidget(MyApp(AppConfig('test'))); // Verify that our counter starts at 0. expect(find.text('0'), findsOneWidget);