Skip to content

Commit 0f5cd78

Browse files
[flutter_tools] fix flutter create -t skeleton (#141233)
Fixes flutter/flutter#139138 This had been broken since flutter/flutter#130090 merged, however, the test happened run with flutter_tools/pubspec.yaml in the current working directory.
1 parent 1f11f13 commit 0f5cd78

2 files changed

Lines changed: 36 additions & 2 deletions

File tree

packages/flutter_tools/lib/src/localizations/gen_l10n.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Future<LocalizationsGenerator> generateLocalizations({
4848
precacheLanguageAndRegionTags();
4949

5050
// Use \r\n if project's pubspec file contains \r\n.
51-
final bool useCRLF = fileSystem.file('pubspec.yaml').readAsStringSync().contains('\r\n');
51+
final bool useCRLF = projectDir.childFile('pubspec.yaml').readAsStringSync().contains('\r\n');
5252

5353
LocalizationsGenerator generator;
5454
try {

packages/flutter_tools/test/general.shard/generate_localizations_test.dart

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,41 @@ void main() {
687687
});
688688

689689
group('generateLocalizations', () {
690-
// Regression test for https://github.com/flutter/flutter/issues/119593
690+
testWithoutContext('works even if CWD does not have a pubspec.yaml', () async {
691+
final Directory projectDir = fs.currentDirectory.childDirectory('project')..createSync(recursive: true);
692+
final Directory l10nDirectory = projectDir.childDirectory('lib').childDirectory('l10n')
693+
..createSync(recursive: true);
694+
l10nDirectory.childFile(defaultTemplateArbFileName)
695+
.writeAsStringSync(singleMessageArbFileString);
696+
l10nDirectory.childFile(esArbFileName)
697+
.writeAsStringSync(singleEsMessageArbFileString);
698+
projectDir.childFile('pubspec.yaml')
699+
..createSync(recursive: true)
700+
..writeAsStringSync('''
701+
flutter:
702+
generate: true
703+
''');
704+
705+
final Logger logger = BufferLogger.test();
706+
logger.printError('An error output from a different tool in flutter_tools');
707+
708+
// Should run without error.
709+
await generateLocalizations(
710+
fileSystem: fs,
711+
options: LocalizationOptions(
712+
arbDir: Uri.directory(defaultL10nPathString).path,
713+
outputDir: Uri.directory(defaultL10nPathString, windows: false).path,
714+
templateArbFile: Uri.file(defaultTemplateArbFileName, windows: false).path,
715+
syntheticPackage: false,
716+
),
717+
logger: logger,
718+
projectDir: projectDir,
719+
dependenciesDir: fs.currentDirectory,
720+
artifacts: artifacts,
721+
processManager: processManager,
722+
);
723+
});
724+
691725
testWithoutContext('other logs from flutter_tools does not affect gen-l10n', () async {
692726
_standardFlutterDirectoryL10nSetup(fs);
693727

0 commit comments

Comments
 (0)