| // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'dart:io'; |
| |
| import '../../test/utils/io_utils.dart' show computeRepoDirUri; |
| |
| import 'generate_messages_lib.dart'; |
| |
| void main(List<String> arguments) { |
| print("Running the fail-safe version."); |
| final Uri repoDir = computeRepoDirUri(); |
| Messages message = generateMessagesFilesRaw(repoDir, (s) => s); |
| if (message.sharedMessages.trim().isEmpty || |
| message.cfeMessages.trim().isEmpty) { |
| print("Bailing because of errors: " |
| "Refusing to overwrite with empty file!"); |
| } else { |
| new File.fromUri(computeSharedGeneratedFile(repoDir)) |
| .writeAsStringSync(message.sharedMessages, flush: true); |
| new File.fromUri(computeCfeGeneratedFile(repoDir)) |
| .writeAsStringSync(message.cfeMessages, flush: true); |
| } |
| |
| if (exitCode != 0) { |
| print("Something went wrong."); |
| return; |
| } |
| |
| print("Now executing the non-failsafe version."); |
| |
| ProcessResult run = Process.runSync(Platform.resolvedExecutable, |
| [Platform.script.resolve("generate_messages.dart").toFilePath()]); |
| stderr.writeln(run.stderr); |
| stdout.writeln(run.stdout); |
| if (run.exitCode != 0) exitCode = 1; |
| print("Done with exit code $exitCode"); |
| } |