From cc0ee7cbc293a1b88b68e90f8cc865fbddd1353c Mon Sep 17 00:00:00 2001 From: Ian VanSchooten Date: Mon, 7 Oct 2024 11:38:00 -0400 Subject: [PATCH] Flutter format is removed, now dart format (#168) It was removed in 3.12: https://github.com/flutter/flutter/pull/129360 This updates the README and our CI job. --- .github/workflows/flutterfmt.sh | 10 ----- .github/workflows/flutterfmt.yml | 4 +- README.md | 9 +++-- lib/main.dart | 68 ++++++++++++++++---------------- 4 files changed, 42 insertions(+), 49 deletions(-) delete mode 100755 .github/workflows/flutterfmt.sh diff --git a/.github/workflows/flutterfmt.sh b/.github/workflows/flutterfmt.sh deleted file mode 100755 index 5dfddc8..0000000 --- a/.github/workflows/flutterfmt.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -DIRS="lib test" -EXIT=0 - -for DIR in $DIRS; do - OUT="$(flutter format -l 120 --suppress-analytics "$DIR" | sed -e "s/^Formatted \(.*\)/::error file=$DIR\/\1::Not formatted/g")" - echo "$OUT" | grep "::error" && EXIT=1 -done - -exit $EXIT \ No newline at end of file diff --git a/.github/workflows/flutterfmt.yml b/.github/workflows/flutterfmt.yml index 597e914..5f73213 100644 --- a/.github/workflows/flutterfmt.yml +++ b/.github/workflows/flutterfmt.yml @@ -23,5 +23,5 @@ jobs: - name: Check out code uses: actions/checkout@v3 - - name: flutter format - run: $GITHUB_WORKSPACE/.github/workflows/flutterfmt.sh + - name: Check formating + run: dart format -l120 lib/ --set-exit-if-changed --suppress-analytics --output none \ No newline at end of file diff --git a/README.md b/README.md index f302413..ea89994 100644 --- a/README.md +++ b/README.md @@ -32,13 +32,16 @@ If you are having issues with iOS pods, try blowing it all away! `cd ios && rm - # Formatting -`flutter format` can be used to format the code in `lib` and `test` but it's default is 80 char line limit, it's 2020 +`dart format` can be used to format the code in `lib` and `test`. We use a line-length of 120 characters. Use: ```sh -flutter format lib/ test/ -l 120 +dart format lib/ test/ -l 120 ``` +In Android Studio, set the line length using Preferences -> Editor -> Code Style -> Dart -> Line length, set it to 120. Enable auto-format with Preferences -> Languages & Frameworks -> Flutter -> Format code on save. + + # Release Update `version` in `pubspec.yaml` to reflect this release, then @@ -53,4 +56,4 @@ Upload the android bundle to the google play store https://play.google.com/apps/ ## iOS -In xcode, Release -> Archive then follow the directions to upload to the app store. If you have issues, https://flutter.dev/docs/deployment/ios#create-a-build-archive +In xcode, Release -> Archive then follow the directions to upload to the app store. If you have issues, https://flutter.dev/docs/deployment/ios#create-a-build-archive \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index a5a3047..9cb6745 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -85,44 +85,44 @@ class _AppState extends State { return MaterialApp( theme: brightness == Brightness.light ? lightTheme : darkTheme, home: Scaffold( - body: PlatformProvider( - //initialPlatform: initialPlatform, - builder: (context) => PlatformApp( - debugShowCheckedModeBanner: false, - localizationsDelegates: >[ - DefaultMaterialLocalizations.delegate, - DefaultWidgetsLocalizations.delegate, - DefaultCupertinoLocalizations.delegate, - ], - title: 'Nebula', - material: (_, __) { - return new MaterialAppData( - themeMode: brightness == Brightness.light ? ThemeMode.light : ThemeMode.dark, - ); - }, - cupertino: (_, __) => CupertinoAppData( - theme: CupertinoThemeData(brightness: brightness), - ), - onGenerateRoute: (settings) { - if (settings.name == '/') { - return platformPageRoute(context: context, builder: (context) => MainScreen(this.dnEnrolled)); - } - - final uri = Uri.parse(settings.name!); - if (uri.path == EnrollmentScreen.routeName) { - // TODO: maybe implement this as a dialog instead of a page, you can stack multiple enrollment screens which is annoying in dev - return platformPageRoute( - context: context, - builder: (context) => - EnrollmentScreen(code: EnrollmentScreen.parseCode(settings.name!), stream: this.dnEnrolled), + body: PlatformProvider( + //initialPlatform: initialPlatform, + builder: (context) => PlatformApp( + debugShowCheckedModeBanner: false, + localizationsDelegates: >[ + DefaultMaterialLocalizations.delegate, + DefaultWidgetsLocalizations.delegate, + DefaultCupertinoLocalizations.delegate, + ], + title: 'Nebula', + material: (_, __) { + return new MaterialAppData( + themeMode: brightness == Brightness.light ? ThemeMode.light : ThemeMode.dark, ); - } + }, + cupertino: (_, __) => CupertinoAppData( + theme: CupertinoThemeData(brightness: brightness), + ), + onGenerateRoute: (settings) { + if (settings.name == '/') { + return platformPageRoute(context: context, builder: (context) => MainScreen(this.dnEnrolled)); + } - return null; - }, + final uri = Uri.parse(settings.name!); + if (uri.path == EnrollmentScreen.routeName) { + // TODO: maybe implement this as a dialog instead of a page, you can stack multiple enrollment screens which is annoying in dev + return platformPageRoute( + context: context, + builder: (context) => + EnrollmentScreen(code: EnrollmentScreen.parseCode(settings.name!), stream: this.dnEnrolled), + ); + } + + return null; + }, + ), ), ), - ), ); } }