Commit bc8e5607 authored by Devon Carew's avatar Devon Carew

run flutter doctor as part of create

parent 755a180a
......@@ -80,13 +80,6 @@ class CreateCommand extends Command {
printStatus('');
String message = '''
All done! To run your application:
\$ cd ${projectDir.path}
\$ flutter run
''';
if (argResults['pub']) {
int code = await pubGet(directory: projectDir.path);
if (code != 0)
......@@ -94,7 +87,32 @@ All done! To run your application:
}
printStatus('');
printStatus(message);
// Run doctor; tell the user the next steps.
if (doctor.canLaunchAnything) {
// Let them know a summary of the state of their tooling.
doctor.summary();
printStatus('''
All done! In order to run your application, type:
\$ cd ${projectDir.path}
\$ flutter run
''');
} else {
printStatus("You'll need to install additional components before you can run "
"your Flutter app:");
printStatus('');
// Give the user more detailed analysis.
doctor.diagnose();
printStatus('');
printStatus("After installing components, run 'flutter doctor' in order to "
"re-validate your setup.");
printStatus("When complete, type 'flutter run' from the '${projectDir.path}' "
"directory in order to launch your app.");
}
return 0;
}
......@@ -105,7 +123,7 @@ All done! To run your application:
String projectIdentifier = _createProjectIdentifier(path.basename(dirPath));
String relativeFlutterPackagesDirectory = path.relative(flutterPackagesDirectory, from: dirPath);
printStatus('Creating ${path.basename(projectName)}...');
printStatus('Creating project ${path.basename(projectName)}:');
projectDir.createSync(recursive: true);
......@@ -117,7 +135,7 @@ All done! To run your application:
};
if (renderDriverTest)
templateContext['withDriverTest?'] = {};
templateContext['withDriverTest?'] = <String, dynamic>{};
Template createTemplate = new Template.fromName('create');
createTemplate.render(new Directory(dirPath), templateContext,
......
......@@ -29,7 +29,7 @@ Future<int> pubGet({
}
if (!pubSpecLock.existsSync() || pubSpecYaml.lastModifiedSync().isAfter(pubSpecLock.lastModifiedSync())) {
printStatus("Running 'pub get' in '$directory'...");
printStatus("Running 'pub get' in $directory${Platform.pathSeparator}...");
int code = await runCommandAndStreamOutput(
<String>[sdkBinaryName('pub'), '--verbosity=warning', 'get'],
workingDirectory: directory
......
......@@ -38,8 +38,7 @@ class Template {
return;
}
List<FileSystemEntity> templateFiles =
templateSource.listSync(recursive: true);
List<FileSystemEntity> templateFiles = templateSource.listSync(recursive: true);
for (FileSystemEntity entity in templateFiles) {
if (entity is! File) {
......@@ -67,8 +66,7 @@ class Template {
String destinationDirPath = destination.absolute.path;
_templateFilePaths.forEach((String relativeDestPath,
String absoluteSrcPath) {
_templateFilePaths.forEach((String relativeDestPath, String absoluteSrcPath) {
String finalDestinationPath = path
.join(destinationDirPath, relativeDestPath)
.replaceAll(_kCopyTemplateExtension, '')
......@@ -83,14 +81,14 @@ class Template {
if (finalDestinationFile.existsSync()) {
if (overwriteExisting) {
finalDestinationFile.delete(recursive: true);
printStatus('$relativePathForLogging exists. Overwriting.');
printStatus(' $relativePathForLogging (overwritten)');
} else {
// The file exists but we cannot overwrite it, move on.
printStatus('$relativePathForLogging exists. Skipping.');
printStatus(' $relativePathForLogging (existing - skipped)');
return;
}
} else {
printStatus('$relativePathForLogging created.');
printStatus(' $relativePathForLogging');
}
finalDestinationFile.createSync(recursive: true);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment