From 038367ad24aa1b14bced546a07cb2e9313626cb3 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Tue, 23 Feb 2016 15:40:51 -0800 Subject: [PATCH] Remove all inline templates and provide a way to specify templates as resources --- .../lib/src/commands/create.dart | 298 ++---------------- .../lib/src/ios/setup_xcodeproj.dart | 163 ---------- packages/flutter_tools/lib/src/template.dart | 132 ++++++++ .../templates/create/.analysis_options.tmpl | 3 + .../templates/create/.gitignore.tmpl | 9 + .../templates/create/README.md.tmpl | 8 + .../create/android/AndroidManifest.xml.tmpl | 22 ++ .../create/android/res/.empty.copy.tmpl | 1 + .../templates/create/flutter.yaml.tmpl | 6 + .../AppIcon.appiconset/Contents.json | 142 +++++++++ .../AppIcon.appiconset/Icon-60@2x.png | Bin 0 -> 4630 bytes .../AppIcon.appiconset/Icon-60@3x.png | Bin 0 -> 7707 bytes .../AppIcon.appiconset/Icon-76.png | Bin 0 -> 2763 bytes .../AppIcon.appiconset/Icon-76@2x.png | Bin 0 -> 6241 bytes .../AppIcon.appiconset/Icon-83.5@2x.png | Bin 0 -> 6981 bytes .../AppIcon.appiconset/Icon-Small-40.png | Bin 0 -> 1293 bytes .../AppIcon.appiconset/Icon-Small-40@2x.png | Bin 0 -> 2952 bytes .../AppIcon.appiconset/Icon-Small-40@3x.png | Bin 0 -> 4630 bytes .../AppIcon.appiconset/Icon-Small.png | Bin 0 -> 869 bytes .../AppIcon.appiconset/Icon-Small@2x.png | Bin 0 -> 1976 bytes .../AppIcon.appiconset/Icon-Small@3x.png | Bin 0 -> 3216 bytes .../AppIcon.appiconset/icon_128x128.png | Bin 0 -> 5057 bytes .../AppIcon.appiconset/icon_128x128@2x.png | Bin 0 -> 11759 bytes .../AppIcon.appiconset/icon_16x16.png | Bin 0 -> 425 bytes .../AppIcon.appiconset/icon_16x16@2x.png | Bin 0 -> 952 bytes .../AppIcon.appiconset/icon_256x256.png | Bin 0 -> 11759 bytes .../AppIcon.appiconset/icon_256x256@2x.png | Bin 0 -> 29082 bytes .../AppIcon.appiconset/icon_32x32.png | Bin 0 -> 952 bytes .../AppIcon.appiconset/icon_32x32@2x.png | Bin 0 -> 2237 bytes .../AppIcon.appiconset/icon_512x512.png | Bin 0 -> 29082 bytes .../AppIcon.appiconset/icon_512x512@2x.png | Bin 0 -> 57476 bytes .../templates/create/ios/Info.plist.tmpl | 47 +++ .../create/ios/LaunchScreen.storyboard.tmpl | 27 ++ .../templates/create/lib/main.dart.tmpl | 47 +++ .../templates/create/pubspec.yaml.tmpl | 10 + .../templates/driver/e2e.dart.tmpl | 9 + .../templates/driver/e2e_test.dart.tmpl | 44 +++ 37 files changed, 539 insertions(+), 429 deletions(-) create mode 100644 packages/flutter_tools/lib/src/template.dart create mode 100644 packages/flutter_tools/templates/create/.analysis_options.tmpl create mode 100644 packages/flutter_tools/templates/create/.gitignore.tmpl create mode 100644 packages/flutter_tools/templates/create/README.md.tmpl create mode 100644 packages/flutter_tools/templates/create/android/AndroidManifest.xml.tmpl create mode 100644 packages/flutter_tools/templates/create/android/res/.empty.copy.tmpl create mode 100644 packages/flutter_tools/templates/create/flutter.yaml.tmpl create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Contents.json create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-60@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-60@3x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-76.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-76@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-83.5@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40@3x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small@3x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_128x128.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_128x128@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_16x16.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_16x16@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_256x256.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_256x256@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_32x32.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_32x32@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_512x512.png create mode 100644 packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_512x512@2x.png create mode 100644 packages/flutter_tools/templates/create/ios/Info.plist.tmpl create mode 100644 packages/flutter_tools/templates/create/ios/LaunchScreen.storyboard.tmpl create mode 100644 packages/flutter_tools/templates/create/lib/main.dart.tmpl create mode 100644 packages/flutter_tools/templates/create/pubspec.yaml.tmpl create mode 100644 packages/flutter_tools/templates/driver/e2e.dart.tmpl create mode 100644 packages/flutter_tools/templates/driver/e2e_test.dart.tmpl diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart index f746de5efd3..ba97e3f44ac 100644 --- a/packages/flutter_tools/lib/src/commands/create.dart +++ b/packages/flutter_tools/lib/src/commands/create.dart @@ -6,14 +6,12 @@ import 'dart:async'; import 'dart:io'; import 'package:args/command_runner.dart'; -import 'package:mustache4dart/mustache4dart.dart' as mustache; import 'package:path/path.dart' as path; -import '../android/android.dart' as android; import '../artifacts.dart'; import '../dart/pub.dart'; import '../globals.dart'; -import '../ios/setup_xcodeproj.dart'; +import '../template.dart'; class CreateCommand extends Command { final String name = 'create'; @@ -69,35 +67,28 @@ class CreateCommand extends Command { return 2; } - Directory out; + Directory projectDir; if (argResults.wasParsed('out')) { - out = new Directory(argResults['out']); + projectDir = new Directory(argResults['out']); } else { - out = new Directory(argResults.rest.first); + projectDir = new Directory(argResults.rest.first); } - FlutterSimpleTemplate template = new FlutterSimpleTemplate(); - - if (argResults['with-driver-test']) - template.withDriverTest(); - - template.generateInto( - dir: out, - flutterPackagesDirectory: flutterPackagesDirectory - ); + _renderTemplates(projectDir, flutterPackagesDirectory, + renderDriverTest: argResults['with-driver-test']); printStatus(''); String message = ''' All done! To run your application: - \$ cd ${out.path} + \$ cd ${projectDir.path} \$ flutter run '''; if (argResults['pub']) { - int code = await pubGet(directory: out.path); + int code = await pubGet(directory: projectDir.path); if (code != 0) return code; } @@ -106,74 +97,38 @@ All done! To run your application: printStatus(message); return 0; } -} -abstract class Template { - final String name; - final String description; - final Map files = {}; - final Map additionalTemplateVariables = {}; - - Template(this.name, this.description); - - void generateInto({ - Directory dir, - String flutterPackagesDirectory - }) { - String dirPath = path.normalize(dir.absolute.path); + void _renderTemplates(Directory projectDir, String flutterPackagesDirectory, + { bool renderDriverTest: false }) { + String dirPath = path.normalize(projectDir.absolute.path); String projectName = _normalizeProjectName(path.basename(dirPath)); String projectIdentifier = _createProjectIdentifier(path.basename(dirPath)); + String relativeFlutterPackagesDirectory = path.relative(flutterPackagesDirectory, from: dirPath); + printStatus('Creating ${path.basename(projectName)}...'); - dir.createSync(recursive: true); - String relativeFlutterPackagesDirectory = - path.relative(flutterPackagesDirectory, from: dirPath); - Iterable paths = files.keys.toList()..sort(); + projectDir.createSync(recursive: true); - for (String filePath in paths) { - String contents = files[filePath]; - Map m = { - 'projectName': projectName, - 'projectIdentifier': projectIdentifier, - 'description': description, - 'flutterPackagesDirectory': relativeFlutterPackagesDirectory, - }; - m.addAll(additionalTemplateVariables); - contents = mustache.render(contents, m); - filePath = filePath.replaceAll('/', Platform.pathSeparator); - File file = new File(path.join(dir.path, filePath)); - file.parent.createSync(recursive: true); - file.writeAsStringSync(contents); - printStatus(' ${file.path}'); + Map templateContext = { + 'projectName': projectName, + 'projectIdentifier': projectIdentifier, + 'description': description, + 'flutterPackagesDirectory': relativeFlutterPackagesDirectory, + }; + + if (renderDriverTest) + templateContext['withDriverTest?'] = {}; + + Template createTemplate = new Template.fromName('create'); + createTemplate.render(new Directory(dirPath), templateContext, + overwriteExisting: false); + + if (renderDriverTest) { + Template driverTemplate = new Template.fromName('driver'); + driverTemplate.render(new Directory(path.join(dirPath, 'test_driver')), + templateContext, overwriteExisting: false); } } - - String toString() => name; -} - -class FlutterSimpleTemplate extends Template { - FlutterSimpleTemplate() : super('flutter-simple', 'A simple Flutter app.') { - files['.analysis_options'] = _analysis_options; - files['.gitignore'] = _gitignore; - files['flutter.yaml'] = _flutterYaml; - files['pubspec.yaml'] = _pubspec; - files['README.md'] = _readme; - files['lib/main.dart'] = _libMain; - - // Android files. - files['android/AndroidManifest.xml'] = _apkManifest; - // Create a file here in order to create the res/ directory and ensure it gets committed to git. - files['android/res/.empty'] = _androidEmptyFile; - - // iOS files. - files.addAll(iosTemplateFiles); - } - - void withDriverTest() { - additionalTemplateVariables['withDriverTest?'] = {}; - files['test_driver/e2e.dart'] = _e2eApp; - files['test_driver/e2e_test.dart'] = _e2eTest; - } } String _normalizeProjectName(String name) { @@ -191,192 +146,3 @@ String _createProjectIdentifier(String name) { name = name.length == 0 ? 'untitled' : name; return 'com.yourcompany.$name'; } - -const String _analysis_options = r''' -analyzer: - exclude: - - 'ios/.generated/**' -'''; - -const String _gitignore = r''' -.DS_Store -.atom/ -.idea -.packages -.pub/ -build/ -ios/.generated/ -packages -pubspec.lock -'''; - -const String _readme = r''' -# {{projectName}} - -{{description}} - -## Getting Started - -For help getting started with Flutter, view our online -[documentation](http://flutter.io/). -'''; - -const String _pubspec = r''' -name: {{projectName}} -description: {{description}} -dependencies: - flutter: - path: {{flutterPackagesDirectory}}/flutter -{{#withDriverTest?}} -dev_dependencies: - flutter_driver: - path: {{flutterPackagesDirectory}}/flutter_driver -{{/withDriverTest?}} -'''; - -const String _flutterYaml = r''' -name: {{projectName}} -material-design-icons: - - name: content/add - - name: navigation/arrow_back - - name: navigation/menu - - name: navigation/more_vert -'''; - -const String _libMain = r''' -import 'package:flutter/material.dart'; - -void main() { - runApp( - new MaterialApp( - title: 'Flutter Demo', - routes: { - '/': (RouteArguments args) => new FlutterDemo() - } - ) - ); -} - -class FlutterDemo extends StatefulComponent { - State createState() => new _FlutterDemoState(); -} - -class _FlutterDemoState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - _counter++; - }); - } - - Widget build(BuildContext context) { - return new Scaffold( - toolBar: new ToolBar( - center: new Text('Flutter Demo') - ), - body: new Center( - child: new Text( - 'Button tapped $_counter times.', - key: const ValueKey('counter') - ) - ), - floatingActionButton: new FloatingActionButton( - key: const ValueKey('fab'), - child: new Icon( - icon: 'content/add' - ), - onPressed: _incrementCounter - ) - ); - } -} -'''; - -const String _e2eApp = ''' -// Starts the app with Flutter Driver extension enabled to allow Flutter Driver -// to test the app. -import 'package:{{projectName}}/main.dart' as app; -import 'package:flutter_driver/driver_extension.dart'; - -main() { - enableFlutterDriverExtension(); - app.main(); -} -'''; - -const String _e2eTest = ''' -// This is a basic Flutter Driver test for the application. A Flutter Driver -// test is an end-to-end test that "drives" your application from another -// process or even from another computer. If you are familiar with -// Selenium/WebDriver for web, Espresso for Android or UI Automation for iOS, -// this is simply Flutter's version of that. -// -// To start the test run the following command from the root of your application -// package: -// -// flutter drive --target=test_driver/e2e.dart -// -import 'package:flutter_driver/flutter_driver.dart'; -import 'package:test/test.dart'; - -main() { - group('end-to-end test', () { - FlutterDriver driver; - - setUpAll(() async { - // Connect to a running Flutter application instance. - driver = await FlutterDriver.connect(); - }); - - tearDownAll(() async { - if (driver != null) driver.close(); - }); - - test('find the floating action button by value key', () async { - ObjectRef elem = await driver.findByValueKey('fab'); - expect(elem, isNotNull); - expect(elem.objectReferenceKey, isNotNull); - }); - - test('tap on the floating action button; verify counter', () async { - ObjectRef fab = await driver.findByValueKey('fab'); - expect(fab, isNotNull); - await driver.tap(fab); - ObjectRef counter = await driver.findByValueKey('counter'); - expect(counter, isNotNull); - String text = await driver.getText(counter); - expect(text, contains("Button tapped 1 times.")); - }); - }); -} -'''; - -final String _apkManifest = ''' - - - - - - - - - - - - - - -'''; - -final String _androidEmptyFile = ''' -Place Android resources here (http://developer.android.com/guide/topics/resources/overview.html). -'''; diff --git a/packages/flutter_tools/lib/src/ios/setup_xcodeproj.dart b/packages/flutter_tools/lib/src/ios/setup_xcodeproj.dart index f91ab4ee815..ced4c0c19bd 100644 --- a/packages/flutter_tools/lib/src/ios/setup_xcodeproj.dart +++ b/packages/flutter_tools/lib/src/ios/setup_xcodeproj.dart @@ -12,13 +12,6 @@ import '../base/process.dart'; import '../globals.dart'; import '../runner/flutter_command_runner.dart'; -/// A map from file path to file contents. -final Map iosTemplateFiles = { - 'ios/Info.plist': _infoPlistInitialContents, - 'ios/LaunchScreen.storyboard': _launchScreenInitialContents, - 'ios/Assets.xcassets/AppIcon.appiconset/Contents.json': _iconAssetInitialContents -}; - Uri _xcodeProjectUri(String revision) { String uriString = 'https://storage.googleapis.com/flutter_infra/flutter/$revision/ios/FlutterXcode.zip'; return Uri.parse(uriString); @@ -162,159 +155,3 @@ Future setupXcodeProjectHarness(String flutterProjectPath) async { return 0; } - -final String _infoPlistInitialContents = ''' - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - Runner - CFBundleIdentifier - {{projectIdentifier}} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - {{projectName}} - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - arm64 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - -'''; - -final String _launchScreenInitialContents = ''' - - - - - - - - - - - - - - - - - - - - - - - - - - - -'''; - -final String _iconAssetInitialContents = ''' -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "83.5x83.5", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} -'''; diff --git a/packages/flutter_tools/lib/src/template.dart b/packages/flutter_tools/lib/src/template.dart new file mode 100644 index 00000000000..ae40612d6eb --- /dev/null +++ b/packages/flutter_tools/lib/src/template.dart @@ -0,0 +1,132 @@ +// Copyright 2016 The Chromium Authors. 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 'package:path/path.dart' as path; +import 'package:mustache4dart/mustache4dart.dart' as mustache; + +import 'artifacts.dart'; +import 'globals.dart'; + +const String _kTemplateExtension = '.tmpl'; +const String _kCopyTemplateExtension = '.copy.tmpl'; + +/// Expands templates in a directory to a destination. All files that must +/// undergo template expansion should end with the '.tmpl' extension. All other +/// files are ignored. In case the contents of entire directories must be copied +/// as is, the directory itself can end with '.tmpl' extension. Files within +/// such a directory may also contain the '.tmpl' extension and will be +/// considered for expansion. In case certain files need to be copied but +/// without template expansion (images, data files, etc.), the '.copy.tmpl' +/// extension may be used. +/// +/// Files in the destination will not contain either the '.tmpl' or '.copy.tmpl' +/// extensions. +class Template { + factory Template.fromName(String name) { + // All named templates are placed in the 'templates' directory + Directory templateDir = _templateDirectoryInPackage(name); + return new Template(templateDir, templateDir); + } + + Template(Directory templateSource, Directory baseDir) { + _templateFilePaths = new Map(); + + if (!templateSource.existsSync()) { + return; + } + + List templateFiles = + templateSource.listSync(recursive: true); + + for (FileSystemEntity entity in templateFiles) { + if (entity is! File) { + // We are only interesting in template *file* URIs. + continue; + } + + String relativePath = path.relative(entity.path, + from: baseDir.absolute.path); + + if (relativePath.contains(_kTemplateExtension)) { + // If '.tmpl' appears anywhere within the path of this entity, it is + // is a candidate for rendering. This catches cases where the folder + // itself is a template. + _templateFilePaths[relativePath] = path.absolute(entity.path); + } + } + } + + Map _templateFilePaths; + + void render(Directory destination, Map context, + { bool overwriteExisting: true }) { + destination.createSync(recursive: true); + + String destinationDirPath = destination.absolute.path; + + _templateFilePaths.forEach((String relativeDestPath, + String absoluteSrcPath) { + String finalDestinationPath = path + .join(destinationDirPath, relativeDestPath) + .replaceAll(_kCopyTemplateExtension, '') + .replaceAll(_kTemplateExtension, ''); + File finalDestinationFile = new File(finalDestinationPath); + String relativePathForLogging = relativeDestPath + .replaceAll(_kCopyTemplateExtension, '') + .replaceAll(_kTemplateExtension, ''); + + // Step 1: Check if the file needs to be overwritten. + + if (finalDestinationFile.existsSync()) { + if (overwriteExisting) { + finalDestinationFile.delete(recursive: true); + printStatus('$relativePathForLogging exists. Overwriting.'); + } else { + // The file exists but we cannot overwrite it, move on. + printStatus('$relativePathForLogging exists. Skipping.'); + return; + } + } else { + printStatus('$relativePathForLogging created.'); + } + + finalDestinationFile.createSync(recursive: true); + File sourceFile = new File(absoluteSrcPath); + + // Step 2: If the absolute paths ends with a 'copy.tmpl', this file does + // not need mustache rendering but needs to be directly copied. + + if (sourceFile.path.endsWith(_kCopyTemplateExtension)) { + finalDestinationFile.writeAsBytesSync(sourceFile.readAsBytesSync()); + + return; + } + + // Step 3: If the absolute path ends with a '.tmpl', this file needs + // rendering via mustache. + + if (sourceFile.path.endsWith(_kTemplateExtension)) { + String templateContents = sourceFile.readAsStringSync(); + String renderedContents = mustache.render(templateContents, context); + + finalDestinationFile.writeAsStringSync(renderedContents); + + return; + } + + // Step 4: This file does not end in .tmpl but is in a directory that + // does. Directly copy the file to the destination. + + finalDestinationFile.writeAsBytesSync(sourceFile.readAsBytesSync()); + }); + } +} + +Directory _templateDirectoryInPackage(String name) { + String templatesDir = path.join(ArtifactStore.flutterRoot, + 'packages', 'flutter_tools', 'templates'); + return new Directory(path.join(templatesDir, name)); +} diff --git a/packages/flutter_tools/templates/create/.analysis_options.tmpl b/packages/flutter_tools/templates/create/.analysis_options.tmpl new file mode 100644 index 00000000000..a9b94d74906 --- /dev/null +++ b/packages/flutter_tools/templates/create/.analysis_options.tmpl @@ -0,0 +1,3 @@ +analyzer: + exclude: + - 'ios/.generated/**' diff --git a/packages/flutter_tools/templates/create/.gitignore.tmpl b/packages/flutter_tools/templates/create/.gitignore.tmpl new file mode 100644 index 00000000000..14c7d4c3f73 --- /dev/null +++ b/packages/flutter_tools/templates/create/.gitignore.tmpl @@ -0,0 +1,9 @@ +.DS_Store +.atom/ +.idea +.packages +.pub/ +build/ +ios/.generated/ +packages +pubspec.lock diff --git a/packages/flutter_tools/templates/create/README.md.tmpl b/packages/flutter_tools/templates/create/README.md.tmpl new file mode 100644 index 00000000000..db004856f4f --- /dev/null +++ b/packages/flutter_tools/templates/create/README.md.tmpl @@ -0,0 +1,8 @@ +# {{projectName}} + +{{description}} + +## Getting Started + +For help getting started with Flutter, view our online +[documentation](http://flutter.io/). diff --git a/packages/flutter_tools/templates/create/android/AndroidManifest.xml.tmpl b/packages/flutter_tools/templates/create/android/AndroidManifest.xml.tmpl new file mode 100644 index 00000000000..9c200fe5f3e --- /dev/null +++ b/packages/flutter_tools/templates/create/android/AndroidManifest.xml.tmpl @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/packages/flutter_tools/templates/create/android/res/.empty.copy.tmpl b/packages/flutter_tools/templates/create/android/res/.empty.copy.tmpl new file mode 100644 index 00000000000..d1531545923 --- /dev/null +++ b/packages/flutter_tools/templates/create/android/res/.empty.copy.tmpl @@ -0,0 +1 @@ +Place Android resources here (http://developer.android.com/guide/topics/resources/overview.html). diff --git a/packages/flutter_tools/templates/create/flutter.yaml.tmpl b/packages/flutter_tools/templates/create/flutter.yaml.tmpl new file mode 100644 index 00000000000..7dfaee1530d --- /dev/null +++ b/packages/flutter_tools/templates/create/flutter.yaml.tmpl @@ -0,0 +1,6 @@ +name: {{projectName}} +material-design-icons: + - name: content/add + - name: navigation/arrow_back + - name: navigation/menu + - name: navigation/more_vert diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Contents.json b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000000..363d1c4ce4f --- /dev/null +++ b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Contents.json @@ -0,0 +1,142 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-Small@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-Small@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-Small-40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-Small-40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-60@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-Small.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-Small@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-Small-40.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-Small-40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-76.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "icon_16x16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "icon_16x16@2x.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "icon_32x32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "icon_32x32@2x.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "icon_128x128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "icon_128x128@2x.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "icon_256x256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "icon_256x256@2x.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "icon_512x512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "icon_512x512@2x.png", + "scale" : "2x" + } + ] +} \ No newline at end of file diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-60@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9996f5e598a72e8bef1db45c0b41ca9da6db01cd GIT binary patch literal 4630 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 literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-60@3x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7a543edbdd4abd8835a0ef3e7d561801dffe1394 GIT binary patch literal 7707 zcmeI1*H;rvxb+jN^d?=pydX&LJv0$eniL6Lq)RjOW{}>4(gZ?Bqzi@;IttPxgf195 zA@mMG>gT!t{(y6FE@t-C>{)A`^~_!~zXT%#9V&7*asU88rTbLN-@2 zNd6Nb#6(8}P=|W31pshN>uRZ+1_AfraoLP!1p{IVx~Nb8JvD8llZsE3a*l(K%lyhG z!v&pp&-n!e2F&^|z|CCNStMZEMB3WK{LK!5L{Jye!^U5|id)B1S@)lYyY%U~uE zB^sG)z@7}87l#Rxu@pgM;Ib@)2nTKpdT|iWUC~pV#PtWL?%z_>wBNivB|0|JTDJ!P zuiirRvJ_DfB0oTZiWZY@Q4%0_lDGUoLchAtlO&E%S<3%~8*S!PkC*w0Gous(FQJf% za|Mfczmbp%_|?jL$lkodY(pNzCPZo05eBiK@~^uBsmjT`IC{obB+O(pA~zF`!$cb9 zD_u81TvBaG8VCoeV(=H+W?h$GG?{63ZyDh1@{B%&Z-ueCMet5Gq;g~ovW@d_-)aZb zQm7Dk8;YARmDO;wiM%3(z8gmxEWp{thmdq~#mKlAx9Pg{f0dwHT@LGnT&WTL+R0Z6 z-KK{nHTf!d0=>pRP}{)SWe1SPEy1wt7ur@GGXRe9ns@jZNPCu&1zrTqTl0i^Qnsfn zXz^r+tlOtJDV6AUU*68Kvh;eVn(B_}p&k!B-@Wh}l z)N&ysZ)|1a&k?oSN%(pPxnkjo6(!oq;IMcU`j;xXYi$VlH&K*e`&?Ozz&~3RMU@-S zZ};a~jARo=dqGDnTw`Xf3emF%}b-T@vGuS_~jb#!wJRJk`r+Pv5+r{AQ z%AJ>=#|n5J8|K_9duarly+P

-GPZWg$ZYMz%4!@w|FG2)B3o!u0G+Wf!zCIB| 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 KRi|P9{{I1pqUzZI literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-76.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-76.png new file mode 100644 index 0000000000000000000000000000000000000000..05a826810499225d51642e35b7bfd6809d555fb4 GIT binary patch literal 2763 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 ZU@YHZ=R4#=zMAMDWiue&Kxh4}kv0 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 XNFZuvi=+GR69J&3p%1Ei0(t!(8TZ@j literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-83.5@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c924b8e497d193179a5cd916a2539304fa85fc82 GIT binary patch literal 6981 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 literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40.png new file mode 100644 index 0000000000000000000000000000000000000000..3006f1d348c1633d4d076ccf82bb01cec4d92480 GIT binary patch literal 1293 zcmV+o1@iidP)Px($4Nv%R9Fe^m)&y{WfaDrBu)C=l(rUZ1xlf{tpx#<3l$x`P#ER&fNtQbgwJLi3<)m3mlZnNKAV8AIx5rb{>{~J}>=wQOaiU zNBtdL(g0F;@t`!wJ;*lA;M`^D%2!Uv5Gh^D3VCVx9f0nTzB>zJP~!TVRtsEF-VKjS z$KQkT9&e;gRdIF>=DsEn-$CwT-mt5Gg#kaGl`i~9ngL?W*&MsVq&aFu#PhX3q_ba0 z_h(k;+S9rzUcmWrLdrdI#BV{H+N4_)LKyvo(9(KlA95|-(!VJ{K3HFG1~heF`soMh z!!xT<0|74Lc=KB+eUlU*>hc#O;Eb{67RDw4y&Lf({Oldx!$gpUjNyLiHk&l&o@)5_ zJm>ZD0n9x_$X`m0^>WSN$#1u1g!#Tn`(_q3H-AQ3|EbNVbBGr z_=zLZvA4VeLZgWb&ViBf(rHC>k?EcBd zta9_59(PS90jYIa8+l1O{kb&$a%FVyvkzcfpEUXb3;_TTb zSo#Iu$PliuVkw`d881^{m1Yd*8IQy6iI1g^K9#zkat!)NwcX`t4J9fyN_%JmND+qe zELa4rVYM`eU}kArI>=&aDm#hKbv8G_m1X`646m@qq-9!D3!6Ury7bDMPHHQ`ul4LX zN#-9*=jisgZaD5y7VaR8-RPu?t+WC#Vn6|1fHkY=7(R&!=@OfC#~f;81?jK%1C?Xb`ZL!DF`bpc({0RS)T zlCHw&Z)~y`pamE+fTLvM=o_55d(63Z^8ifFl2XqbZ-X^WrC~5-c?N{}TH|hKBRv2f zKzj+8?5DjPLR*u^HV@3*iU*GMqqSOsJE8JKumZ}=a~!4t279ANoX;y``L!`*0pNPg z1JJbMtJr`QtQxJD?20kxg?&yc4~&ymA}+$RbpbmaB4r%}1liy#55V4jM}tVmV+P3j zq5(3qrfgy#8sQoxrO!K+ZDaO98YAV_fVaXt0LKqYmoFiBgdRd;W|mUZSr>)TKj3^= zn&7Q}l}{bVZRNKWl3iP6o;G7aXVB8r6&QoH_D%=L4!~IDuJpC7T73g?d;m8v=b5@Z zN#rwKv!=xw0BfQvz`4O-04X)SYA{$6T>;M9p27bCj%Q?wEsDZ100000NkvXXu0mjf D%FSK% literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5f7d22d364df330c5ac4ef603ddaf04a42b95e99 GIT binary patch literal 2952 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 K!l=^FIr2YUqK8=k literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40@3x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small-40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9996f5e598a72e8bef1db45c0b41ca9da6db01cd GIT binary patch literal 4630 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 literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small.png new file mode 100644 index 0000000000000000000000000000000000000000..3433da11966752007a87523c4804e71f51fc8547 GIT binary patch literal 869 zcmV-r1DgDaP)Px&A4x<(R7ef&mdj5QVHCwrTNt3_Aqeskh&+6N7+-8KB*wVV#6*`abm<>vqH*QI zwOd0>OfXT20uiD-1QdCcQYb_5cROi21&OTzj0rcHbmsfMd(XY+o;%aPHl{(5ha`7Hiky%-Zb?;b`9}&AGN)_brBBbL z<*!nZbOQk?xg|Lj(&a}|X^k}hO^Pl_;c}^_PAVzgolM@98kO&#c$9{mY#;;QSe6#Y zq^V75@THeXFeFtTlg{)?m-?l$aMmZUN|Ubi;jy$ZE`^G-&Y3&<8YcMbQE4mTF<^U1 z*0=C&I4Rw^PYYneY*(clD^T!l?!ucAWNgafS^<0a};N}uPXO?n*i z%|np;AU@Myq|sriZ@}})0gcU4(KE?)ES+hjUsInNqX&6be?>GC5 zY_itYDcyYtOV!z39~lHkalbRmwiO{cR6kV4i3To!gFMIZ`9V@fW!kKdArkDr0pJ5q zQ0YDU&7rrc4<;w*AJ;YgT#lr;j+#5u=WfHNi>yIR|&Yd2x1 z)dK9c9MGw0f*@^|N+LKHLtDV8LyIoPD_$PB|W^CA8UL7Ezi&RcR zdszl_VnllJ)C(S9wTPaE8SDz^D<^=BSrB!0Q`t&H8YYPr))PEe*Gd;)sh7(?kADO; zS-a5WARIHJY?Vr)jF71~L?X5qS)@v+9AkM6@awlpOC)VFCUI(EM`Vz1GtheYD<{qMV&{ vo5Oxs4(NUa%qIq&Iea?;Jy6d73BA7n_fhU>{}Olf00000NkvXXu0mjf4_u8- literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/Icon-Small@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f9f16d1b4c2a8509064fa253b9ab3537be1571 GIT binary patch literal 1976 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 PnH-?1sG(3NXBqK7FUEtY literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_128x128@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1909e275118bcfa992bbcaac677508cf3cf57fe3 GIT binary patch literal 11759 zcmeHtRacx%6YUHTGC*((?jAxQ!CeOk79>G}MIjvABnPyt*8#WnK`k`%R$(|MFj&9^ zG6AyD!=-vauYnk1ck^ztJ)oYwKn8+$XbJ!zez)7&^Qd0f1cVVANGR14;$SHFKM1`4 z5ApxfSv*i+g!jPHb310YR{ONZTk@PvhUMWB(58jxBTTJhkr5^xSvZ526bWi7p{vVZqMz_N1nq zs%%#0*V99{$2Gn5lW?4t-mf)=mVKZc@tsu*IuQ@sY%+uujam_`td3UknwDAg{cg+z z0{z$|@k8*Zrd+CkD$oyUNx_iDt@EJ=fC4~|$*ANqSMuQNB_%xGcWd=~#hqZoKd!I! zgcORV|Cq!Z?JHf9PaW-#&;pJ)-DcEQK0dphHHcf1|!sn#Vz0^%27Bp|L}j1TF~ zk=S})FsJHa|Ijramq(1SLhVumnF4e0HQLi7#8FEkJl8xqDcbYB3A0bm__|xC|G_sy z`^LxaN5KB_)V?jiAochA6liq@WMy4Z3Mtm^gH4@u{G8E zW+r&s<(|2J)WaTmo1*?ssHSPr$tUJH1|0}Trf!`sj{W{voF9}1zhkEb^XL^ymLpbxBsE)`a4lIds_YRi#(bfXiwb8k51lVfqdCVF06(W6r|;o zyK-MR?ST&;o#!ExeIh1UFp&p=i1n-9qLl)*$x%kRUH9S@Pjw@IcsP_j>*`hGr4cST zd5-q0++oM^s$YLv0bacBuS(BZxsDb?93pyouC`t}@DY-ht|BT0$W+gLu(990;`fRo zH4j-}W^F&14I>`6dq{P8xqCLknazU(I5YUF4WmqLGpX@@rXX$nN7{+iLX~dyJZHQP z$uA8E+PcnW9)flu#({2)qY6i(Cw}iMAb6sA}46 zaL7c~y?Ol|yWXR~szrd1|1MHNZ(x55Odhs|wW~xeSqL{(j{6Lm4RgWH9xnb>DX)%3 zIuD{qM(Es`)mu}&nl@bo**T;oJKrgy#LO~4KL;h!-=1ySF$LQ9RLp}T1clnRUqFQ_ zbH}p3d(d@RI-WlY&W3SX9e+Z|A)yYSMc zC_3h+YjSZeh%S%%uf?iw7@ekr=pycjD zob(^*1^nr^R(HO}C}%hHJYqwYU6{8R*)wpP{Tai)xs9t5QK*o9Q_W=9qTH6`+CnJ+ zgehD0Zg(jHo=i{M@R`;mKYO|&Iv_XPM%J(tJ|`K>2AIj2 zMjh#>cDU)EuMT`WFBUXw|9}ceQuyx1f!zKwem}U8ul1V&jp%G|<6!&u?edx^+)U-T zWn^reQAP9VeXO8A`bF?7&+u21AbTTbzKkNYN_2-O|MhiVw87tzi8BdfbO&1&AjbDn zqL}aiXfsf_RAn$7X)xZ!G)+sQIw%{0;rO<&D~=W(Ws;{tMIG&BrvT8Q%`D2!U3q9` zj+`B~R;=grKrQd@qY@j&xgR6)ifGw(rvlX43CrSrQc=s&&R1yfftP0g9PL7k{;d|S zq+Sd0g2@-%Ii7*2i92EW$aL1|*5UBZyCR0fE9TYqqtg=Q7|<_k_=NE7k=Df--4$MY zZFhS5EmMt@oYbsIeB?%J-Chjn%`4rKOc^hGW=X5=F!f_qG}($V0)`i=zZe0w$AaHE zX+#Qs`l-z#^M1t(2Sz!|GuM0N3OM^!iWBg;rL7&WMka|PL=Y2kfa!s|@b~q(9@%68 zHZjF{aXtLL>oG(90)1eU&7;e(^5ZC3zyJjUSC8SGIF5)-{;|giBK5xIUbJIxd_4q2|Bfi_v(@|A z8A%U&sLF3^ex|_Kq_W_NhMKIw7oWbp4`<^vUp~*-Ic(B>Yx>p-I48sO1vrG?usP`q z=g%+9af8JI_~f3>2D;Ut+{jw#(>K?da`_>T(L4yzL;n4KxmOap`>XGv+VU1w;d%nk z=#vsvL2E1=3e}R{X0GduxvY)JyW9@2#nGmd+~u!NPLfPbCV`4-%RMNB=J+P=IorM@ z6|gwL$+hG7c;YeF?{~!Guix30gMhxVmA2dUE73b^`D+JQTYTM;h2wd!OMqv;@PjId z_t+dGQJ_}@NxS61{h!C>od30 zmHVfC^MQ}!PCoWck3N_b6@u2SsP(YR_45TixdJ%T+`Ql*#Ui~b0BlJ)2BOE+b{j3# zS*~c+A{yI5h%?5zQnAlT)`FVP{h(89$9@QLBVD!b!23w8dMot{ax;uXvC@;s%IPCw zV8)s;!P;lTGU^QIwE;9x0r_l%Phqo<-`6rE6E{dUymQ|2dbA!!KqZ`Akb z`ZN|L-`Ra`Gv>bklSLmm!b$X-#&x_xh2%gGpN#s{IBASz&Q=!tkT6VZd3L0=jH+k4 zv$Ns6)Sm!Rx`w~>M`G6|5AZhX)!To*hpko}4#_U~iZzDa8k;py4+f%u_TLf0FY07* zfay|6H|?E=I#0cp3947*qZHSdrKg%!vFFgy4}m=90vk zrqeX)7$$BJM*Yfvsgmt-k;FU~T?Dj*G*eH0*4NQy=yW%#B*2j{I(lNFtrhW~7OqG&DTL3BHJ=}h}R#n*syZm0)P8>gTD&y|DIah03ndLPd?{4=g(x$Dy zPN-=L-?A{jAG=8@02K!>t%VQyoBg0yMq8mZ3QJ$ea`L z{J_j(iNs-LbmLvo?@490fsHeBua?uKXaOUE?ol#rR6H&>kV7#PK&0EP2%EfYwXlIv zOU+P-DUU-%cZNRCnum;bBzio$PPLH%Z&d=fHS;CClr@{% z$NEp%MYv8a4!}~snqKxOL3p~_A7}dFq3H{EIYH+!ZnqiWE=+*%thMY&Mfx$!7*Fcp z$q5W&uc-Vinxg@I`_V?`Vxpbp2YRch${c^-^JQ~~?R}kwCX^J#gn^faYaD`3I(1lonsAz{u$P z0a!Zy!4*Ds(Wu_W>O%L@{s1XdPX`we)sE0}IBg2VhBZ6m*CzXM=^KiTRNbvzbFczO zgVg1ylbeOikx7Ctx=B7BozTCyf7STse8HojIj=2M^hdd3P14tCS?NgEX>E8nhsE>V zim6foV0P{l^6IEp-^pLTeYxX9durxS+in?w=-b=k=_Zil>#f(TtrG+NR412ezl+(l zTjC=QByAzR#naC0K3%H%`78)mNy<0KhUi<=Q2xkC`cTT}Dr{il2V$>o0~?ETFnV#{ z=sLPH`9bp?`S>g>>q(rSI^@+Is^((+PxvDXHjVWzrl@C(92n8k$BsK%#sfkGQnjz9kOcK(wbgA(`Z5%{(&)! ze_>rL?`10bn&{>gGW+kp$SgEelg#Vfsr8@%W~@Cj z17biz1q6BIN54zHZ(ieqq5HJ>G_^%HbMFE17t}(dPsk6OO0^K%AJ;kbyhFpY)36UL z1Q>VesQm^`qbYa3c77Ru=#kjdUKP!5i9S{Dog@V$$6HXzg*IHKY_Lqj+PK6mK1ZGH z-PokJ+?7?i|1FYC>HomlF*2G07)%olC>GE`-N=S(C3|Cx+3em;n`qJ(3qtUTgdDXc zfSKsVuclA)6FGP_>*PW5))}763PTfAN~lE5ypJ?&qq5AXV3zegb&;vEvctg?0DEK* zSSXat3Rnr7=hQ*kFI|L8qABa3V-R$JJdQk0`r57ymVz&#JjBvw8Y%LjS7nsb<$B8} z9eSbjmU*c7%e)5WK9BpZalb>SM=aneYYn1rdl?FU{-x%3Pq7GQt|nw1U3^)iI^DyT!E}^`T52 zToN2<9|)-a7wIcIXP=3StNFuHt(qA#BDU=hoevyt7!8W0-aGDIrxsNvfehb`TGJdB zJO4>#3iQhb6BR5D+{sH^I$Vm#f7rR|qa*VEGY>vS4X<5Xp;A?TP2Ec|zegJcdsI1+ zLe@X!hNM>Fi7mE^mh?B_{%nhze zzGb6M(-hswG5E(s6Zi63`C&-Cj9t<&kILczYK?8TCpSZ#nU4t&?ZqcOoO^d4T6a~& z$S74K+bYGAwYysFT@l`hHDYCpTXMAcaNO9o`y~=$C--j7mVnv~?ah>BlYi^KXNY=qh1|}9zExL68B`QPuykntf01A^OsCI{t|}yJfebCQDKgz=My>b z)!P8hW7|)kE#9KUmIwoDlf*Z7Rqif2((8=3&^O;Ij6o7-TDEPX#O}M42<>51gP{gV z;vLG}VK@>>mgVt!aVj6jl}hq~5O2CJF1FqF`U~;bZZJ}FiuT?sdXkSN zkWg#qC4nM?prQ%15xpYH@l=x~w0sf$h4ir15$#T`tk8?ce?oGY54a>lX@uX|;ZIND zF1VB|`vDP9r`>tnUznNfKbmz9)FDNu9g;WSx*3Hf-m?I#dvTK@g#P*ldPwo-tx@#(rf*dS`6^>Cay@y2BoJ zMe;^NnyIGq4T_R8JylA_+zn+x(~@Zq#0R-PN8s_b>w?(;#;-4IGl>9qi7eq+l+Eu0 zPd+-Ic*zoj4^SccQmN%}Nj-A`DHQNlvnHhOvV4dNj#BvtD!+nJ59sgiNsGgh<#c4j zEEGYzc6iRl=Vx9V<@hi#o&#{ih|kJI?x@iH8XlL@O?&{&;^*)$iDFcsjO>{V?{aSR zH}IwITvi&`kFp@GeOq*VYCoWL?Be$YHypm4C^g)bXIStU_`oGO-r5$%?cwiw-SM1G z?0#sSK#I#Zho(svXi?J}__XPRK@?D{Pvlm9kBO!BYbPh2xYi#LaA z`5Gv!$G-2~L!MPSEBT7JJMM5liK4oHnovZbxjI1PQL#dGo7~*Ato77(-3W~L`@J)$ zc5;hu>pjL0eO2)$$yeyHH-vyw#M%aeyD#ZlIPITq-EoO*mC5H<{Fg}WCm?rw59wrr@2gfJ2ubU;?!#jVsIcg;clhzMPOR1g{5 ziKS#vTAnwF838Q+qm{Zf++xgi#W7Z!Mu`(p;7fI@9K)FEF+Hn)uy)<89S6W1@riBX zwB{%;U+B;c{BnRgS&$EJ+=Q}3(U20>0EnM}o9NvXiwfa%%Fagq7ypB?0)%4}LdmyN3mMxqOdzm;c z7Av_}5338E$`^l;00G=2hSzJ()o7aS?!QI)wYjlJwBTU(+zk4^bj-AQ3s44BK#@_<-r!w^h3 zn~^3VM<9qXPKx+lr~==Zj@KFQ3ruTQT8NdL(y?*}Ont!n&~&X}J42@a7Ry4hRqiXL!mOnV&nd-;Q6=Eka*EohG~W)JAHX! z)YdhG<~I5@8nd>>f+n{>o-VA@)RjBC05-hRuSySbxW4|@FD_1uaPPB)# zz~%bZ-@a`#+JlSDP5iOn3v(H*0niC@>tk5?jg9j#4+lf|%T}I)QxoC3@PCAD^D~UW ze%<}+R^rBD`*Wg^^vgPIQ93wreP0AsslxmjTMYF4puX~m6ix%Baq%Kt1@+-g5kq7c zE;KP&<8`5%>wM(vH%~tzEo+q_sLt0IJ)OWJJx1<}+X1DR#(7~h9X0@&SX;cc{nbPY zq?>*}zA1cYSPCz(QaM-w;aXAnJ~iw!&!cDJ=_L8XIt2px*PgJKHebW#K3HPAjWMCn z=H;Cf<;iWuOqGDpZ5EMFVV31r3ULkb>;RaKCD8);cfF#x_bdMb1-ZU4QQEUkIxOR>wRq!z-f)a%5Rf$fac9E=l>`%gdVWKebSvttglhN|O60fX z5f0`6@IF*J?ofIqdwB8Z+odHfuV1zpJz^5SSC*OTX%e+bDPG#KVhq(={vjaW2ab5G zE2L?*Y|x0$Hb~Y=Y>He4YTEr1g4;i4J}}1Z!;G)mkvmW6E4m*N_l-v=bR{)C&hG`S zG%srY646eZZSo)+Ko(Uw5hyoAlk-I8-RUwJvVeh4tNCC0kdv6J+?GYfKDxOAfE)7n zRB8BVu~@!bX|y+i#g7H_K8XS214gk}H`<3_j+yI>3Irw}IcBp`$e_n$u{`sIwCK;k zQ>lesx3d+oY#cc$$8gPm+uOOn)HgW4mD|)7f5TQG{w(>)d2&f1mE>{a5R9(n%y(e! zy&q6NMBIPvpnXfqAig)5V~|rMGNF6@NB@*?Fci>g=X!Fy!2C@PO^N%d_7^q-JugRf z(1K6KXxMr3N+!;5Ljnt2SV`;&lkN6_UG|UywGv5iwZaUltU7!H_dB}sf?bN9=lQI_ z_&PNM0Hpw{0TQ;g^Uhh{``7;jTc{lTG*kVX(>F?Bdlu&dN}p!ThsGCr2iVMNd@=t1 z*yktP>Zq#{>gy1RVAX*NDCIo6cheb{fS{r`kfzPd^evgdOES=bf2Q%#o=YHMxDS=h@6U@lwaE&ne(S7HXa4(kF z=aT%*xm?~VMX!V=Cq@sW&$cjJpl0OOM1C*0HubQNQ24b>Vw2spw$%%LGlE`?dlJhp z6EOrNd?ByS=;SDaRWNO*Y(fLWdzf~^B~2a#zcvp9)Q}zGK&DffK~C*LIss<|WEspy z^4C?+94pl0>GZoSu9&oI4y$;!9@AqNp#ESR6W{t_~@$NK0y^$e- z&OW;8E9-zpuo}wp&1c)K#Zp$PhW1bUO+KCB??AZUV%ub&qa)P2qQpCTS$=7o`=#%{ zq%~jowIIicF&`CVl1M0=`DQ%bw8&vJU~-)NE5liTn|;Q_a?C&yuNw}iN%XHTouWTYae*BqIspaF1dg0U-+P2#Fck3q z{RVylS?sDXlLy(#8ySmmW3fdr4g4|}8GK?dlSc+(Rt&0F*8kIk`=2)|f{W)?I-~Da z<4mIlGU9w~xZE6DzG-VS1sU>A={({lM*uB~2%zUTfl?-Z z$JLM|ARHMie$MojVT4vrX!1p=&;5G>eIvLz1v!A9ooZ`GKVfbc#>uC)7??FyODSWjs ztnM(IcY(+E##6Tn4=swYC+sro4XPUJ4OkbFTq07>>@gp&k0y*Q^z&zcSjX%;n*Jzi zh2ix$@?*H>_5{s!D1bLda?A8GJ zF|K~k))Hr;7u4kxTJkks5Hf}Kzr}4Qd!ffR668f~3+6C&vY@}9K+(Sh0td>K4Fi{g!|*UXxF z7g`7f)`5WTN(9+7>#!5{!3E=SSY!{o6(^Le;Y;C*MB?B|NyFmcIEN*l`%LJw#W$+s zT^Eu|5pfsj-@kt$B9^fgc{SNfB_V^Ov4^I{8yO^ycNCg3nXpVMj2xH2o+dhDlfpy4 zrs@shW_%3^Ra0b&DWdFZ?;T-GVbQOLLDgF@zTEjycb&hGat^)Jy~A};*}BDid;`sX z4Yc)ywUhFATBUt|X?^`QX`jFb+q=I>eKsgVCWr>8DA|BoeCvy@K=_v`Uv8zW*_vf_15q z_mevgpuuU|SK1fywanoWMui^X(w%2hU(LsEvBc!0t9Pk@?Zpr)a-OeWRFj1ZX-b&T z6pbsXTkxBR%F2FXb97{1qhIhi@?97<{#z8fq~YFxfA+EXrcTs}5I(1~wR4R(NKejb zy57FYe^?;Ey{8L_V9)W$&WR8y>pOS&%TagA{QN39rZ++xG_Du~v3{ds>w*1ky;b|0 zyzrKh{&roRHqnL;H$2t29-I|eEMh)j!AR+gZOQP)_laax*(OPmG1O=OyJYWv9xpGN z6p`VjT8Yn?`xPxgq!O^@X^gx}uhln6Q3@w*C7f7~Jr&~})z3EiQUL$WPd31gOkDp9 z$X#3H*XnM6e00cm0x=Wdzs@YKdFN0-3^fNL>&TQe~xN>mI1!~%(e_@+YY1Ec;lH94HR!@J+QA-;L-StUxV;}W$m zR?0BH+_B6lU$H{ev|ZYr--dqWl~4}_Xz&-ArTlj#{Ie<)L%$``_&yigS2;Mq?T1T( zzoCB6dO~znTHqk^&$=x;TUkNqpOr6_p;G^00I+mNc+e67eY#T^t%KQ6?E|qFQsE!t z%7iREa3uk4V!79`s&(@t>(jiqCRD*aw&FFZz1 z9NFeDLD8mw?gIK;&umqKCW*l5i}Z*AL4Krc(d#C1#Swe3>&jHV&GgGHIcQwGwQ_Q> z(G1^I3d3Q!CLd3M8{^O&GuRWL@6O+HflVIS7Dh_Pv{HhOWFf)J0g}jEaX8L11#R3L zKT;{q|Ho19i>tT)g;>c)$%c%PDpEH`kjvkgEh^WQiIif-WCYUz@2L+~=8{)jCwjHb z!dh3cZ>|>Tt5T-BtmPKDMKwE}F9CMD#Y}PcBN#B?d0eS>@;TO|-0k#qOprLaQ6Xiv zxd+qpqSa>|&(RzyEhbsQPmWl+$o-*Bb;_au_*6ovL}#zmeyVTio-KJwnWF``hq*o8OiuQ@Ew8-;p{f*BrEzZuoY&5<)o?>zU z#GUj=!1s8pP*GjAEdSe+6vLD3rs8vH6KEl>f7N*SX}29~ZX zOo7Vd&M;K&MfDu*b5`#$BkU<)@b4|&%;4mEnkr0J9*Y+l_R%uNS5hDIbw0mr?RgFD z8$paquI%aUWG*0D*pva~b;LSp-mteT#DJp)>j^Zu4d3p119n!KKGJ8TwCX1;kCe4M>v`e7ar3 zUKXIY4~KfLSdN9~N!fnT--H`QW+z6`aE3%Qv?yYL585Jm_a1J=PyT;G(YYSBzPw+Jx&ON%bRf^-w@ZNd1y$)_I2(n9 ztAVfBNtrkmn!Ex%DK0>YUBbzvE?Ta7tS;0nX@DrtW^a!|=wL87ySOi2IiYRcdLtyh zMPH7dAB~>TaY8nli7VZAqSZGMFfFcsrhhlv!L%7J{_2fq@gqjqJEh?vSw=N(HGxAd zB!S`>Mr6luIMJ}i>EaHHEg6(Ck1=~>V`=raaM=i zJ_%)7ug;6kegg+yPvG}4f`6DnDp>U0c*9D9$Mc33xBF>Y17Z}8E1b5j`kg(W#vZvG z^1@=7@DjvgXuvc$z8SQ#SKUf(3E2n-&=pxwC4tmq%wGPx$V@X6oR5%f}lgmniQ51zg@0pcFrDbSkN@ar*oJbG^4eBj>glN#DVbda<6a*nf zVicJvrlx62f3Hx1h@=H5w^LqNl0J8cM)El zP^+j}uZq6DgEn zQVv}5?Qp>DoaWRPEK-lgArdu0?7~|kq#vay`&P}Gk%LA#Md0(oYz$(X{mC00#@QUf zA!c@SjekcbYt4UAk`rl1k~F*+P~1N^w<3dINoUQ TlYZ*J00000NkvXXu0mjfwQIZE literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_16x16@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_16x16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..06c1a805609c0f9ab826ed1927860c4f042941e7 GIT binary patch literal 952 zcmV;p14sOcP)Px&a!Eu%R9Fe^mf1^`VHC!n8E0{saVgib)U=dDsgx{&gf0Rhh=QQIF8j-(o4U>} zx(M2X1kobR(sJAqx70=*oqlKbEoc;)8xMSZ%lp3PdCqf|8AljX0nJ%J>_Puxtsa?cD9V1cGAf3OAN?oa^SpR1Q7}%o^q=k>!;Bl7@_V{|Gm&4NT zb`(6mwhI{>`sezj{sDZ%LeHtd?vPJ;>WpEX_h>3>iJNT^Q#sq7OjOp5taU zVNsW}HgHF}eoHDYjjtx}SzWODokDuTVWP2tV-Z9O!E(;C8{qeloJXxoIIQ_h^yGCU zz_u9a5Gr{{RcDWM@oKu{N$BWP8iDaq=>t_7BpN??FQ<}Ah@yz94s%&+3Flj!mu>spZNS+=wO!_^9a2 z7BWD~s}-U-FXiXfdihj`)Izj&#_GjMYTTr1Kb9b16Y6*qKeJz=L~L|=OQZ^9t^>5O zS!y8fex_Zj6;lHTv9vDOB$}!5s5=9y;5XjKfXNz62SLm@n?@jG?Z3RzaD}x)0*49| aT!BB6n-3qgkAdO<0000Pn< literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_256x256.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..1909e275118bcfa992bbcaac677508cf3cf57fe3 GIT binary patch literal 11759 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 j{ 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ⅈIl&3NCRL)f3$2P+J%9m3DCfnh~qvpa*VxY1D6}2u=$Grdo=|rU9L&@HocFx6QBK384wSmcaU;LA4dF=!7@kWRawN) zVSq%^+50kEY+k|hb!3n^?zqQ*^WW@}sR&1zCUg$Wqz3V2&K=KB9G6~|Ni3@R?cJXF zWA|rVdj6=!X;9DaXEPZ$78+?zbw*ojMNP2l;iz?(>1Orab-MoVx^4ufru7hx?s6BJ zLFpb_Igjz(z_y}s}j7f!U)bMfWe->!q{E`x|HqWG$n7l@X#>D78CGgQ(#k3H~qlr zV^CVQYf>ifz?oO~UR#G&#;kiBN273-La~L zGp^@LqvcA5VfFQU3Z1@N0)UeOij;W0K0j$r2G!Xg)flGs&oxwTmF<0s4cj&Z@?+1-vCu%NxIsr>l7`LJX~m>MZ5G23wskU zON#;QUq0)~gm(uk3)r?`zH%8DpbD%Aqd+vMgp63U-||`=nO`DU6BtwX?HyEvb;Gru z<-K>H-1_LV-sMB7P5P!nLf6CT+H?Jxs&Eaz1Bn(CW%^A6%xLJ#>+5?XJHI_$+4tp% za(p4_m3=ebE&7A?<95=B^Qp* z%0?)BCdzyphBx9_8rb$PZKRD|4`ey-;ZsI|baK4?cYvifQ!5T-oOqzikkh{ zrwRE)8TesrmnLMZe6c`DMbjTx0D#&vfUkbe1ZrI_(jaZh(_xK$0o+=H-M-IM*+3>` zpj-FKYp<0$`+NoY-7>!3&2xz)l2Ox1Abt5;1ooyzfY>aMGX#^Msk;^r#z~FvKk*-v zuun)?<=wgU=>`SU0OkZubJ+|0ViODC*o=`LbbAj3gy5T5KQ zJ%thUovdb}bIGkMZt=_S>behOa9Me2oap6=;M1k7Ifj3BoREcj5(FBP>Mn@qt~*Ld zB2#=t_HLj4lfEV;nvk#QTj#SrT2HyJ=`oo0iRJ84_exv)V}i^c5H_4E$rbVe0eY(P zGS7dUSYLso8ly66d>i62ZFB=47`%dg}ge|39ySuu<@Y zJD@!Nc{Xsd(&c^Hk}Q;-_IO93Ie#ME0kgD-`QD{GARn|A=!SfsoKSDC8TOh|=pWI4 zz4p=oa2t60WnS!s^%o^483?-7*bb+y>(IAY^D@8FsIYp90Hp=vdP=lglDPhjy%~j( zPUYUq3(D}sihbIJ)^fFKV6p)37s3DrgSCZ9j6bAW?JBp{K>iZqp=I9@XZ5$)J6Ng|6(&o+ZjJ1`71vLNfO`)j*&(-V&i5jWN z<5m=b;hA~ZzlMe20I@_lxsTC9?Buv}75kWhr3Ea1PQq`mJe|^8&i89~?SKO$cB#VZ zP23T)bj(y(rSEmGNYmbV*Hq50Y1Yd@fR%hA6>rEX*~RHHSZ2z;;j@ll`qQ!bASw-xw4aKxR_)X*^)~PjRO>Nq`)FNL7a8-*}<2K>!kv z+~MkH*ngU9PX$4^oO9Ud|MT>HpyU$K_vBJDF6F$5YQNyHR8Go&=bJ$ zN&z@5m zl<()iNehTZe$M@mx}vA{UqOa|o*FaG`Th542v8e?Df`VQp8p8KFo;t!F{0EB1ltBNA;_UW$6C_fU6yH literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_32x32.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..06c1a805609c0f9ab826ed1927860c4f042941e7 GIT binary patch literal 952 zcmV;p14sOcP)Px&a!Eu%R9Fe^mf1^`VHC!n8E0{saVgib)U=dDsgx{&gf0Rhh=QQIF8j-(o4U>} zx(M2X1kobR(sJAqx70=*oqlKbEoc;)8xMSZ%lp3PdCqf|8AljX0nJ%J>_Puxtsa?cD9V1cGAf3OAN?oa^SpR1Q7}%o^q=k>!;Bl7@_V{|Gm&4NT zb`(6mwhI{>`sezj{sDZ%LeHtd?vPJ;>WpEX_h>3>iJNT^Q#sq7OjOp5taU zVNsW}HgHF}eoHDYjjtx}SzWODokDuTVWP2tV-Z9O!E(;C8{qeloJXxoIIQ_h^yGCU zz_u9a5Gr{{RcDWM@oKu{N$BWP8iDaq=>t_7BpN??FQ<}Ah@yz94s%&+3Flj!mu>spZNS+=wO!_^9a2 z7BWD~s}-U-FXiXfdihj`)Izj&#_GjMYTTr1Kb9b16Y6*qKeJz=L~L|=OQZ^9t^>5O zS!y8fex_Zj6;lHTv9vDOB$}!5s5=9y;5XjKfXNz62SLm@n?@jG?Z3RzaD}x)0*49| aT!BB6n-3qgkAdO<0000Pn< literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_32x32@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_32x32@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0f9437146039dc8f0fcffe07d92750b3294feb92 GIT binary patch literal 2237 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 LNkvXXu0mjfJE>iI literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_512x512.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..69c96ef1e27378813dfcf93758cd1ae569077aaf GIT binary patch literal 29082 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 j{ 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ⅈIl&3NCRL)f3$2P+J%9m3DCfnh~qvpa*VxY1D6}2u=$Grdo=|rU9L&@HocFx6QBK384wSmcaU;LA4dF=!7@kWRawN) zVSq%^+50kEY+k|hb!3n^?zqQ*^WW@}sR&1zCUg$Wqz3V2&K=KB9G6~|Ni3@R?cJXF zWA|rVdj6=!X;9DaXEPZ$78+?zbw*ojMNP2l;iz?(>1Orab-MoVx^4ufru7hx?s6BJ zLFpb_Igjz(z_y}s}j7f!U)bMfWe->!q{E`x|HqWG$n7l@X#>D78CGgQ(#k3H~qlr zV^CVQYf>ifz?oO~UR#G&#;kiBN273-La~L zGp^@LqvcA5VfFQU3Z1@N0)UeOij;W0K0j$r2G!Xg)flGs&oxwTmF<0s4cj&Z@?+1-vCu%NxIsr>l7`LJX~m>MZ5G23wskU zON#;QUq0)~gm(uk3)r?`zH%8DpbD%Aqd+vMgp63U-||`=nO`DU6BtwX?HyEvb;Gru z<-K>H-1_LV-sMB7P5P!nLf6CT+H?Jxs&Eaz1Bn(CW%^A6%xLJ#>+5?XJHI_$+4tp% za(p4_m3=ebE&7A?<95=B^Qp* z%0?)BCdzyphBx9_8rb$PZKRD|4`ey-;ZsI|baK4?cYvifQ!5T-oOqzikkh{ zrwRE)8TesrmnLMZe6c`DMbjTx0D#&vfUkbe1ZrI_(jaZh(_xK$0o+=H-M-IM*+3>` zpj-FKYp<0$`+NoY-7>!3&2xz)l2Ox1Abt5;1ooyzfY>aMGX#^Msk;^r#z~FvKk*-v zuun)?<=wgU=>`SU0OkZubJ+|0ViODC*o=`LbbAj3gy5T5KQ zJ%thUovdb}bIGkMZt=_S>behOa9Me2oap6=;M1k7Ifj3BoREcj5(FBP>Mn@qt~*Ld zB2#=t_HLj4lfEV;nvk#QTj#SrT2HyJ=`oo0iRJ84_exv)V}i^c5H_4E$rbVe0eY(P zGS7dUSYLso8ly66d>i62ZFB=47`%dg}ge|39ySuu<@Y zJD@!Nc{Xsd(&c^Hk}Q;-_IO93Ie#ME0kgD-`QD{GARn|A=!SfsoKSDC8TOh|=pWI4 zz4p=oa2t60WnS!s^%o^483?-7*bb+y>(IAY^D@8FsIYp90Hp=vdP=lglDPhjy%~j( zPUYUq3(D}sihbIJ)^fFKV6p)37s3DrgSCZ9j6bAW?JBp{K>iZqp=I9@XZ5$)J6Ng|6(&o+ZjJ1`71vLNfO`)j*&(-V&i5jWN z<5m=b;hA~ZzlMe20I@_lxsTC9?Buv}75kWhr3Ea1PQq`mJe|^8&i89~?SKO$cB#VZ zP23T)bj(y(rSEmGNYmbV*Hq50Y1Yd@fR%hA6>rEX*~RHHSZ2z;;j@ll`qQ!bASw-xw4aKxR_)X*^)~PjRO>Nq`)FNL7a8-*}<2K>!kv z+~MkH*ngU9PX$4^oO9Ud|MT>HpyU$K_vBJDF6F$5YQNyHR8Go&=bJ$ zN&z@5m zl<()iNehTZe$M@mx}vA{UqOa|o*FaG`Th542v8e?Df`VQp8p8KFo;t!F{0EB1ltBNA;_UW$6C_fU6yH literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_512x512@2x.png b/packages/flutter_tools/templates/create/ios/Assets.xcassets.tmpl/AppIcon.appiconset/icon_512x512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6355f58c8dd1e47cc68114288c3ce82271c6e3 GIT binary patch literal 57476 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

28(Du_C_aV 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 literal 0 HcmV?d00001 diff --git a/packages/flutter_tools/templates/create/ios/Info.plist.tmpl b/packages/flutter_tools/templates/create/ios/Info.plist.tmpl new file mode 100644 index 00000000000..8b317f39827 --- /dev/null +++ b/packages/flutter_tools/templates/create/ios/Info.plist.tmpl @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + Runner + CFBundleIdentifier + {{projectIdentifier}} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + {{projectName}} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/packages/flutter_tools/templates/create/ios/LaunchScreen.storyboard.tmpl b/packages/flutter_tools/templates/create/ios/LaunchScreen.storyboard.tmpl new file mode 100644 index 00000000000..78686cd0750 --- /dev/null +++ b/packages/flutter_tools/templates/create/ios/LaunchScreen.storyboard.tmpl @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/flutter_tools/templates/create/lib/main.dart.tmpl b/packages/flutter_tools/templates/create/lib/main.dart.tmpl new file mode 100644 index 00000000000..b455df23185 --- /dev/null +++ b/packages/flutter_tools/templates/create/lib/main.dart.tmpl @@ -0,0 +1,47 @@ +import 'package:flutter/material.dart'; + +void main() { + runApp( + new MaterialApp( + title: 'Flutter Demo', + routes: { + '/': (RouteArguments args) => new FlutterDemo() + } + ) + ); +} + +class FlutterDemo extends StatefulComponent { + State createState() => new _FlutterDemoState(); +} + +class _FlutterDemoState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + _counter++; + }); + } + + Widget build(BuildContext context) { + return new Scaffold( + toolBar: new ToolBar( + center: new Text('Flutter Demo') + ), + body: new Center( + child: new Text( + 'Button tapped $_counter times.', + key: const ValueKey('counter') + ) + ), + floatingActionButton: new FloatingActionButton( + key: const ValueKey('fab'), + child: new Icon( + icon: 'content/add' + ), + onPressed: _incrementCounter + ) + ); + } +} diff --git a/packages/flutter_tools/templates/create/pubspec.yaml.tmpl b/packages/flutter_tools/templates/create/pubspec.yaml.tmpl new file mode 100644 index 00000000000..3f843a4f267 --- /dev/null +++ b/packages/flutter_tools/templates/create/pubspec.yaml.tmpl @@ -0,0 +1,10 @@ +name: {{projectName}} +description: {{description}} +dependencies: + flutter: + path: {{flutterPackagesDirectory}}/flutter +{{#withDriverTest?}} +dev_dependencies: + flutter_driver: + path: {{flutterPackagesDirectory}}/flutter_driver +{{/withDriverTest?}} diff --git a/packages/flutter_tools/templates/driver/e2e.dart.tmpl b/packages/flutter_tools/templates/driver/e2e.dart.tmpl new file mode 100644 index 00000000000..889670d7f7e --- /dev/null +++ b/packages/flutter_tools/templates/driver/e2e.dart.tmpl @@ -0,0 +1,9 @@ +// Starts the app with Flutter Driver extension enabled to allow Flutter Driver +// to test the app. +import 'package:{{projectName}}/main.dart' as app; +import 'package:flutter_driver/driver_extension.dart'; + +main() { + enableFlutterDriverExtension(); + app.main(); +} diff --git a/packages/flutter_tools/templates/driver/e2e_test.dart.tmpl b/packages/flutter_tools/templates/driver/e2e_test.dart.tmpl new file mode 100644 index 00000000000..02d80493df6 --- /dev/null +++ b/packages/flutter_tools/templates/driver/e2e_test.dart.tmpl @@ -0,0 +1,44 @@ +// This is a basic Flutter Driver test for the application. A Flutter Driver +// test is an end-to-end test that "drives" your application from another +// process or even from another computer. If you are familiar with +// Selenium/WebDriver for web, Espresso for Android or UI Automation for iOS, +// this is simply Flutter's version of that. +// +// To start the test run the following command from the root of your application +// package: +// +// flutter drive --target=test_driver/e2e.dart +// +import 'package:flutter_driver/flutter_driver.dart'; +import 'package:test/test.dart'; + +main() { + group('end-to-end test', () { + FlutterDriver driver; + + setUpAll(() async { + // Connect to a running Flutter application instance. + driver = await FlutterDriver.connect(); + }); + + tearDownAll(() async { + if (driver != null) driver.close(); + }); + + test('find the floating action button by value key', () async { + ObjectRef elem = await driver.findByValueKey('fab'); + expect(elem, isNotNull); + expect(elem.objectReferenceKey, isNotNull); + }); + + test('tap on the floating action button; verify counter', () async { + ObjectRef fab = await driver.findByValueKey('fab'); + expect(fab, isNotNull); + await driver.tap(fab); + ObjectRef counter = await driver.findByValueKey('counter'); + expect(counter, isNotNull); + String text = await driver.getText(counter); + expect(text, contains("Button tapped 1 times.")); + }); + }); +}