diff --git a/packages/flutter_tools/schema/pubspec_yaml.json b/packages/flutter_tools/schema/pubspec_yaml.json index cdf00e4c730..0045bf4ceaa 100644 --- a/packages/flutter_tools/schema/pubspec_yaml.json +++ b/packages/flutter_tools/schema/pubspec_yaml.json @@ -6,7 +6,10 @@ "properties": { "name": { "type": "string" }, "flutter": { - "type": "object", + "oneOf": [ + { "type": "object" }, + { "type": "null" } + ], "additionalProperties": false, "properties": { "uses-material-design": { "type": "boolean" }, diff --git a/packages/flutter_tools/test/flutter_manifest_test.dart b/packages/flutter_tools/test/flutter_manifest_test.dart index ed7feb93890..dca198ab3c9 100644 --- a/packages/flutter_tools/test/flutter_manifest_test.dart +++ b/packages/flutter_tools/test/flutter_manifest_test.dart @@ -345,5 +345,17 @@ flutter: final List fonts = flutterManifest.fonts; expect(fonts.length, 0); }); + + test('allows a blank flutter section', () async { + const String manifest = ''' +name: test +dependencies: + flutter: + sdk: flutter +flutter: +'''; + final FlutterManifest flutterManifest = await FlutterManifest.createFromString(manifest); + expect(flutterManifest.isEmpty, false); + }); }); }