enable lint avoid_relative_lib_imports (#15780)

diff --git a/analysis_options.yaml b/analysis_options.yaml
index 1422633..c64e20a 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -63,7 +63,7 @@
     - avoid_init_to_null
     - avoid_null_checks_in_equality_operators
     # - avoid_positional_boolean_parameters # not yet tested
-    # - avoid_relative_lib_imports # not yet tested
+    - avoid_relative_lib_imports
     - avoid_return_types_on_setters
     # - avoid_returning_null # we do this commonly
     # - avoid_returning_this # https://github.com/dart-lang/linter/issues/842
diff --git a/analysis_options_repo.yaml b/analysis_options_repo.yaml
index e83d880..9e2f1d4 100644
--- a/analysis_options_repo.yaml
+++ b/analysis_options_repo.yaml
@@ -56,7 +56,7 @@
     - avoid_init_to_null
     - avoid_null_checks_in_equality_operators
     # - avoid_positional_boolean_parameters # not yet tested
-    # - avoid_relative_lib_imports # not yet tested
+    - avoid_relative_lib_imports
     - avoid_return_types_on_setters
     # - avoid_returning_null # we do this commonly
     # - avoid_returning_this # https://github.com/dart-lang/linter/issues/842
diff --git a/dev/manual_tests/test/card_collection_test.dart b/dev/manual_tests/test/card_collection_test.dart
index 428e30e..ecd2ae1 100644
--- a/dev/manual_tests/test/card_collection_test.dart
+++ b/dev/manual_tests/test/card_collection_test.dart
@@ -5,8 +5,8 @@
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart' show createHttpClient;
 import 'package:flutter_test/flutter_test.dart';
+import 'package:manual_tests/card_collection.dart' as card_collection;
 
-import '../lib/card_collection.dart' as card_collection;
 import 'mock_image_http.dart';
 
 void main() {
diff --git a/dev/manual_tests/test/color_testing_demo_test.dart b/dev/manual_tests/test/color_testing_demo_test.dart
index 1d6b2d4..c1d912f 100644
--- a/dev/manual_tests/test/color_testing_demo_test.dart
+++ b/dev/manual_tests/test/color_testing_demo_test.dart
@@ -5,8 +5,8 @@
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart' show createHttpClient;
 import 'package:flutter_test/flutter_test.dart';
+import 'package:manual_tests/color_testing_demo.dart' as color_testing_demo;
 
-import '../lib/color_testing_demo.dart' as color_testing_demo;
 import 'mock_image_http.dart';
 
 void main() {
diff --git a/dev/manual_tests/test/overlay_geometry_test.dart b/dev/manual_tests/test/overlay_geometry_test.dart
index 923ea69..5ef9617 100644
--- a/dev/manual_tests/test/overlay_geometry_test.dart
+++ b/dev/manual_tests/test/overlay_geometry_test.dart
@@ -4,8 +4,7 @@
 
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/overlay_geometry.dart' as overlay_geometry;
+import 'package:manual_tests/overlay_geometry.dart' as overlay_geometry;
 
 void main() {
   testWidgets('Overlay geometry smoke test', (WidgetTester tester) async {
diff --git a/examples/catalog/test/animated_list_test.dart b/examples/catalog/test/animated_list_test.dart
index 2436d24..913477f 100644
--- a/examples/catalog/test/animated_list_test.dart
+++ b/examples/catalog/test/animated_list_test.dart
@@ -4,8 +4,7 @@
 
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/animated_list.dart' as animated_list_sample;
+import 'package:sample_catalog/animated_list.dart' as animated_list_sample;
 
 void main() {
   testWidgets('animated_list sample app smoke test', (WidgetTester tester) async {
diff --git a/examples/catalog/test/app_bar_bottom_test.dart b/examples/catalog/test/app_bar_bottom_test.dart
index 857bbee..86825dd 100644
--- a/examples/catalog/test/app_bar_bottom_test.dart
+++ b/examples/catalog/test/app_bar_bottom_test.dart
@@ -4,8 +4,7 @@
 
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/app_bar_bottom.dart' as app_bar_bottom_sample;
+import 'package:sample_catalog/app_bar_bottom.dart' as app_bar_bottom_sample;
 
 final int choiceCount = app_bar_bottom_sample.choices.length;
 IconData iconAt(int index) => app_bar_bottom_sample.choices[index].icon;
diff --git a/examples/catalog/test/basic_app_bar_test.dart b/examples/catalog/test/basic_app_bar_test.dart
index f22d825..b1bb4b9 100644
--- a/examples/catalog/test/basic_app_bar_test.dart
+++ b/examples/catalog/test/basic_app_bar_test.dart
@@ -4,8 +4,7 @@
 
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/basic_app_bar.dart' as basic_app_bar_sample;
+import 'package:sample_catalog/basic_app_bar.dart' as basic_app_bar_sample;
 
 int choiceCount = basic_app_bar_sample.choices.length;
 IconData iconAt(int index) => basic_app_bar_sample.choices[index].icon;
diff --git a/examples/catalog/test/custom_semantics_test.dart b/examples/catalog/test/custom_semantics_test.dart
index 9fb973d..be97370 100644
--- a/examples/catalog/test/custom_semantics_test.dart
+++ b/examples/catalog/test/custom_semantics_test.dart
@@ -4,9 +4,8 @@
 
 import 'package:flutter/rendering.dart';
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/custom_semantics.dart' as custom_semantics show main;
-import '../lib/custom_semantics.dart';
+import 'package:sample_catalog/custom_semantics.dart' as custom_semantics show main;
+import 'package:sample_catalog/custom_semantics.dart';
 
 void main() {
   testWidgets('custom_semantics sample smoke test', (WidgetTester tester) async {
diff --git a/examples/catalog/test/expansion_tile_sample_test.dart b/examples/catalog/test/expansion_tile_sample_test.dart
index caf5e1e..2a6bcde 100644
--- a/examples/catalog/test/expansion_tile_sample_test.dart
+++ b/examples/catalog/test/expansion_tile_sample_test.dart
@@ -4,9 +4,8 @@
 
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/expansion_tile_sample.dart' as expansion_tile_sample;
-import '../lib/expansion_tile_sample.dart' show Entry;
+import 'package:sample_catalog/expansion_tile_sample.dart' as expansion_tile_sample;
+import 'package:sample_catalog/expansion_tile_sample.dart' show Entry;
 
 void main() {
   testWidgets('expansion_tile sample smoke test', (WidgetTester tester) async {
diff --git a/examples/catalog/test/tabbed_app_bar_test.dart b/examples/catalog/test/tabbed_app_bar_test.dart
index fdb4e1c..d6e5cdf 100644
--- a/examples/catalog/test/tabbed_app_bar_test.dart
+++ b/examples/catalog/test/tabbed_app_bar_test.dart
@@ -4,8 +4,7 @@
 
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/tabbed_app_bar.dart' as tabbed_app_bar_sample;
+import 'package:sample_catalog/tabbed_app_bar.dart' as tabbed_app_bar_sample;
 
 final int choiceCount = tabbed_app_bar_sample.choices.length;
 IconData iconAt(int index) => tabbed_app_bar_sample.choices[index].icon;
diff --git a/examples/hello_world/test/hello_test.dart b/examples/hello_world/test/hello_test.dart
index d6f2132..f274690 100644
--- a/examples/hello_world/test/hello_test.dart
+++ b/examples/hello_world/test/hello_test.dart
@@ -3,8 +3,7 @@
 // found in the LICENSE file.
 
 import 'package:flutter_test/flutter_test.dart';
-
-import '../lib/main.dart' as hello_world;
+import 'package:hello_world/main.dart' as hello_world;
 
 void main() {
   testWidgets('Hello world smoke test', (WidgetTester tester) async {
diff --git a/examples/layers/test/smoketests/lib/main_test.dart b/examples/layers/test/smoketests/lib/main_test.dart
index 738676a..5b859b1 100644
--- a/examples/layers/test/smoketests/lib/main_test.dart
+++ b/examples/layers/test/smoketests/lib/main_test.dart
@@ -2,10 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+import 'package:flutter_examples_layers/main.dart' as demo;
 import 'package:flutter_test/flutter_test.dart';
 
-import '../../../lib/main.dart' as demo;
-
 void main() {
   testWidgets('layers smoketest for lib/main.dart', (WidgetTester tester) {
     demo.main();
diff --git a/packages/flutter_tools/bin/fuchsia_asset_builder.dart b/packages/flutter_tools/bin/fuchsia_asset_builder.dart
index e5feb7f..a2ac486 100644
--- a/packages/flutter_tools/bin/fuchsia_asset_builder.dart
+++ b/packages/flutter_tools/bin/fuchsia_asset_builder.dart
@@ -5,16 +5,15 @@
 import 'dart:async';
 
 import 'package:args/args.dart';
-
-import '../lib/src/asset.dart';
-import '../lib/src/base/file_system.dart' as libfs;
-import '../lib/src/base/io.dart';
-import '../lib/src/base/platform.dart';
-import '../lib/src/cache.dart';
-import '../lib/src/context_runner.dart';
-import '../lib/src/devfs.dart';
-import '../lib/src/flx.dart';
-import '../lib/src/globals.dart';
+import 'package:flutter_tools/src/asset.dart';
+import 'package:flutter_tools/src/base/file_system.dart' as libfs;
+import 'package:flutter_tools/src/base/io.dart';
+import 'package:flutter_tools/src/base/platform.dart';
+import 'package:flutter_tools/src/cache.dart';
+import 'package:flutter_tools/src/context_runner.dart';
+import 'package:flutter_tools/src/devfs.dart';
+import 'package:flutter_tools/src/flx.dart';
+import 'package:flutter_tools/src/globals.dart';
 
 const String _kOptionPackages = 'packages';
 const String _kOptionWorking = 'working-dir';
diff --git a/packages/flutter_tools/bin/fuchsia_builder.dart b/packages/flutter_tools/bin/fuchsia_builder.dart
index 1ad33f3..15f0b55 100644
--- a/packages/flutter_tools/bin/fuchsia_builder.dart
+++ b/packages/flutter_tools/bin/fuchsia_builder.dart
@@ -5,16 +5,15 @@
 import 'dart:async';
 
 import 'package:args/args.dart';
-
-import '../lib/src/asset.dart';
-import '../lib/src/base/common.dart';
-import '../lib/src/base/file_system.dart';
-import '../lib/src/base/io.dart';
-import '../lib/src/base/platform.dart';
-import '../lib/src/cache.dart';
-import '../lib/src/context_runner.dart';
-import '../lib/src/flx.dart';
-import '../lib/src/globals.dart';
+import 'package:flutter_tools/src/asset.dart';
+import 'package:flutter_tools/src/base/common.dart';
+import 'package:flutter_tools/src/base/file_system.dart';
+import 'package:flutter_tools/src/base/io.dart';
+import 'package:flutter_tools/src/base/platform.dart';
+import 'package:flutter_tools/src/cache.dart';
+import 'package:flutter_tools/src/context_runner.dart';
+import 'package:flutter_tools/src/flx.dart';
+import 'package:flutter_tools/src/globals.dart';
 
 const String _kOptionPackages = 'packages';
 const String _kOptionOutput = 'output-file';
diff --git a/packages/flutter_tools/bin/fuchsia_tester.dart b/packages/flutter_tools/bin/fuchsia_tester.dart
index 3c71166..b78ff45 100644
--- a/packages/flutter_tools/bin/fuchsia_tester.dart
+++ b/packages/flutter_tools/bin/fuchsia_tester.dart
@@ -5,24 +5,24 @@
 import 'dart:async';
 
 import 'package:args/args.dart';
+import 'package:flutter_tools/src/base/common.dart';
+import 'package:flutter_tools/src/base/config.dart';
+import 'package:flutter_tools/src/base/context.dart';
+import 'package:flutter_tools/src/base/file_system.dart';
+import 'package:flutter_tools/src/base/io.dart';
+import 'package:flutter_tools/src/base/logger.dart';
+import 'package:flutter_tools/src/base/os.dart';
+import 'package:flutter_tools/src/base/platform.dart';
+import 'package:flutter_tools/src/cache.dart';
+import 'package:flutter_tools/src/dart/package_map.dart';
+import 'package:flutter_tools/src/disabled_usage.dart';
+import 'package:flutter_tools/src/globals.dart';
+import 'package:flutter_tools/src/test/flutter_platform.dart' as loader;
+import 'package:flutter_tools/src/usage.dart';
 import 'package:process/process.dart';
 import 'package:test/src/executable.dart'
     as test; // ignore: implementation_imports
 
-import '../lib/src/base/common.dart';
-import '../lib/src/base/config.dart';
-import '../lib/src/base/context.dart';
-import '../lib/src/base/file_system.dart';
-import '../lib/src/base/io.dart';
-import '../lib/src/base/logger.dart';
-import '../lib/src/base/os.dart';
-import '../lib/src/base/platform.dart';
-import '../lib/src/cache.dart';
-import '../lib/src/dart/package_map.dart';
-import '../lib/src/disabled_usage.dart';
-import '../lib/src/globals.dart';
-import '../lib/src/test/flutter_platform.dart' as loader;
-import '../lib/src/usage.dart';
 
 // Note: this was largely inspired by lib/src/commands/test.dart.