Remove special casing around injected flutter_gen package (#4604)
diff --git a/lib/src/entrypoint.dart b/lib/src/entrypoint.dart
index 1de6570..3f2be96 100644
--- a/lib/src/entrypoint.dart
+++ b/lib/src/entrypoint.dart
@@ -282,7 +282,7 @@
// an up-to-date package-config.
await ensureUpToDate(workspaceRoot.dir, cache: cache);
final packages = {
- for (var packageEntry in packageConfig.nonInjectedPackages)
+ for (var packageEntry in packageConfig.packages)
packageEntry.name: Package.load(
packageEntry.resolvedRootDir(packageConfigPath),
expectedName: packageEntry.name,
@@ -952,7 +952,7 @@
final packagePathsMapping = <String, String>{};
- final packagesToCheck = packageConfig.nonInjectedPackages;
+ final packagesToCheck = packageConfig.packages;
for (final pkg in packagesToCheck) {
// Pub always makes a packageUri of lib/
if (pkg.packageUri == null || pkg.packageUri.toString() != 'lib/') {
@@ -982,7 +982,7 @@
// Check if language version specified in the `package_config.json` is
// correct. This is important for path dependencies as these can mutate.
- for (final pkg in packageConfig.nonInjectedPackages) {
+ for (final pkg in packageConfig.packages) {
if (pkg.name == root.name) continue;
final id = lockFile.packages[pkg.name];
if (id == null) {
diff --git a/lib/src/package_config.dart b/lib/src/package_config.dart
index c5d330b..ffffe59 100644
--- a/lib/src/package_config.dart
+++ b/lib/src/package_config.dart
@@ -144,22 +144,8 @@
'generator': generator,
'generatorVersion': generatorVersion?.toString(),
}..addAll(additionalProperties);
-
- // We allow the package called 'flutter_gen' to be injected into
- // package_config.
- //
- // This is somewhat a hack. But it allows flutter to generate code in a
- // package as it likes.
- //
- // See https://github.com/flutter/flutter/issues/73870 .
- Iterable<PackageConfigEntry> get nonInjectedPackages =>
- packages.where((package) => !_isInjectedFlutterGenPackage(package));
}
-bool _isInjectedFlutterGenPackage(PackageConfigEntry package) =>
- package.name == 'flutter_gen' &&
- package.rootUri.toString() == 'flutter_gen';
-
class PackageConfigEntry {
/// Package name.
String name;
diff --git a/test/embedding/embedding_test.dart b/test/embedding/embedding_test.dart
index 83176d8..772cd5a 100644
--- a/test/embedding/embedding_test.dart
+++ b/test/embedding/embedding_test.dart
@@ -99,30 +99,6 @@
File(snapshot).parent.deleteSync(recursive: true);
});
- test('Can depend on package:flutter_gen', () async {
- // Regression test for https://github.com/dart-lang/pub/issues/3314.
- final server = await servePackages();
- server.serve(
- 'flutter_gen',
- '1.0.0',
- contents: [
- d.dir('bin', [d.file('flutter_gen.dart', 'main() {print("hi");}')]),
- ],
- );
-
- await d.appDir(dependencies: {'flutter_gen': '^1.0.0'}).create();
- await pubGet();
- final buffer = StringBuffer();
-
- await runEmbeddingToBuffer(
- ['run', 'flutter_gen'],
- buffer,
- workingDirectory: d.path(appPath),
- environment: getPubTestEnvironment(),
- );
- expect(buffer.toString(), contains('hi'));
- });
-
testWithGolden('run works, though hidden', (ctx) async {
await servePackages();
await d.dir(appPath, [
diff --git a/test/embedding/ensure_pubspec_resolved.dart b/test/embedding/ensure_pubspec_resolved.dart
index a6160f1..ebc6599 100644
--- a/test/embedding/ensure_pubspec_resolved.dart
+++ b/test/embedding/ensure_pubspec_resolved.dart
@@ -7,7 +7,6 @@
// embedding_test.dart
import 'dart:async';
-import 'dart:convert';
import 'dart:io';
import 'package:path/path.dart' as p;
@@ -37,45 +36,6 @@
await pubGet();
});
- test(
- 'does not require a pub get '
- 'if a `flutter_gen` package is injected into package_config.json',
- () async {
- await d.dir('bar', [
- d.pubspec({'name': 'bar'}),
- ]).create();
- await d.dir(appPath, [
- d.appPubspec(
- dependencies: {
- 'bar': {'path': '../bar'},
- },
- ),
- ]).create();
-
- await pubGet();
-
- final packageConfig = p.join(
- d.sandbox,
- 'myapp',
- '.dart_tool',
- 'package_config.json',
- );
- final contents =
- json.decode(File(packageConfig).readAsStringSync()) as Map;
- (contents['packages'] as List).add({
- 'name': 'flutter_gen',
- 'rootUri': 'flutter_gen',
- 'languageVersion': '2.8',
- });
- writeTextFile(packageConfig, json.encode(contents));
-
- await runPub(
- args: ['run', 'bin/script.dart'],
- output: endsWith('hello!'),
- );
- },
- );
-
group('Does an implicit pub get if', () {
test("there's no lockfile", () async {
File(p.join(d.sandbox, 'myapp/pubspec.lock')).deleteSync();