[gen-l10n] Fix forwarding of output-dir in l10n.yaml file (#71128)
diff --git a/packages/flutter_tools/lib/src/build_system/targets/localizations.dart b/packages/flutter_tools/lib/src/build_system/targets/localizations.dart
index 35703f7..ac6ee45 100644
--- a/packages/flutter_tools/lib/src/build_system/targets/localizations.dart
+++ b/packages/flutter_tools/lib/src/build_system/targets/localizations.dart
@@ -43,7 +43,7 @@
precacheLanguageAndRegionTags();
- final String inputPathString = options?.arbDirectory?.toFilePath() ?? globals.fs.path.join('lib', 'l10n');
+ final String inputPathString = options?.arbDirectory?.path ?? globals.fs.path.join('lib', 'l10n');
final String templateArbFileName = options?.templateArbFile?.toFilePath() ?? 'app_en.arb';
final String outputFileString = options?.outputLocalizationsFile?.toFilePath() ?? 'app_localizations.dart';
@@ -55,6 +55,7 @@
inputPathString: inputPathString,
templateArbFileName: templateArbFileName,
outputFileString: outputFileString,
+ outputPathString: options?.outputDirectory?.path,
classNameString: options.outputClass ?? 'AppLocalizations',
preferredSupportedLocale: options.preferredSupportedLocales,
headerString: options.header,
@@ -155,6 +156,7 @@
this.untranslatedMessagesFile,
this.header,
this.outputClass,
+ this.outputDirectory,
this.preferredSupportedLocales,
this.headerFile,
this.deferredLoading,
@@ -164,7 +166,7 @@
/// The `--arb-dir` argument.
///
- /// The directory where all localization files should reside.
+ /// The directory where all input localization files should reside.
final Uri arbDirectory;
/// The `--template-arb-file` argument.
@@ -190,6 +192,11 @@
/// The `--output-class` argument.
final String outputClass;
+ /// The `--output-dir` argument.
+ ///
+ /// The directory where all output localization files should be generated.
+ final Uri outputDirectory;
+
/// The `--preferred-supported-locales` argument.
final List<String> preferredSupportedLocales;
@@ -244,6 +251,7 @@
untranslatedMessagesFile: _tryReadUri(yamlMap, 'untranslated-messages-file', logger),
header: _tryReadString(yamlMap, 'header', logger),
outputClass: _tryReadString(yamlMap, 'output-class', logger),
+ outputDirectory: _tryReadUri(yamlMap, 'output-dir', logger),
preferredSupportedLocales: _tryReadStringList(yamlMap, 'preferred-supported-locales', logger),
headerFile: _tryReadUri(yamlMap, 'header-file', logger),
deferredLoading: _tryReadBool(yamlMap, 'use-deferred-loading', logger),
diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/localizations_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/localizations_test.dart
index 969a0f3..f71cd69 100644
--- a/packages/flutter_tools/test/general.shard/build_system/targets/localizations_test.dart
+++ b/packages/flutter_tools/test/general.shard/build_system/targets/localizations_test.dart
@@ -35,6 +35,7 @@
deferredLoading: true,
outputClass: 'Foo',
outputLocalizationsFile: Uri.file('bar'),
+ outputDirectory: Uri.directory(fileSystem.path.join('lib', 'l10n')),
preferredSupportedLocales: <String>['en_US'],
templateArbFile: Uri.file('example.arb'),
untranslatedMessagesFile: Uri.file('untranslated'),
@@ -50,11 +51,10 @@
projectDir: fileSystem.currentDirectory,
dependenciesDir: fileSystem.currentDirectory,
);
-
verify(
mockLocalizationsGenerator.initialize(
inputPathString: 'arb',
- outputPathString: null,
+ outputPathString: fileSystem.path.join('lib', 'l10n/'),
templateArbFileName: 'example.arb',
outputFileString: 'bar',
classNameString: 'Foo',