Unverified Commit 901eb0fc authored by Michael Klimushyn's avatar Michael Klimushyn Committed by GitHub

Add a note to generated plugins files (#45557)

There has been some confusion about whether or not
.flutter-plugins-dependencies should be tracked in version control or
not. Added a comment to both it and .flutter-plugins explaining that
it's generated and shouldn't be.

.flutter-plugins-dependencies is parsed through JSON, and the JSON spec
doesn't support comments. So unfortunately the note is living in an
arbitrary "_info" key instead of an obvious top level comment.
parent 4cc10a1f
...@@ -317,7 +317,8 @@ List<Plugin> findPlugins(FlutterProject project) { ...@@ -317,7 +317,8 @@ List<Plugin> findPlugins(FlutterProject project) {
/// otherwise returns [false]. /// otherwise returns [false].
bool _writeFlutterPluginsList(FlutterProject project, List<Plugin> plugins) { bool _writeFlutterPluginsList(FlutterProject project, List<Plugin> plugins) {
final List<dynamic> directAppDependencies = <dynamic>[]; final List<dynamic> directAppDependencies = <dynamic>[];
final StringBuffer flutterPluginsBuffer = StringBuffer(); const String info = 'This is a generated file; do not edit or check into version control.';
final StringBuffer flutterPluginsBuffer = StringBuffer('# $info\n');
final Set<String> pluginNames = <String>{}; final Set<String> pluginNames = <String>{};
for (Plugin plugin in plugins) { for (Plugin plugin in plugins) {
...@@ -334,7 +335,7 @@ bool _writeFlutterPluginsList(FlutterProject project, List<Plugin> plugins) { ...@@ -334,7 +335,7 @@ bool _writeFlutterPluginsList(FlutterProject project, List<Plugin> plugins) {
final File pluginsFile = project.flutterPluginsFile; final File pluginsFile = project.flutterPluginsFile;
final String oldPluginFileContent = _readFileContent(pluginsFile); final String oldPluginFileContent = _readFileContent(pluginsFile);
final String pluginFileContent = flutterPluginsBuffer.toString(); final String pluginFileContent = flutterPluginsBuffer.toString();
if (pluginFileContent.isNotEmpty) { if (pluginNames.isNotEmpty) {
pluginsFile.writeAsStringSync(pluginFileContent, flush: true); pluginsFile.writeAsStringSync(pluginFileContent, flush: true);
} else { } else {
if (pluginsFile.existsSync()) { if (pluginsFile.existsSync()) {
...@@ -345,9 +346,10 @@ bool _writeFlutterPluginsList(FlutterProject project, List<Plugin> plugins) { ...@@ -345,9 +346,10 @@ bool _writeFlutterPluginsList(FlutterProject project, List<Plugin> plugins) {
final File dependenciesFile = project.flutterPluginsDependenciesFile; final File dependenciesFile = project.flutterPluginsDependenciesFile;
final String oldDependenciesFileContent = _readFileContent(dependenciesFile); final String oldDependenciesFileContent = _readFileContent(dependenciesFile);
final String dependenciesFileContent = json.encode(<String, dynamic>{ final String dependenciesFileContent = json.encode(<String, dynamic>{
'_info': '// $info',
'dependencyGraph': directAppDependencies, 'dependencyGraph': directAppDependencies,
}); });
if (pluginFileContent.isNotEmpty) { if (pluginNames.isNotEmpty) {
dependenciesFile.writeAsStringSync(dependenciesFileContent, flush: true); dependenciesFile.writeAsStringSync(dependenciesFileContent, flush: true);
} else { } else {
if (dependenciesFile.existsSync()) { if (dependenciesFile.existsSync()) {
......
...@@ -273,6 +273,7 @@ dependencies: ...@@ -273,6 +273,7 @@ dependencies:
expect(flutterProject.flutterPluginsFile.existsSync(), true); expect(flutterProject.flutterPluginsFile.existsSync(), true);
expect(flutterProject.flutterPluginsDependenciesFile.existsSync(), true); expect(flutterProject.flutterPluginsDependenciesFile.existsSync(), true);
expect(flutterProject.flutterPluginsFile.readAsStringSync(), expect(flutterProject.flutterPluginsFile.readAsStringSync(),
'# This is a generated file; do not edit or check into version control.\n'
'plugin-a=/.tmp_rand0/plugin.rand0/\n' 'plugin-a=/.tmp_rand0/plugin.rand0/\n'
'plugin-b=/.tmp_rand0/plugin.rand1/\n' 'plugin-b=/.tmp_rand0/plugin.rand1/\n'
'plugin-c=/.tmp_rand0/plugin.rand2/\n' 'plugin-c=/.tmp_rand0/plugin.rand2/\n'
...@@ -280,6 +281,7 @@ dependencies: ...@@ -280,6 +281,7 @@ dependencies:
); );
expect(flutterProject.flutterPluginsDependenciesFile.readAsStringSync(), expect(flutterProject.flutterPluginsDependenciesFile.readAsStringSync(),
'{' '{'
'"_info":"// This is a generated file; do not edit or check into version control.",'
'"dependencyGraph":[' '"dependencyGraph":['
'{' '{'
'"name":"plugin-a",' '"name":"plugin-a",'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment