diff --git a/bin/codegen.dart b/bin/codegen.dart
index f3ec2b5..e216c35 100644
--- a/bin/codegen.dart
+++ b/bin/codegen.dart
@@ -12,8 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-import 'package:mockito/src/builder.dart';
-
 import 'package:build/build.dart';
+import 'package:mockito/src/builder.dart' as b;
 
-Builder buildMocks(BuilderOptions options) => MockBuilder();
+Builder buildMocks(BuilderOptions options) => b.buildMocks(options);
diff --git a/lib/src/builder.dart b/lib/src/builder.dart
index 2d38275..0a16320 100644
--- a/lib/src/builder.dart
+++ b/lib/src/builder.dart
@@ -37,10 +37,7 @@
   @override
   Future build(BuildStep buildStep) async {
     final entryLib = await buildStep.inputLibrary;
-    final resolver = buildStep.resolver;
-
     final mockLibraryAsset = buildStep.inputId.changeExtension('.mocks.dart');
-
     final classesToMock = <DartObject>[];
 
     for (final element in entryLib.topLevelElements) {
@@ -429,7 +426,7 @@
   /// Create a reference for [type], properly referencing all attached types.
   ///
   /// This creates proper references for:
-  /// * [InterfaceType]s (classes, generic classes),
+  /// * InterfaceTypes (classes, generic classes),
   /// * FunctionType parameters (like `void callback(int i)`),
   /// * type aliases (typedefs), both new- and old-style,
   /// * enums.
@@ -496,3 +493,6 @@
   @override
   String toString() => 'Invalid @GenerateMocks annotation: $message';
 }
+
+/// A [MockBuilder] instance for use by `build.yaml`.
+Builder buildMocks(BuilderOptions options) => MockBuilder();
