Skip to content
This repository has been archived by the owner on Oct 22, 2019. It is now read-only.

Commit

Permalink
Split app into flavors in Dart
Browse files Browse the repository at this point in the history
  • Loading branch information
Dominik Roszkowski committed Jul 10, 2019
1 parent cef5fbf commit a4c7ef8
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 5 deletions.
5 changes: 5 additions & 0 deletions lib/app_config.dart
@@ -0,0 +1,5 @@
class AppConfig {
AppConfig(this.flavor);

final String flavor;
}
9 changes: 7 additions & 2 deletions lib/main.dart → 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) {
Expand All @@ -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}'),
);
}
}
Expand Down
10 changes: 10 additions & 0 deletions 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<void> main() async {
final config = AppConfig('dev');

mainCommon(config);
}
10 changes: 10 additions & 0 deletions 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<void> main() async {
final config = AppConfig('prod');

mainCommon(config);
}
10 changes: 10 additions & 0 deletions 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<void> main() async {
final config = AppConfig('tst');

mainCommon(config);
}
6 changes: 3 additions & 3 deletions test/widget_test.dart
Expand Up @@ -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);
Expand Down

0 comments on commit a4c7ef8

Please sign in to comment.