Ensure the flutter_gen project is correctly created as part of "flutter create" (#92975)
This commit is contained in:
parent
09d08510d0
commit
c6d4625232
@ -13,8 +13,11 @@ import '../android/gradle_utils.dart' as gradle;
|
|||||||
import '../base/common.dart';
|
import '../base/common.dart';
|
||||||
import '../base/file_system.dart';
|
import '../base/file_system.dart';
|
||||||
import '../base/utils.dart';
|
import '../base/utils.dart';
|
||||||
|
import '../build_info.dart';
|
||||||
|
import '../build_system/build_system.dart';
|
||||||
import '../cache.dart';
|
import '../cache.dart';
|
||||||
import '../convert.dart';
|
import '../convert.dart';
|
||||||
|
import '../dart/generate_synthetic_packages.dart';
|
||||||
import '../dart/pub.dart';
|
import '../dart/pub.dart';
|
||||||
import '../features.dart';
|
import '../features.dart';
|
||||||
import '../flutter_project_metadata.dart';
|
import '../flutter_project_metadata.dart';
|
||||||
@ -480,6 +483,27 @@ abstract class CreateBase extends FlutterCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (boolArg('pub')) {
|
if (boolArg('pub')) {
|
||||||
|
final Environment environment = Environment(
|
||||||
|
artifacts: globals.artifacts,
|
||||||
|
logger: globals.logger,
|
||||||
|
cacheDir: globals.cache.getRoot(),
|
||||||
|
engineVersion: globals.flutterVersion.engineRevision,
|
||||||
|
fileSystem: globals.fs,
|
||||||
|
flutterRootDir: globals.fs.directory(Cache.flutterRoot),
|
||||||
|
outputDir: globals.fs.directory(getBuildDirectory()),
|
||||||
|
processManager: globals.processManager,
|
||||||
|
platform: globals.platform,
|
||||||
|
projectDir: project.directory,
|
||||||
|
generateDartPluginRegistry: true,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Generate the l10n synthetic package that will be injected into the
|
||||||
|
// package_config in the call to pub.get() below.
|
||||||
|
await generateLocalizationsSyntheticPackage(
|
||||||
|
environment: environment,
|
||||||
|
buildSystem: globals.buildSystem,
|
||||||
|
);
|
||||||
|
|
||||||
await pub.get(
|
await pub.get(
|
||||||
context: PubContext.create,
|
context: PubContext.create,
|
||||||
directory: directory.path,
|
directory: directory.path,
|
||||||
|
@ -1291,7 +1291,9 @@ class LocalizationsGenerator {
|
|||||||
// A pubspec.yaml file is required when using a synthetic package. If it does not
|
// A pubspec.yaml file is required when using a synthetic package. If it does not
|
||||||
// exist, create a blank one.
|
// exist, create a blank one.
|
||||||
if (useSyntheticPackage) {
|
if (useSyntheticPackage) {
|
||||||
final Directory syntheticPackageDirectory = _fs.directory(_defaultSyntheticPackagePath(_fs));
|
final Directory syntheticPackageDirectory = projectDirectory != null
|
||||||
|
? projectDirectory!.childDirectory(_defaultSyntheticPackagePath(_fs))
|
||||||
|
: _fs.directory(_defaultSyntheticPackagePath(_fs));
|
||||||
syntheticPackageDirectory.createSync(recursive: true);
|
syntheticPackageDirectory.createSync(recursive: true);
|
||||||
final File flutterGenPubspec = syntheticPackageDirectory.childFile('pubspec.yaml');
|
final File flutterGenPubspec = syntheticPackageDirectory.childFile('pubspec.yaml');
|
||||||
if (!flutterGenPubspec.existsSync()) {
|
if (!flutterGenPubspec.existsSync()) {
|
||||||
|
@ -147,6 +147,8 @@ void main() {
|
|||||||
projectDir,
|
projectDir,
|
||||||
<String>['-t', 'skeleton', '-i', 'objc', '-a', 'java', '--implementation-tests'],
|
<String>['-t', 'skeleton', '-i', 'objc', '-a', 'java', '--implementation-tests'],
|
||||||
<String>[
|
<String>[
|
||||||
|
'.dart_tool/flutter_gen/pubspec.yaml',
|
||||||
|
'.dart_tool/flutter_gen/gen_l10n/app_localizations.dart',
|
||||||
'analysis_options.yaml',
|
'analysis_options.yaml',
|
||||||
'android/app/src/main/java/com/example/flutter_project/MainActivity.java',
|
'android/app/src/main/java/com/example/flutter_project/MainActivity.java',
|
||||||
'android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java',
|
'android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user