Fix bug in `build_and_copy` executable (#6478)

diff --git a/packages/devtools_app/pubspec.yaml b/packages/devtools_app/pubspec.yaml
index f315f46..8550a84 100644
--- a/packages/devtools_app/pubspec.yaml
+++ b/packages/devtools_app/pubspec.yaml
@@ -26,7 +26,7 @@
   dap: ^1.1.0
   dds_service_extensions: ^1.6.0
   devtools_app_shared: ^0.0.5
-  devtools_extensions: ^0.0.7
+  devtools_extensions: ^0.0.8
   devtools_shared: ^4.0.1
   file: ^6.0.0
   file_selector: ^0.8.0
diff --git a/packages/devtools_extensions/CHANGELOG.md b/packages/devtools_extensions/CHANGELOG.md
index ed399db..53344ad 100644
--- a/packages/devtools_extensions/CHANGELOG.md
+++ b/packages/devtools_extensions/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.8
+* Fix the `build_and_copy` command so that it succeeds when there is not
+an existing `extension/devtools/build` directory.
+
 ## 0.0.7
 * Update the `build_and_copy` command to stop copying unnecessary files.
 * Add `ExtensionManager.unregisterEventHandler` method.
diff --git a/packages/devtools_extensions/README.md b/packages/devtools_extensions/README.md
index 909c80f..272a815 100644
--- a/packages/devtools_extensions/README.md
+++ b/packages/devtools_extensions/README.md
@@ -86,7 +86,7 @@
 
 In `foo_package_devtools_extension/pubspec.yaml`, add a dependency on `devtools_extensions`:
 ```yaml
-devtools_extensions: ^0.0.7
+devtools_extensions: ^0.0.8
 ```
 
 In `lib/main.dart`, place a `DevToolsExtension` widget at the root of your app:
diff --git a/packages/devtools_extensions/bin/_build_and_copy.dart b/packages/devtools_extensions/bin/_build_and_copy.dart
index 1dbb1a6..d4c3ff5 100644
--- a/packages/devtools_extensions/bin/_build_and_copy.dart
+++ b/packages/devtools_extensions/bin/_build_and_copy.dart
@@ -96,8 +96,13 @@
     _log('Replacing the existing extension build with the new one...');
     final sourceBuildPath = path.join(source, 'build', 'web');
     final destinationBuildPath = path.join(dest, 'build');
-    Directory(destinationBuildPath)..deleteSync(recursive: true);
+
+    final destinationDirectory = Directory(destinationBuildPath);
+    if (destinationDirectory.existsSync()) {
+      destinationDirectory.deleteSync(recursive: true);
+    }
     Directory(destinationBuildPath)..createSync(recursive: true);
+
     await copyPath(
       sourceBuildPath,
       destinationBuildPath,
diff --git a/packages/devtools_extensions/pubspec.yaml b/packages/devtools_extensions/pubspec.yaml
index 031c883..095d0ec 100644
--- a/packages/devtools_extensions/pubspec.yaml
+++ b/packages/devtools_extensions/pubspec.yaml
@@ -1,6 +1,6 @@
 name: devtools_extensions
 description: A package for building and supporting extensions for Dart DevTools.
-version: 0.0.7
+version: 0.0.8
 
 repository: https://github.com/flutter/devtools/tree/master/packages/devtools_extensions