Bump dart-lang/setup-dart from 0.3 to 1 (#512)

Bumps [dart-lang/setup-dart](https://github.com/dart-lang/setup-dart) from 0.3 to 1.
- [Release notes](https://github.com/dart-lang/setup-dart/releases)
- [Changelog](https://github.com/dart-lang/setup-dart/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dart-lang/setup-dart/compare/v0.3...v1)

---
updated-dependencies:
- dependency-name: dart-lang/setup-dart
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Also bumped mono_repo to latest and made corresponding changes and cleanup to configuration

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Moore <kevmoo@google.com>
diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml
index cdd2b59..f4f40c5 100644
--- a/.github/workflows/dart.yml
+++ b/.github/workflows/dart.yml
@@ -1,11 +1,10 @@
-# Created with package:mono_repo v3.4.6
+# Created with package:mono_repo v4.1.0
 name: Dart CI
 on:
   push:
     branches:
       - master
       - null_safety
-      - migrate_github_actions
   pull_request:
     branches:
       - master
@@ -20,57 +19,61 @@
 
 jobs:
   job_001:
-    name: "format; linux; Dart dev; PKG: protobuf; `dartfmt -n --set-exit-if-changed .`"
+    name: "analyze; linux; Dart 2.10.5; PKG: protobuf; `dart analyze lib`, `dart analyze test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:dartfmt"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf;commands:dartanalyzer_3-dartanalyzer_4"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf
-            os:ubuntu-latest;pub-cache-hosted;dart:dev
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
-          sdk: dev
+          sdk: "2.10.5"
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: protobuf_pub_upgrade
-        name: "protobuf; pub upgrade --no-precompile"
+        name: protobuf; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: protobuf
-        run: pub upgrade --no-precompile
-      - name: "protobuf; dartfmt -n --set-exit-if-changed ."
+        run: pub upgrade
+      - name: protobuf; dart analyze lib
         if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
         working-directory: protobuf
-        run: dartfmt -n --set-exit-if-changed .
+        run: dart analyze lib
+      - name: protobuf; dart analyze test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart analyze test
   job_002:
-    name: "format; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dartfmt -n --set-exit-if-changed .`"
+    name: "analyze; linux; Dart 2.10.5; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart analyze`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-dartfmt"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin;commands:command_0-command_2-dartanalyzer_0"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin
-            os:ubuntu-latest;pub-cache-hosted;dart:dev
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
-          sdk: dev
+          sdk: "2.10.5"
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: protoc_plugin_pub_upgrade
-        name: "protoc_plugin; pub upgrade --no-precompile"
+        name: protoc_plugin; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: pub upgrade --no-precompile
+        run: pub upgrade
       - name: protoc_plugin; ./../tool/setup.sh
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
@@ -79,96 +82,70 @@
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
         run: make protos
-      - name: "protoc_plugin; dartfmt -n --set-exit-if-changed ."
+      - name: protoc_plugin; dart analyze
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: dartfmt -n --set-exit-if-changed .
+        run: dart analyze
   job_003:
-    name: "analyze; linux; Dart dev; PKG: protobuf; `dartanalyzer --fatal-infos --fatal-warnings lib test`"
+    name: "analyze; linux; Dart dev; PKG: protobuf; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos lib`, `dart analyze --fatal-infos test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:dartanalyzer_1"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:dartfmt-dartanalyzer_1-dartanalyzer_2"
           restore-keys: |
             os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf
             os:ubuntu-latest;pub-cache-hosted;dart:dev
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
           sdk: dev
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: protobuf_pub_upgrade
-        name: "protobuf; pub upgrade --no-precompile"
+        name: protobuf; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: protobuf
-        run: pub upgrade --no-precompile
-      - name: "protobuf; dartanalyzer --fatal-infos --fatal-warnings lib test"
+        run: pub upgrade
+      - name: "protobuf; dart format --output=none --set-exit-if-changed ."
         if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
         working-directory: protobuf
-        run: dartanalyzer --fatal-infos --fatal-warnings lib test
-    needs:
-      - job_001
-      - job_002
+        run: "dart format --output=none --set-exit-if-changed ."
+      - name: "protobuf; dart analyze --fatal-infos lib"
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart analyze --fatal-infos lib
+      - name: "protobuf; dart analyze --fatal-infos test"
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart analyze --fatal-infos test
   job_004:
-    name: "analyze; linux; Dart 2.7.0; PKG: protobuf; `dartanalyzer --fatal-warnings .`"
+    name: "analyze; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protobuf;commands:dartanalyzer_0"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protobuf
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
-        with:
-          sdk: "2.7.0"
-      - id: checkout
-        uses: actions/checkout@v2
-      - id: protobuf_pub_upgrade
-        name: "protobuf; pub upgrade --no-precompile"
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade --no-precompile
-      - name: "protobuf; dartanalyzer --fatal-warnings ."
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: dartanalyzer --fatal-warnings .
-    needs:
-      - job_001
-      - job_002
-  job_005:
-    name: "analyze; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dartanalyzer --fatal-infos --fatal-warnings .`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-dartanalyzer_2"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-dartfmt-dartanalyzer_5"
           restore-keys: |
             os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin
             os:ubuntu-latest;pub-cache-hosted;dart:dev
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
           sdk: dev
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: protoc_plugin_pub_upgrade
-        name: "protoc_plugin; pub upgrade --no-precompile"
+        name: protoc_plugin; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: pub upgrade --no-precompile
+        run: pub upgrade
       - name: protoc_plugin; ./../tool/setup.sh
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
@@ -177,37 +154,71 @@
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
         run: make protos
-      - name: "protoc_plugin; dartanalyzer --fatal-infos --fatal-warnings ."
+      - name: "protoc_plugin; dart format --output=none --set-exit-if-changed ."
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: dartanalyzer --fatal-infos --fatal-warnings .
+        run: "dart format --output=none --set-exit-if-changed ."
+      - name: "protoc_plugin; dart analyze --fatal-infos"
+        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
+        working-directory: protoc_plugin
+        run: dart analyze --fatal-infos
+  job_005:
+    name: "run_tests; linux; Dart 2.10.5; PKG: protobuf; `dart test`"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf;commands:test"
+          restore-keys: |
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
+            os:ubuntu-latest;pub-cache-hosted
+            os:ubuntu-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: "2.10.5"
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
     needs:
       - job_001
       - job_002
+      - job_003
+      - job_004
   job_006:
-    name: "analyze; linux; Dart 2.7.0; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dartanalyzer --fatal-warnings .`"
+    name: "run_tests; linux; Dart 2.10.5; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protoc_plugin;commands:command_0-command_2-dartanalyzer_0"
+          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin;commands:command_0-command_2-test"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protoc_plugin
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5;packages:protoc_plugin
+            os:ubuntu-latest;pub-cache-hosted;dart:2.10.5
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
-          sdk: "2.7.0"
+          sdk: "2.10.5"
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: protoc_plugin_pub_upgrade
-        name: "protoc_plugin; pub upgrade --no-precompile"
+        name: protoc_plugin; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: pub upgrade --no-precompile
+        run: pub upgrade
       - name: protoc_plugin; ./../tool/setup.sh
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
@@ -216,114 +227,21 @@
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
         run: make protos
-      - name: "protoc_plugin; dartanalyzer --fatal-warnings ."
+      - name: protoc_plugin; dart test
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: dartanalyzer --fatal-warnings .
+        run: dart test
     needs:
       - job_001
       - job_002
+      - job_003
+      - job_004
   job_007:
-    name: "run_tests; linux; Dart 2.7.0; PKG: protobuf; `pub run test`"
+    name: "run_tests; linux; Dart dev; PKG: protobuf; `dart test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protobuf;commands:test"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protobuf
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
-        with:
-          sdk: "2.7.0"
-      - id: checkout
-        uses: actions/checkout@v2
-      - id: protobuf_pub_upgrade
-        name: "protobuf; pub upgrade --no-precompile"
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade --no-precompile
-      - name: protobuf; pub run test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub run test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-      - job_005
-      - job_006
-  job_008:
-    name: "run_tests; osx; Dart 2.7.0; PKG: protobuf; `pub run test`"
-    runs-on: macos-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:macos-latest;pub-cache-hosted;dart:2.7.0;packages:protobuf;commands:test"
-          restore-keys: |
-            os:macos-latest;pub-cache-hosted;dart:2.7.0;packages:protobuf
-            os:macos-latest;pub-cache-hosted;dart:2.7.0
-            os:macos-latest;pub-cache-hosted
-            os:macos-latest
-      - uses: dart-lang/setup-dart@v0.3
-        with:
-          sdk: "2.7.0"
-      - id: checkout
-        uses: actions/checkout@v2
-      - id: protobuf_pub_upgrade
-        name: "protobuf; pub upgrade --no-precompile"
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade --no-precompile
-      - name: protobuf; pub run test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub run test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-      - job_005
-      - job_006
-  job_009:
-    name: "run_tests; windows; Dart 2.7.0; PKG: protobuf; `pub run test`"
-    runs-on: windows-latest
-    steps:
-      - uses: dart-lang/setup-dart@v0.3
-        with:
-          sdk: "2.7.0"
-      - id: checkout
-        uses: actions/checkout@v2
-      - id: protobuf_pub_upgrade
-        name: "protobuf; pub.bat upgrade --no-precompile"
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub.bat upgrade --no-precompile
-      - name: protobuf; pub run test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub.bat run test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-      - job_005
-      - job_006
-  job_010:
-    name: "run_tests; linux; Dart dev; PKG: protobuf; `pub run test`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
           key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:test"
@@ -332,136 +250,31 @@
             os:ubuntu-latest;pub-cache-hosted;dart:dev
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
           sdk: dev
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: protobuf_pub_upgrade
-        name: "protobuf; pub upgrade --no-precompile"
+        name: protobuf; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: protobuf
-        run: pub upgrade --no-precompile
-      - name: protobuf; pub run test
+        run: pub upgrade
+      - name: protobuf; dart test
         if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
         working-directory: protobuf
-        run: pub run test
+        run: dart test
     needs:
       - job_001
       - job_002
       - job_003
       - job_004
-      - job_005
-      - job_006
-  job_011:
-    name: "run_tests; osx; Dart dev; PKG: protobuf; `pub run test`"
-    runs-on: macos-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:test"
-          restore-keys: |
-            os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf
-            os:macos-latest;pub-cache-hosted;dart:dev
-            os:macos-latest;pub-cache-hosted
-            os:macos-latest
-      - uses: dart-lang/setup-dart@v0.3
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2
-      - id: protobuf_pub_upgrade
-        name: "protobuf; pub upgrade --no-precompile"
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub upgrade --no-precompile
-      - name: protobuf; pub run test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub run test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-      - job_005
-      - job_006
-  job_012:
-    name: "run_tests; windows; Dart dev; PKG: protobuf; `pub run test`"
-    runs-on: windows-latest
-    steps:
-      - uses: dart-lang/setup-dart@v0.3
-        with:
-          sdk: dev
-      - id: checkout
-        uses: actions/checkout@v2
-      - id: protobuf_pub_upgrade
-        name: "protobuf; pub.bat upgrade --no-precompile"
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub.bat upgrade --no-precompile
-      - name: protobuf; pub run test
-        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
-        working-directory: protobuf
-        run: pub.bat run test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-      - job_005
-      - job_006
-  job_013:
-    name: "run_tests; linux; Dart 2.7.0; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `pub run test`"
+  job_008:
+    name: "run_tests; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `dart test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
-        with:
-          path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protoc_plugin;commands:command_0-command_2-test"
-          restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0;packages:protoc_plugin
-            os:ubuntu-latest;pub-cache-hosted;dart:2.7.0
-            os:ubuntu-latest;pub-cache-hosted
-            os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
-        with:
-          sdk: "2.7.0"
-      - id: checkout
-        uses: actions/checkout@v2
-      - id: protoc_plugin_pub_upgrade
-        name: "protoc_plugin; pub upgrade --no-precompile"
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: pub upgrade --no-precompile
-      - name: protoc_plugin; ./../tool/setup.sh
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: ./../tool/setup.sh
-      - name: protoc_plugin; make protos
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: make protos
-      - name: protoc_plugin; pub run test
-        if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
-        working-directory: protoc_plugin
-        run: pub run test
-    needs:
-      - job_001
-      - job_002
-      - job_003
-      - job_004
-      - job_005
-      - job_006
-  job_014:
-    name: "run_tests; linux; Dart dev; PKG: protoc_plugin; `./../tool/setup.sh`, `make protos`, `pub run test`"
-    runs-on: ubuntu-latest
-    steps:
-      - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
           key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:protoc_plugin;commands:command_0-command_2-test"
@@ -470,16 +283,16 @@
             os:ubuntu-latest;pub-cache-hosted;dart:dev
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
           sdk: dev
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: protoc_plugin_pub_upgrade
-        name: "protoc_plugin; pub upgrade --no-precompile"
+        name: protoc_plugin; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: pub upgrade --no-precompile
+        run: pub upgrade
       - name: protoc_plugin; ./../tool/setup.sh
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
@@ -488,23 +301,133 @@
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
         run: make protos
-      - name: protoc_plugin; pub run test
+      - name: protoc_plugin; dart test
         if: "always() && steps.protoc_plugin_pub_upgrade.conclusion == 'success'"
         working-directory: protoc_plugin
-        run: pub run test
+        run: dart test
     needs:
       - job_001
       - job_002
       - job_003
       - job_004
-      - job_005
-      - job_006
-  job_015:
-    name: "format_analyze; linux; Dart dev; PKGS: api_benchmark, query_benchmark; `./../tool/setup.sh`, `./compile_protos.sh`, `dartfmt -n --set-exit-if-changed .`, `dartanalyzer --fatal-warnings .`"
+  job_009:
+    name: "run_tests; osx; Dart 2.10.5; PKG: protobuf; `dart test`"
+    runs-on: macos-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:macos-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf;commands:test"
+          restore-keys: |
+            os:macos-latest;pub-cache-hosted;dart:2.10.5;packages:protobuf
+            os:macos-latest;pub-cache-hosted;dart:2.10.5
+            os:macos-latest;pub-cache-hosted
+            os:macos-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: "2.10.5"
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_010:
+    name: "run_tests; osx; Dart dev; PKG: protobuf; `dart test`"
+    runs-on: macos-latest
+    steps:
+      - name: Cache Pub hosted dependencies
+        uses: actions/cache@v2.1.6
+        with:
+          path: "~/.pub-cache/hosted"
+          key: "os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf;commands:test"
+          restore-keys: |
+            os:macos-latest;pub-cache-hosted;dart:dev;packages:protobuf
+            os:macos-latest;pub-cache-hosted;dart:dev
+            os:macos-latest;pub-cache-hosted
+            os:macos-latest
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_011:
+    name: "run_tests; windows; Dart 2.10.5; PKG: protobuf; `dart test`"
+    runs-on: windows-latest
+    steps:
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: "2.10.5"
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub.bat upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub.bat upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_012:
+    name: "run_tests; windows; Dart dev; PKG: protobuf; `dart test`"
+    runs-on: windows-latest
+    steps:
+      - uses: dart-lang/setup-dart@v1.0
+        with:
+          sdk: dev
+      - id: checkout
+        uses: actions/checkout@v2.3.4
+      - id: protobuf_pub_upgrade
+        name: protobuf; pub.bat upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: protobuf
+        run: pub.bat upgrade
+      - name: protobuf; dart test
+        if: "always() && steps.protobuf_pub_upgrade.conclusion == 'success'"
+        working-directory: protobuf
+        run: dart test
+    needs:
+      - job_001
+      - job_002
+      - job_003
+      - job_004
+  job_013:
+    name: "format_analyze; linux; Dart dev; PKGS: api_benchmark, query_benchmark; `./../tool/setup.sh`, `./compile_protos.sh`, `dart format --output=none --set-exit-if-changed .`, `dart analyze`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
-        uses: actions/cache@v2
+        uses: actions/cache@v2.1.6
         with:
           path: "~/.pub-cache/hosted"
           key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:api_benchmark-query_benchmark;commands:command_0-command_1-dartfmt-dartanalyzer_0"
@@ -513,16 +436,16 @@
             os:ubuntu-latest;pub-cache-hosted;dart:dev
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
-      - uses: dart-lang/setup-dart@v0.3
+      - uses: dart-lang/setup-dart@v1.0
         with:
           sdk: dev
       - id: checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v2.3.4
       - id: api_benchmark_pub_upgrade
-        name: "api_benchmark; pub upgrade --no-precompile"
+        name: api_benchmark; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: api_benchmark
-        run: pub upgrade --no-precompile
+        run: pub upgrade
       - name: api_benchmark; ./../tool/setup.sh
         if: "always() && steps.api_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: api_benchmark
@@ -531,19 +454,19 @@
         if: "always() && steps.api_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: api_benchmark
         run: ./compile_protos.sh
-      - name: "api_benchmark; dartfmt -n --set-exit-if-changed ."
+      - name: "api_benchmark; dart format --output=none --set-exit-if-changed ."
         if: "always() && steps.api_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: api_benchmark
-        run: dartfmt -n --set-exit-if-changed .
-      - name: "api_benchmark; dartanalyzer --fatal-warnings ."
+        run: "dart format --output=none --set-exit-if-changed ."
+      - name: api_benchmark; dart analyze
         if: "always() && steps.api_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: api_benchmark
-        run: dartanalyzer --fatal-warnings .
+        run: dart analyze
       - id: query_benchmark_pub_upgrade
-        name: "query_benchmark; pub upgrade --no-precompile"
+        name: query_benchmark; pub upgrade
         if: "always() && steps.checkout.conclusion == 'success'"
         working-directory: query_benchmark
-        run: pub upgrade --no-precompile
+        run: pub upgrade
       - name: query_benchmark; ./../tool/setup.sh
         if: "always() && steps.query_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: query_benchmark
@@ -552,14 +475,14 @@
         if: "always() && steps.query_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: query_benchmark
         run: ./compile_protos.sh
-      - name: "query_benchmark; dartfmt -n --set-exit-if-changed ."
+      - name: "query_benchmark; dart format --output=none --set-exit-if-changed ."
         if: "always() && steps.query_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: query_benchmark
-        run: dartfmt -n --set-exit-if-changed .
-      - name: "query_benchmark; dartanalyzer --fatal-warnings ."
+        run: "dart format --output=none --set-exit-if-changed ."
+      - name: query_benchmark; dart analyze
         if: "always() && steps.query_benchmark_pub_upgrade.conclusion == 'success'"
         working-directory: query_benchmark
-        run: dartanalyzer --fatal-warnings .
+        run: dart analyze
     needs:
       - job_001
       - job_002
@@ -573,5 +496,3 @@
       - job_010
       - job_011
       - job_012
-      - job_013
-      - job_014
diff --git a/api_benchmark/mono_pkg.yaml b/api_benchmark/mono_pkg.yaml
index 67f40c1..248b40f 100644
--- a/api_benchmark/mono_pkg.yaml
+++ b/api_benchmark/mono_pkg.yaml
@@ -6,5 +6,5 @@
       - command: ./../tool/setup.sh
       - command: ./compile_protos.sh
       - dartfmt
-      - dartanalyzer: --fatal-warnings .
+      - dartanalyzer
       dart: [dev]
diff --git a/mono_repo.yaml b/mono_repo.yaml
index af64ff6..37e6d39 100644
--- a/mono_repo.yaml
+++ b/mono_repo.yaml
@@ -10,6 +10,5 @@
 
 merge_stages:
 - format_analyze
-- format
 - analyze
 - run_tests
diff --git a/protobuf/mono_pkg.yaml b/protobuf/mono_pkg.yaml
index 5548006..9dfc058 100644
--- a/protobuf/mono_pkg.yaml
+++ b/protobuf/mono_pkg.yaml
@@ -1,21 +1,21 @@
 # See https://github.com/dart-lang/mono_repo for details
 
 # - format stage runs only on Linux and only using dev SDK
-# - analyze stage runs only on Linux with different flags for 2.7.0 and dev SDKs
+# - analyze stage runs only on Linux with different flags for 2.10.5 and dev SDKs
 # - test stage runs for all oses and all sdks
 
 stages:
-  - format:
-    - group: [dartfmt]
-      dart: [dev]
   - analyze:
     - group:
-      - dartanalyzer: --fatal-infos --fatal-warnings lib test
+      - dartfmt
+      - dartanalyzer: --fatal-infos lib
+      - dartanalyzer: --fatal-infos test
       dart: [dev]
     - group:
-      - dartanalyzer: --fatal-warnings .
-      dart: [2.7.0]
+      - dartanalyzer: lib
+      - dartanalyzer: test
+      dart: [2.10.5]
   - run_tests:
     - group: [test]
-      dart: [2.7.0, dev]
+      dart: [2.10.5, dev]
       os: [linux, osx, windows]
diff --git a/protoc_plugin/mono_pkg.yaml b/protoc_plugin/mono_pkg.yaml
index 089b27b..09747ea 100644
--- a/protoc_plugin/mono_pkg.yaml
+++ b/protoc_plugin/mono_pkg.yaml
@@ -1,25 +1,20 @@
 # See https://github.com/dart-lang/mono_repo for details
 stages:
-  - format:
-    - group:
-      - command: ./../tool/setup.sh
-      - command: make protos
-      - dartfmt
-      dart: [dev]
   - analyze:
     - group:
       - command: ./../tool/setup.sh
       - command: make protos
-      - dartanalyzer: --fatal-infos --fatal-warnings .
+      - dartfmt
+      - dartanalyzer: --fatal-infos
       dart: [dev]
     - group:
       - command: ./../tool/setup.sh
       - command: make protos
-      - dartanalyzer: --fatal-warnings .
-      dart: [2.7.0]
+      - dartanalyzer
+      dart: [2.10.5]
   - run_tests:
     - group:
       - command: ./../tool/setup.sh
       - command: make protos
       - test
-      dart: [2.7.0, dev]
+      dart: [2.10.5, dev]
diff --git a/query_benchmark/mono_pkg.yaml b/query_benchmark/mono_pkg.yaml
index 67f40c1..248b40f 100644
--- a/query_benchmark/mono_pkg.yaml
+++ b/query_benchmark/mono_pkg.yaml
@@ -6,5 +6,5 @@
       - command: ./../tool/setup.sh
       - command: ./compile_protos.sh
       - dartfmt
-      - dartanalyzer: --fatal-warnings .
+      - dartanalyzer
       dart: [dev]
diff --git a/tool/ci.sh b/tool/ci.sh
index 594f4e0..bd52fea 100755
--- a/tool/ci.sh
+++ b/tool/ci.sh
@@ -1,12 +1,23 @@
 #!/bin/bash
-# Created with package:mono_repo v3.4.6
+# Created with package:mono_repo v4.1.0
 
 # Support built in commands on windows out of the box.
+# When it is a flutter repo (check the pubspec.yaml for "sdk: flutter")
+# then "flutter" is called instead of "pub".
+# This assumes that the Flutter SDK has been installed in a previous step.
 function pub() {
-  if [[ $TRAVIS_OS_NAME == "windows" ]]; then
-    command pub.bat "$@"
+  if grep -Fq "sdk: flutter" "${PWD}/pubspec.yaml"; then
+    if [[ $TRAVIS_OS_NAME == "windows" ]]; then
+      command flutter.bat pub "$@"
+    else
+      command flutter pub "$@"
+    fi
   else
-    command pub "$@"
+    if [[ $TRAVIS_OS_NAME == "windows" ]]; then
+      command pub.bat "$@"
+    else
+      command dart pub "$@"
+    fi
   fi
 }
 function dartfmt() {
@@ -47,11 +58,11 @@
     exit 64
   fi
 
-  pub upgrade --no-precompile || EXIT_CODE=$?
+  dart pub upgrade || EXIT_CODE=$?
 
   if [[ ${EXIT_CODE} -ne 0 ]]; then
-    echo -e "\033[31mPKG: ${PKG}; 'pub upgrade' - FAILED  (${EXIT_CODE})\033[0m"
-    FAILURES+=("${PKG}; 'pub upgrade'")
+    echo -e "\033[31mPKG: ${PKG}; 'dart pub upgrade' - FAILED  (${EXIT_CODE})\033[0m"
+    FAILURES+=("${PKG}; 'dart pub upgrade'")
   else
     for TASK in "$@"; do
       EXIT_CODE=0
@@ -71,24 +82,36 @@
         make protos || EXIT_CODE=$?
         ;;
       dartanalyzer_0)
-        echo 'dartanalyzer --fatal-warnings .'
-        dartanalyzer --fatal-warnings . || EXIT_CODE=$?
+        echo 'dart analyze'
+        dart analyze || EXIT_CODE=$?
         ;;
       dartanalyzer_1)
-        echo 'dartanalyzer --fatal-infos --fatal-warnings lib test'
-        dartanalyzer --fatal-infos --fatal-warnings lib test || EXIT_CODE=$?
+        echo 'dart analyze --fatal-infos lib'
+        dart analyze --fatal-infos lib || EXIT_CODE=$?
         ;;
       dartanalyzer_2)
-        echo 'dartanalyzer --fatal-infos --fatal-warnings .'
-        dartanalyzer --fatal-infos --fatal-warnings . || EXIT_CODE=$?
+        echo 'dart analyze --fatal-infos test'
+        dart analyze --fatal-infos test || EXIT_CODE=$?
+        ;;
+      dartanalyzer_3)
+        echo 'dart analyze lib'
+        dart analyze lib || EXIT_CODE=$?
+        ;;
+      dartanalyzer_4)
+        echo 'dart analyze test'
+        dart analyze test || EXIT_CODE=$?
+        ;;
+      dartanalyzer_5)
+        echo 'dart analyze --fatal-infos'
+        dart analyze --fatal-infos || EXIT_CODE=$?
         ;;
       dartfmt)
-        echo 'dartfmt -n --set-exit-if-changed .'
-        dartfmt -n --set-exit-if-changed . || EXIT_CODE=$?
+        echo 'dart format --output=none --set-exit-if-changed .'
+        dart format --output=none --set-exit-if-changed . || EXIT_CODE=$?
         ;;
       test)
-        echo 'pub run test'
-        pub run test || EXIT_CODE=$?
+        echo 'dart test'
+        dart test || EXIT_CODE=$?
         ;;
       *)
         echo -e "\033[31mUnknown TASK '${TASK}' - TERMINATING JOB\033[0m"