|
8 | 8 |
|
9 | 9 | import 'dart:io'; |
10 | 10 |
|
| 11 | +import 'package:args/args.dart'; |
11 | 12 | import 'package:file/file.dart'; |
12 | 13 | import 'package:file/local.dart'; |
13 | 14 | import 'package:path/path.dart' as path; |
14 | 15 |
|
15 | 16 | void main(List<String> arguments) { |
16 | | - print( |
17 | | - "Usage: find . -type d -name 'android' | dart dev/tools/bin/generate_gradle_lockfiles.dart\n" |
18 | | - 'If you would rather enter the files manually, just run `dart dev/tools/bin/generate_gradle_lockfiles.dart`,\n' |
19 | | - "enter the absolute paths to the app's android directory, then press CTRL-D.\n" |
20 | | - ); |
| 17 | + const String usageMessage = "Usage: find . -type d -name 'android' | dart dev/tools/bin/generate_gradle_lockfiles.dart\n" |
| 18 | + 'If you would rather enter the files manually, just run `dart dev/tools/bin/generate_gradle_lockfiles.dart`,\n' |
| 19 | + "enter the absolute paths to the app's android directory, then press CTRL-D.\n" |
| 20 | + "If you don't wish to re-generate the settings.gradle, build.gradle, and gradle-wrapper.properties files,\n" |
| 21 | + "add the flag '--no-gradle-generation'"; |
| 22 | + |
| 23 | + final ArgParser argParser = ArgParser() |
| 24 | + ..addFlag( |
| 25 | + 'gradle-generation', |
| 26 | + help: 'Re-generate gradle files in each processed directory.', |
| 27 | + defaultsTo: true, |
| 28 | + ); |
| 29 | + |
| 30 | + ArgResults args; |
| 31 | + try { |
| 32 | + args = argParser.parse(arguments); |
| 33 | + } on FormatException catch (error) { |
| 34 | + stderr.writeln('${error.message}\n'); |
| 35 | + stderr.writeln(usageMessage); |
| 36 | + exit(1); |
| 37 | + } |
| 38 | + |
| 39 | + print(usageMessage); |
| 40 | + |
| 41 | + /// Re-generate gradle files in each processed directory. |
| 42 | + final bool gradleGeneration = (args['gradle-generation'] as bool?) ?? true; |
21 | 43 |
|
22 | 44 | const FileSystem fileSystem = LocalFileSystem(); |
23 | 45 | final List<String> androidDirectories = getFilesFromStdin(); |
@@ -86,9 +108,11 @@ void main(List<String> arguments) { |
86 | 108 | // noop |
87 | 109 | } |
88 | 110 |
|
89 | | - rootBuildGradle.writeAsStringSync(rootGradleFileContent); |
90 | | - settingsGradle.writeAsStringSync(settingGradleFile); |
91 | | - wrapperGradle.writeAsStringSync(wrapperGradleFileContent); |
| 111 | + if (gradleGeneration) { |
| 112 | + rootBuildGradle.writeAsStringSync(rootGradleFileContent); |
| 113 | + settingsGradle.writeAsStringSync(settingGradleFile); |
| 114 | + wrapperGradle.writeAsStringSync(wrapperGradleFileContent); |
| 115 | + } |
92 | 116 |
|
93 | 117 | final String appDirectory = androidDirectory.parent.absolute.path; |
94 | 118 |
|
|
0 commit comments