diff --git a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart index ffc6d929fa8..8755a96eb75 100644 --- a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart +++ b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart @@ -423,7 +423,7 @@ class BulkFixProcessor { var result = await _runPubspecValidatorAndFixGenerator( FileSource(pubspecFile), pubspecDeps.packages, - pubspecDeps.devPackages, + pubspecDeps.devPackages.difference(pubspecDeps.packages), context.contextRoot.resourceProvider, ); if (result.isNotEmpty) { diff --git a/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart b/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart index 11d9c67ed0d..e4249708a4b 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/bulk_fix_processor_test.dart @@ -270,6 +270,29 @@ void bad() { @reflectiveTest class PubspecFixTest extends BulkFixProcessorTest { + Future test_dedupe_devPackages_against_packages() async { + var content = ''' +name: test +'''; + var expected = ''' +name: test +dependencies: + b: any +'''; + updateTestPubspecFile(content); + + newFile('$testPackageLibPath/lib.dart', ''' +import 'package:b/b.dart'; +'''); + + var testFile = newFile('$testPackageTestPath/test.dart', ''' +import 'package:b/b.dart'; +'''); + + await getResolvedUnit(testFile); + await assertFixPubspec(content, expected); + } + Future test_delete_change() async { var content = ''' name: test