Flutter 1.26 (#645)

diff --git a/Dockerfile b/Dockerfile
index f5996b0..95ae9a6 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,13 +25,7 @@
 ENV PATH="/home/dart/.pub-cache/bin:${PATH}"
 
 # Set the Flutter SDK up for web compilation.
-RUN dart run tool/update_sdk.dart
-
-# Set the Flutter SDK up for web compilation.	# Set the Flutter SDK up for web compilation.
-RUN flutter-sdk/bin/flutter doctor
-RUN flutter-sdk/bin/flutter config --enable-web
-RUN flutter-sdk/bin/flutter precache --web --no-android --no-ios --no-linux \
-  --no-windows --no-macos --no-fuchsia
+RUN dart pub run grinder setup-flutter-sdk
 
 # Build the dill file
 RUN dart pub run grinder build-storage-artifacts validate-storage-artifacts
@@ -43,5 +37,5 @@
 CMD []
 
 ENTRYPOINT ["/dart_runtime/dart_run.sh", \
-            "--port", "8080", \
-            "--proxy-target", "https://v1.api.dartpad.dev/"]
+  "--port", "8080", \
+  "--proxy-target", "https://v1.api.dartpad.dev/"]
diff --git a/cloud_run.Dockerfile b/cloud_run.Dockerfile
index 3c6f904..f27b257 100644
--- a/cloud_run.Dockerfile
+++ b/cloud_run.Dockerfile
@@ -26,13 +26,7 @@
 ENV PATH="/home/dart/.pub-cache/bin:${PATH}"
 
 # Set the Flutter SDK up for web compilation.
-RUN dart run tool/update_sdk.dart
-
-# Set the Flutter SDK up for web compilation.	# Set the Flutter SDK up for web compilation.
-RUN flutter-sdk/bin/flutter doctor
-RUN flutter-sdk/bin/flutter config --enable-web
-RUN flutter-sdk/bin/flutter precache --web --no-android --no-ios --no-linux \
-  --no-windows --no-macos --no-fuchsia
+RUN dart pub run grinder setup-flutter-sdk
 
 # Build the dill file
 RUN dart pub run grinder build-storage-artifacts validate-storage-artifacts
@@ -42,4 +36,4 @@
 CMD []
 
 ENTRYPOINT ["/dart_runtime/dart_cloud_run.sh", "--port", "${PORT}", \
-            "--redis-url", "redis://10.0.0.4:6379"]
+  "--redis-url", "redis://10.0.0.4:6379"]
diff --git a/flutter-sdk-version.yaml b/flutter-sdk-version.yaml
index 0073100..daf2d7c 100644
--- a/flutter-sdk-version.yaml
+++ b/flutter-sdk-version.yaml
@@ -12,4 +12,4 @@
 
 flutter_sdk:
   # channel: beta
-  version: 1.25.0-8.3.pre
+  version: 1.26.0-17.2.pre
diff --git a/tool/grind.dart b/tool/grind.dart
index 7c0c66f..dbf6c0f 100644
--- a/tool/grind.dart
+++ b/tool/grind.dart
@@ -16,9 +16,14 @@
 import 'package:path/path.dart' as path;
 
 Future<void> main(List<String> args) async {
+  return grind(args);
+}
+
+@Task("Make sure SDKs are appropriately initialized")
+@Depends(setupFlutterSdk)
+void sdkInit() async {
   await SdkManager.sdk.init();
   await SdkManager.flutterSdk.init();
-  return grind(args);
 }
 
 @Task()
@@ -76,6 +81,7 @@
 
 @Task('validate that we have the correct compilation artifacts available in '
     'google storage')
+@Depends(sdkInit)
 void validateStorageArtifacts() async {
   final version = SdkManager.flutterSdk.versionFull;
 
@@ -99,6 +105,7 @@
 }
 
 @Task('build the project templates')
+@Depends(sdkInit)
 void buildProjectTemplates() async {
   final templatesPath =
       Directory(path.join(Directory.current.path, 'project_templates'));
@@ -143,7 +150,7 @@
 }
 
 @Task('build the sdk compilation artifacts for upload to google storage')
-@Depends(buildProjectTemplates)
+@Depends(sdkInit, buildProjectTemplates)
 void buildStorageArtifacts() async {
   // build and copy dart_sdk.js, flutter_web.js, and flutter_web.dill
   final temp = Directory.systemTemp.createTempSync('flutter_web_sample');
@@ -230,7 +237,7 @@
   await artifactsDir.create();
 
   final sdkJsPath = path.join(flutterSdkPath,
-      'bin/cache/flutter_web_sdk/flutter_web_sdk/kernel/amd/dart_sdk.js');
+      'bin/cache/flutter_web_sdk/flutter_web_sdk/kernel/amd-canvaskit-html/dart_sdk.js');
 
   copy(getFile(sdkJsPath), artifactsDir);
   copy(joinFile(dir, ['flutter_web.js']), artifactsDir);
@@ -243,10 +250,8 @@
       'artifacts/*.js gs://compilation_artifacts/$version/');
 }
 
-@Task('Delete, re-download, and reinitialize the Flutter submodule.')
+@Task('Reinitialize the Flutter submodule.')
 void setupFlutterSdk() async {
-  await Directory(flutterSdkPath).delete(recursive: true);
-
   final info = DownloadingSdkManager.getSdkConfigInfo();
   print('Flutter SDK configuration: $info\n');
 
@@ -287,8 +292,8 @@
 }
 
 @Task('Update generated files and run all checks prior to deployment')
-@Depends(setupFlutterSdk, updateDockerVersion, generateProtos, analyze, test,
-    fuzz, validateStorageArtifacts)
+@Depends(sdkInit, updateDockerVersion, generateProtos, analyze, test, fuzz,
+    validateStorageArtifacts)
 void deploy() {
   log('Run: gcloud app deploy --project=dart-services --no-promote');
 }