Merge the latest create.dart from flutter-tizen (#61)
Merged from https://github.com/flutter-tizen/flutter-tizen/commit/8b20d223859a81e3685439850c0f0ec77a612aaf
This commit is contained in:
+114
-53
@@ -6,6 +6,8 @@
|
||||
|
||||
// @dart = 2.8
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:file/file.dart';
|
||||
import 'package:flutter_tools/src/base/common.dart';
|
||||
import 'package:flutter_tools/src/base/file_system.dart';
|
||||
@@ -14,78 +16,132 @@ import 'package:flutter_tools/src/cache.dart';
|
||||
import 'package:flutter_tools/src/commands/create.dart';
|
||||
import 'package:flutter_tools/src/flutter_project_metadata.dart';
|
||||
import 'package:flutter_tools/src/globals.dart' as globals;
|
||||
import 'package:flutter_tools/src/project.dart';
|
||||
import 'package:flutter_tools/src/runner/flutter_command.dart';
|
||||
import 'package:flutter_tools/src/template.dart';
|
||||
|
||||
import '../elinux_plugins.dart';
|
||||
const List<String> _kAvailablePlatforms = <String>[
|
||||
'elinux',
|
||||
'ios',
|
||||
'android',
|
||||
'windows',
|
||||
'linux',
|
||||
'macos',
|
||||
'web',
|
||||
];
|
||||
|
||||
class ELinuxCreateCommand extends CreateCommand {
|
||||
ELinuxCreateCommand({bool verboseHelp = false})
|
||||
: super(verboseHelp: verboseHelp);
|
||||
|
||||
@override
|
||||
void printUsage() {
|
||||
super.printUsage();
|
||||
// TODO(swift-kim): I couldn't find a proper way to override the --platforms
|
||||
// option without copying the entire class. This message is a workaround.
|
||||
print(
|
||||
'You don\'t have to specify "elinux" as a target platform with '
|
||||
'"--platforms" option. It is automatically added by default.',
|
||||
void addPlatformsOptions({String customHelp}) {
|
||||
argParser.addMultiOption(
|
||||
'platforms',
|
||||
help: customHelp,
|
||||
defaultsTo: _kAvailablePlatforms,
|
||||
allowed: _kAvailablePlatforms,
|
||||
);
|
||||
}
|
||||
|
||||
/// See:
|
||||
/// - [CreateCommand.runCommand] in `create.dart`
|
||||
/// - [CreateCommand._getProjectType] in `create.dart` (generatePlugin)
|
||||
Future<FlutterCommandResult> runInternal() async {
|
||||
@override
|
||||
Future<int> renderTemplate(
|
||||
String templateName,
|
||||
Directory directory,
|
||||
Map<String, Object> context, {
|
||||
bool overwrite = false,
|
||||
}) async {
|
||||
// Disables https://github.com/flutter/flutter/pull/59706 by setting
|
||||
// templateManifest to null.
|
||||
final Template template = await Template.fromName(
|
||||
templateName,
|
||||
fileSystem: globals.fs,
|
||||
logger: globals.logger,
|
||||
templateRenderer: globals.templateRenderer,
|
||||
templateManifest: null,
|
||||
);
|
||||
return template.render(directory, context, overwriteExisting: overwrite);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<int> renderMerged(
|
||||
List<String> names,
|
||||
Directory directory,
|
||||
Map<String, Object> context, {
|
||||
bool overwrite = false,
|
||||
}) async {
|
||||
// Disables https://github.com/flutter/flutter/pull/59706 by setting
|
||||
// templateManifest to null.
|
||||
final Template template = await Template.merged(
|
||||
names,
|
||||
directory,
|
||||
fileSystem: globals.fs,
|
||||
logger: globals.logger,
|
||||
templateRenderer: globals.templateRenderer,
|
||||
templateManifest: null,
|
||||
);
|
||||
return template.render(directory, context, overwriteExisting: overwrite);
|
||||
}
|
||||
|
||||
/// See: [CreateCommand._getProjectType] in `create.dart`
|
||||
bool get _shouldGeneratePlugin {
|
||||
if (argResults['template'] != null) {
|
||||
return stringArg('template') == 'plugin';
|
||||
} else if (projectDir.existsSync() && projectDir.listSync().isNotEmpty) {
|
||||
return determineTemplateType() == FlutterProjectType.plugin;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// See: [CreateCommand.runCommand] in `create.dart`
|
||||
Future<FlutterCommandResult> _runCommand() async {
|
||||
final FlutterCommandResult result = await super.runCommand();
|
||||
if (result != FlutterCommandResult.success() || argResults.rest.isEmpty) {
|
||||
if (result != FlutterCommandResult.success()) {
|
||||
return result;
|
||||
}
|
||||
|
||||
final bool generatePlugin = argResults['template'] != null
|
||||
? stringArg('template') ==
|
||||
flutterProjectTypeToString(FlutterProjectType.plugin)
|
||||
: determineTemplateType() == FlutterProjectType.plugin;
|
||||
if (generatePlugin) {
|
||||
// Assume that pubspec.yaml uses the multi-platforms plugin format if the
|
||||
// file already exists.
|
||||
// TODO(swift-kim): Skip this message if elinux already exists in pubspec.
|
||||
if (_shouldGeneratePlugin) {
|
||||
final String relativePluginPath =
|
||||
globals.fs.path.normalize(globals.fs.path.relative(projectDirPath));
|
||||
globals.printStatus(
|
||||
'The `pubspec.yaml` under the project directory must be updated to support ELinux.\n'
|
||||
'Add below lines to under the `platforms:` key.',
|
||||
emphasis: true,
|
||||
'Make sure your $relativePluginPath/pubspec.yaml contains the following lines.',
|
||||
color: TerminalColor.yellow,
|
||||
);
|
||||
final Map<String, dynamic> templateContext = createTemplateContext(
|
||||
final Map<String, Object> templateContext = createTemplateContext(
|
||||
organization: '',
|
||||
projectName: projectName,
|
||||
flutterRoot: '',
|
||||
);
|
||||
globals.printStatus(
|
||||
'\nelinux:\n'
|
||||
' pluginClass: ${templateContext['pluginClass'] as String}\n'
|
||||
' fileName: ${projectName}_plugin.h',
|
||||
emphasis: true,
|
||||
'\nflutter:\n'
|
||||
' plugin:\n'
|
||||
' platforms:\n'
|
||||
' elinux:\n'
|
||||
' pluginClass: ${templateContext['pluginClass'] as String}\n',
|
||||
color: TerminalColor.blue,
|
||||
);
|
||||
globals.printStatus('');
|
||||
}
|
||||
|
||||
if (boolArg('pub')) {
|
||||
final FlutterProject project = FlutterProject.fromDirectory(projectDir);
|
||||
await ensureReadyForELinuxTooling(project);
|
||||
if (project.hasExampleApp) {
|
||||
await ensureReadyForELinuxTooling(project.example);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// See: [Template.render] in `template.dart`
|
||||
/// See:
|
||||
/// - [CreateCommand._generatePlugin] in `create.dart`
|
||||
/// - [Template.render] in `template.dart`
|
||||
@override
|
||||
Future<FlutterCommandResult> runCommand() async {
|
||||
if (argResults.rest.isEmpty) {
|
||||
return super.runCommand();
|
||||
}
|
||||
final List<String> platforms = stringsArg('platforms');
|
||||
bool shouldRenderELinuxTemplate = platforms.contains('elinux');
|
||||
if (_shouldGeneratePlugin && !argResults.wasParsed('platforms')) {
|
||||
shouldRenderELinuxTemplate = false;
|
||||
}
|
||||
if (!shouldRenderELinuxTemplate) {
|
||||
return super.runCommand();
|
||||
}
|
||||
|
||||
// The template directory that the flutter tools search for available
|
||||
// templates cannot be overriden because the implementation is private.
|
||||
// So we have to copy eLinux templates into the directory manually.
|
||||
@@ -96,22 +152,13 @@ class ELinuxCreateCommand extends CreateCommand {
|
||||
if (!eLinuxTemplates.existsSync()) {
|
||||
throwToolExit('Could not locate eLinux templates.');
|
||||
}
|
||||
final File eLinuxTemplateManifest =
|
||||
eLinuxTemplates.childFile('template_manifest.json');
|
||||
|
||||
final Directory templates = globals.fs
|
||||
.directory(Cache.flutterRoot)
|
||||
.childDirectory('packages')
|
||||
.childDirectory('flutter_tools')
|
||||
.childDirectory('templates');
|
||||
final File templateManifest = templates.childFile('template_manifest.json');
|
||||
_runGitClean(templates);
|
||||
|
||||
// This is required due to: https://github.com/flutter/flutter/pull/59706
|
||||
// TODO(swift-kim): Find any better workaround. One option is to override
|
||||
// renderTemplate() but it may result in additional complexity.
|
||||
eLinuxTemplateManifest.copySync(templateManifest.path);
|
||||
|
||||
final List<Directory> created = <Directory>[];
|
||||
try {
|
||||
for (final Directory projectType
|
||||
in eLinuxTemplates.listSync().whereType<Directory>()) {
|
||||
@@ -136,13 +183,27 @@ class ELinuxCreateCommand extends CreateCommand {
|
||||
copyDirectory(sourceFlutter, dest.childDirectory('flutter'));
|
||||
copyDirectory(sourceRunnerCommon, dest.childDirectory('runner'));
|
||||
}
|
||||
created.add(dest);
|
||||
}
|
||||
return await runInternal();
|
||||
return await _runCommand();
|
||||
} finally {
|
||||
for (final Directory template in created) {
|
||||
template.deleteSync(recursive: true);
|
||||
}
|
||||
_runGitClean(templates);
|
||||
}
|
||||
}
|
||||
|
||||
void _runGitClean(Directory directory) {
|
||||
ProcessResult result = globals.processManager.runSync(
|
||||
<String>['git', 'restore', '.'],
|
||||
workingDirectory: directory.path,
|
||||
);
|
||||
if (result.exitCode != 0) {
|
||||
throwToolExit('Failed to run git restore: ${result.stderr}');
|
||||
}
|
||||
result = globals.processManager.runSync(
|
||||
<String>['git', 'clean', '-df', '.'],
|
||||
workingDirectory: directory.path,
|
||||
);
|
||||
if (result.exitCode != 0) {
|
||||
throwToolExit('Failed to run git clean: ${result.stderr}');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,385 +0,0 @@
|
||||
{
|
||||
"version": 1.0,
|
||||
"_comment": "A listing of all possible template output files.",
|
||||
"files": [
|
||||
"templates/app/elinux.tmpl/.gitignore",
|
||||
"templates/app/elinux.tmpl/CMakeLists.txt.tmpl",
|
||||
"templates/app/elinux.tmpl/flutter/CMakeLists.txt",
|
||||
"templates/app/elinux.tmpl/runner/CMakeLists.txt",
|
||||
"templates/app/elinux.tmpl/runner/command_options.h",
|
||||
"templates/app/elinux.tmpl/runner/flutter_embedder_options.h",
|
||||
"templates/app/elinux.tmpl/runner/flutter_window.cc",
|
||||
"templates/app/elinux.tmpl/runner/flutter_window.h",
|
||||
"templates/app/elinux.tmpl/runner/main.cc",
|
||||
"templates/plugin/elinux.tmpl/.gitignore",
|
||||
"templates/plugin/elinux.tmpl/CMakeLists.txt.tmpl",
|
||||
"templates/plugin/elinux.tmpl/include/projectName.tmpl/pluginClassSnakeCase.h.tmpl",
|
||||
"templates/plugin/elinux.tmpl/pluginClassSnakeCase.cc.tmpl",
|
||||
|
||||
"templates/app/lib/main.dart.tmpl",
|
||||
"templates/app/pubspec.yaml.tmpl",
|
||||
"templates/app/README.md.tmpl",
|
||||
"templates/app/test/widget_test.dart.tmpl",
|
||||
"templates/app/winuwp.tmpl/.gitignore",
|
||||
|
||||
"templates/app_shared/.gitignore.tmpl",
|
||||
"templates/app_shared/.idea/libraries/Dart_SDK.xml.tmpl",
|
||||
"templates/app_shared/.idea/libraries/KotlinJavaRuntime.xml.tmpl",
|
||||
"templates/app_shared/.idea/modules.xml.tmpl",
|
||||
"templates/app_shared/.idea/runConfigurations/main_dart.xml.tmpl",
|
||||
"templates/app_shared/.idea/workspace.xml.tmpl",
|
||||
"templates/app_shared/.metadata.tmpl",
|
||||
"templates/app_shared/analysis_options.yaml.tmpl",
|
||||
"templates/app_shared/android-java.tmpl/app/build.gradle.tmpl",
|
||||
"templates/app_shared/android-java.tmpl/app/src/main/java/androidIdentifier/MainActivity.java.tmpl",
|
||||
"templates/app_shared/android-java.tmpl/build.gradle",
|
||||
"templates/app_shared/android-java.tmpl/projectName_android.iml.tmpl",
|
||||
"templates/app_shared/android-kotlin.tmpl/app/build.gradle.tmpl",
|
||||
"templates/app_shared/android-kotlin.tmpl/app/src/main/kotlin/androidIdentifier/MainActivity.kt.tmpl",
|
||||
"templates/app_shared/android-kotlin.tmpl/build.gradle",
|
||||
"templates/app_shared/android-kotlin.tmpl/projectName_android.iml.tmpl",
|
||||
"templates/app_shared/android.tmpl/.gitignore",
|
||||
"templates/app_shared/android.tmpl/app/src/debug/AndroidManifest.xml.tmpl",
|
||||
"templates/app_shared/android.tmpl/app/src/main/AndroidManifest.xml.tmpl",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/drawable-v21/launch_background.xml",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/drawable/launch_background.xml",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/mipmap-hdpi/ic_launcher.png",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/mipmap-mdpi/ic_launcher.png",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/mipmap-xhdpi/ic_launcher.png",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/mipmap-xxhdpi/ic_launcher.png",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/values-night/styles.xml",
|
||||
"templates/app_shared/android.tmpl/app/src/main/res/values/styles.xml",
|
||||
"templates/app_shared/android.tmpl/app/src/profile/AndroidManifest.xml.tmpl",
|
||||
"templates/app_shared/android.tmpl/gradle.properties.tmpl",
|
||||
"templates/app_shared/android.tmpl/gradle/wrapper/gradle-wrapper.properties",
|
||||
"templates/app_shared/android.tmpl/settings.gradle",
|
||||
"templates/app_shared/ios-objc.tmpl/Runner.xcodeproj/project.pbxproj.tmpl",
|
||||
"templates/app_shared/ios-objc.tmpl/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
|
||||
"templates/app_shared/ios-objc.tmpl/Runner/AppDelegate.h",
|
||||
"templates/app_shared/ios-objc.tmpl/Runner/AppDelegate.m",
|
||||
"templates/app_shared/ios-objc.tmpl/Runner/main.m",
|
||||
"templates/app_shared/ios-swift.tmpl/Runner.xcodeproj/project.pbxproj.tmpl",
|
||||
"templates/app_shared/ios-swift.tmpl/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
|
||||
"templates/app_shared/ios-swift.tmpl/Runner/AppDelegate.swift",
|
||||
"templates/app_shared/ios-swift.tmpl/Runner/Runner-Bridging-Header.h",
|
||||
"templates/app_shared/ios.tmpl/.gitignore",
|
||||
"templates/app_shared/ios.tmpl/Flutter/AppFrameworkInfo.plist",
|
||||
"templates/app_shared/ios.tmpl/Flutter/Debug.xcconfig",
|
||||
"templates/app_shared/ios.tmpl/Flutter/Release.xcconfig",
|
||||
"templates/app_shared/ios.tmpl/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
|
||||
"templates/app_shared/ios.tmpl/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
|
||||
"templates/app_shared/ios.tmpl/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
|
||||
"templates/app_shared/ios.tmpl/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
|
||||
"templates/app_shared/ios.tmpl/Runner.xcworkspace/contents.xcworkspacedata",
|
||||
"templates/app_shared/ios.tmpl/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
|
||||
"templates/app_shared/ios.tmpl/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/[email protected]",
|
||||
"templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/README.md",
|
||||
"templates/app_shared/ios.tmpl/Runner/Base.lproj/LaunchScreen.storyboard",
|
||||
"templates/app_shared/ios.tmpl/Runner/Base.lproj/Main.storyboard",
|
||||
"templates/app_shared/ios.tmpl/Runner/Info.plist.tmpl",
|
||||
"templates/app_shared/linux.tmpl/.gitignore",
|
||||
"templates/app_shared/linux.tmpl/CMakeLists.txt.tmpl",
|
||||
"templates/app_shared/linux.tmpl/flutter/CMakeLists.txt",
|
||||
"templates/app_shared/linux.tmpl/main.cc",
|
||||
"templates/app_shared/linux.tmpl/my_application.cc",
|
||||
"templates/app_shared/linux.tmpl/my_application.cc.tmpl",
|
||||
"templates/app_shared/linux.tmpl/my_application.h",
|
||||
"templates/app_shared/macos.tmpl/.gitignore",
|
||||
"templates/app_shared/macos.tmpl/Flutter/Flutter-Debug.xcconfig",
|
||||
"templates/app_shared/macos.tmpl/Flutter/Flutter-Release.xcconfig",
|
||||
"templates/app_shared/macos.tmpl/Runner.xcodeproj/project.pbxproj.tmpl",
|
||||
"templates/app_shared/macos.tmpl/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
|
||||
"templates/app_shared/macos.tmpl/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme.tmpl",
|
||||
"templates/app_shared/macos.tmpl/Runner.xcworkspace/contents.xcworkspacedata",
|
||||
"templates/app_shared/macos.tmpl/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
|
||||
"templates/app_shared/macos.tmpl/Runner/AppDelegate.swift",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png",
|
||||
"templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
|
||||
"templates/app_shared/macos.tmpl/Runner/Base.lproj/MainMenu.xib",
|
||||
"templates/app_shared/macos.tmpl/Runner/Configs/AppInfo.xcconfig.tmpl",
|
||||
"templates/app_shared/macos.tmpl/Runner/Configs/Debug.xcconfig",
|
||||
"templates/app_shared/macos.tmpl/Runner/Configs/Release.xcconfig",
|
||||
"templates/app_shared/macos.tmpl/Runner/Configs/Warnings.xcconfig",
|
||||
"templates/app_shared/macos.tmpl/Runner/DebugProfile.entitlements",
|
||||
"templates/app_shared/macos.tmpl/Runner/Info.plist",
|
||||
"templates/app_shared/macos.tmpl/Runner/MainFlutterWindow.swift",
|
||||
"templates/app_shared/macos.tmpl/Runner/Release.entitlements",
|
||||
"templates/app_shared/projectName.iml.tmpl",
|
||||
"templates/app_shared/web/favicon.png.copy.tmpl",
|
||||
"templates/app_shared/web/icons/Icon-192.png.copy.tmpl",
|
||||
"templates/app_shared/web/icons/Icon-512.png.copy.tmpl",
|
||||
"templates/app_shared/web/icons/Icon-maskable-192.png.img.tmpl",
|
||||
"templates/app_shared/web/icons/Icon-maskable-512.png.img.tmpl",
|
||||
"templates/app_shared/web/index.html.tmpl",
|
||||
"templates/app_shared/web/manifest.json.tmpl",
|
||||
"templates/app_shared/windows.tmpl/.gitignore",
|
||||
"templates/app_shared/windows.tmpl/CMakeLists.txt.tmpl",
|
||||
"templates/app_shared/windows.tmpl/flutter/CMakeLists.txt",
|
||||
"templates/app_shared/windows.tmpl/runner/CMakeLists.txt",
|
||||
"templates/app_shared/windows.tmpl/runner/flutter_window.cpp",
|
||||
"templates/app_shared/windows.tmpl/runner/flutter_window.h",
|
||||
"templates/app_shared/windows.tmpl/runner/main.cpp.tmpl",
|
||||
"templates/app_shared/windows.tmpl/runner/resource.h",
|
||||
"templates/app_shared/windows.tmpl/runner/resources/app_icon.ico.img.tmpl",
|
||||
"templates/app_shared/windows.tmpl/runner/runner.exe.manifest",
|
||||
"templates/app_shared/windows.tmpl/runner/Runner.rc.tmpl",
|
||||
"templates/app_shared/windows.tmpl/runner/run_loop.cpp",
|
||||
"templates/app_shared/windows.tmpl/runner/run_loop.h",
|
||||
"templates/app_shared/windows.tmpl/runner/utils.cpp",
|
||||
"templates/app_shared/windows.tmpl/runner/utils.h",
|
||||
"templates/app_shared/windows.tmpl/runner/win32_window.cpp",
|
||||
"templates/app_shared/windows.tmpl/runner/win32_window.h",
|
||||
"templates/app_shared/winuwp.tmpl/CMakeLists.txt",
|
||||
"templates/app_shared/winuwp.tmpl/flutter/CMakeLists.txt",
|
||||
"templates/app_shared/winuwp.tmpl/project_version",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/appxmanifest.in",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-100.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-125.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-150.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-400.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LockScreenLogo.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-100.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-125.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-150.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-400.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-100.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-125.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-150.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-400.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-100.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-125.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-150.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-400.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-16.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-256.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-32.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-48.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-100.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-125.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-150.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-400.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-16.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-24.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-256.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-32.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-48.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-100.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-125.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-150.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-400.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Wide310x150Logo.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-100.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-125.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-150.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-200.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-400.png.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/CMakeLists.txt.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/CMakeSettings.json",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/flutter_frameworkview.cpp",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/main.cpp",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/resources.pri.img.tmpl",
|
||||
"templates/app_shared/winuwp.tmpl/runner_uwp/Windows_TemporaryKey.pfx.img.tmpl",
|
||||
|
||||
"templates/cocoapods/Podfile-ios-objc",
|
||||
"templates/cocoapods/Podfile-ios-swift",
|
||||
"templates/cocoapods/Podfile-macos",
|
||||
|
||||
"templates/module/android/deferred_component/build.gradle.tmpl",
|
||||
"templates/module/android/deferred_component/src/main/AndroidManifest.xml.tmpl",
|
||||
"templates/module/android/gradle/build.gradle.copy.tmpl",
|
||||
"templates/module/android/gradle/gradle.properties.tmpl",
|
||||
"templates/module/android/host_app_common/app.tmpl/build.gradle.tmpl",
|
||||
"templates/module/android/host_app_common/app.tmpl/src/main/AndroidManifest.xml.tmpl",
|
||||
"templates/module/android/host_app_common/app.tmpl/src/main/java/androidIdentifier/host/MainActivity.java.tmpl",
|
||||
"templates/module/android/host_app_common/app.tmpl/src/main/res/drawable/launch_background.xml",
|
||||
"templates/module/android/host_app_common/app.tmpl/src/main/res/mipmap-hdpi/ic_launcher.png",
|
||||
"templates/module/android/host_app_common/app.tmpl/src/main/res/values/styles.xml",
|
||||
"templates/module/android/host_app_editable/settings.gradle.copy.tmpl",
|
||||
"templates/module/android/host_app_ephemeral/settings.gradle.copy.tmpl",
|
||||
"templates/module/android/library/Flutter.tmpl/build.gradle.tmpl",
|
||||
"templates/module/android/library/Flutter.tmpl/flutter.iml.copy.tmpl",
|
||||
"templates/module/android/library/Flutter.tmpl/src/main/AndroidManifest.xml.tmpl",
|
||||
"templates/module/android/library/Flutter.tmpl/src/main/java/io/flutter/facade/Flutter.java.tmpl",
|
||||
"templates/module/android/library/Flutter.tmpl/src/main/java/io/flutter/facade/FlutterFragment.java.tmpl",
|
||||
"templates/module/android/library/include_flutter.groovy.copy.tmpl",
|
||||
"templates/module/android/library/settings.gradle.copy.tmpl",
|
||||
"templates/module/android/library_new_embedding/Flutter.tmpl/build.gradle.tmpl",
|
||||
"templates/module/android/library_new_embedding/Flutter.tmpl/flutter.iml.copy.tmpl",
|
||||
"templates/module/android/library_new_embedding/Flutter.tmpl/src/main/AndroidManifest.xml.tmpl",
|
||||
"templates/module/android/library_new_embedding/include_flutter.groovy.copy.tmpl",
|
||||
"templates/module/android/library_new_embedding/settings.gradle.copy.tmpl",
|
||||
"templates/module/common/.gitignore.tmpl",
|
||||
"templates/module/common/.idea/libraries/Dart_SDK.xml.tmpl",
|
||||
"templates/module/common/.idea/modules.xml.tmpl",
|
||||
"templates/module/common/.idea/workspace.xml.tmpl",
|
||||
"templates/module/common/.metadata.tmpl",
|
||||
"templates/module/common/analysis_options.yaml.tmpl",
|
||||
"templates/module/common/lib/main.dart.tmpl",
|
||||
"templates/module/common/projectName.iml.tmpl",
|
||||
"templates/module/common/projectName_android.iml.tmpl",
|
||||
"templates/module/common/pubspec.yaml.tmpl",
|
||||
"templates/module/common/README.md.tmpl",
|
||||
"templates/module/common/test/widget_test.dart.tmpl",
|
||||
"templates/module/ios/host_app_ephemeral/Config.tmpl/Debug.xcconfig",
|
||||
"templates/module/ios/host_app_ephemeral/Config.tmpl/Flutter.xcconfig",
|
||||
"templates/module/ios/host_app_ephemeral/Config.tmpl/Release.xcconfig",
|
||||
"templates/module/ios/host_app_ephemeral/Flutter/engine/Flutter.podspec.tmpl",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/AppDelegate.h",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/AppDelegate.m",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/Contents.json",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/AppIcon.appiconset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/LaunchImage.imageset/Contents.json",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/LaunchImage.imageset/LaunchImage.png",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/LaunchImage.imageset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/LaunchImage.imageset/[email protected]",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Assets.xcassets/LaunchImage.imageset/README.md",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Base.lproj/LaunchScreen.storyboard",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Base.lproj/Main.storyboard",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/Info.plist.tmpl",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.tmpl/main.m",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcodeproj.tmpl/project.pbxproj.tmpl",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcodeproj.tmpl/project.xcworkspace/contents.xcworkspacedata",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcodeproj.tmpl/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcodeproj.tmpl/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcodeproj.tmpl/xcshareddata/xcschemes/Runner.xcscheme",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcworkspace.tmpl/contents.xcworkspacedata",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcworkspace.tmpl/xcshareddata/IDEWorkspaceChecks.plist",
|
||||
"templates/module/ios/host_app_ephemeral/Runner.xcworkspace.tmpl/xcshareddata/WorkspaceSettings.xcsettings",
|
||||
"templates/module/ios/host_app_ephemeral_cocoapods/Config.tmpl/Debug.xcconfig",
|
||||
"templates/module/ios/host_app_ephemeral_cocoapods/Config.tmpl/Release.xcconfig",
|
||||
"templates/module/ios/host_app_ephemeral_cocoapods/Podfile.copy.tmpl",
|
||||
"templates/module/ios/host_app_ephemeral_cocoapods/Runner.tmpl/AppDelegate.m",
|
||||
"templates/module/ios/library/Flutter.tmpl/AppFrameworkInfo.plist",
|
||||
"templates/module/ios/library/Flutter.tmpl/podhelper.rb.tmpl",
|
||||
"templates/module/ios/library/Flutter.tmpl/projectName.podspec.tmpl",
|
||||
"templates/module/ios/library/Flutter.tmpl/README.md",
|
||||
"templates/module/README.md",
|
||||
|
||||
"templates/package/.gitignore.tmpl",
|
||||
"templates/package/.idea/libraries/Dart_SDK.xml.tmpl",
|
||||
"templates/package/.idea/modules.xml.tmpl",
|
||||
"templates/package/.idea/workspace.xml.tmpl",
|
||||
"templates/package/.metadata.tmpl",
|
||||
"templates/package/analysis_options.yaml.tmpl",
|
||||
"templates/package/CHANGELOG.md.tmpl",
|
||||
"templates/package/lib/projectName.dart.tmpl",
|
||||
"templates/package/LICENSE.tmpl",
|
||||
"templates/package/projectName.iml.tmpl",
|
||||
"templates/package/pubspec.yaml.tmpl",
|
||||
"templates/package/README.md.tmpl",
|
||||
"templates/package/test/projectName_test.dart.tmpl",
|
||||
|
||||
"templates/plugin/.gitignore.tmpl",
|
||||
"templates/plugin/.idea/libraries/Dart_SDK.xml.tmpl",
|
||||
"templates/plugin/.idea/modules.xml.tmpl",
|
||||
"templates/plugin/.idea/runConfigurations/example_lib_main_dart.xml.tmpl",
|
||||
"templates/plugin/.idea/workspace.xml.tmpl",
|
||||
"templates/plugin/.metadata.tmpl",
|
||||
"templates/plugin/analysis_options.yaml.tmpl",
|
||||
"templates/plugin/android-java.tmpl/build.gradle.tmpl",
|
||||
"templates/plugin/android-java.tmpl/projectName_android.iml.tmpl",
|
||||
"templates/plugin/android-java.tmpl/src/main/java/androidIdentifier/pluginClass.java.tmpl",
|
||||
"templates/plugin/android-kotlin.tmpl/build.gradle.tmpl",
|
||||
"templates/plugin/android-kotlin.tmpl/projectName_android.iml.tmpl",
|
||||
"templates/plugin/android-kotlin.tmpl/src/main/kotlin/androidIdentifier/pluginClass.kt.tmpl",
|
||||
"templates/plugin/android.tmpl/.gitignore",
|
||||
"templates/plugin/android.tmpl/gradle/wrapper/gradle-wrapper.properties",
|
||||
"templates/plugin/android.tmpl/gradle.properties.tmpl",
|
||||
"templates/plugin/android.tmpl/settings.gradle.tmpl",
|
||||
"templates/plugin/android.tmpl/src/main/AndroidManifest.xml.tmpl",
|
||||
"templates/plugin/CHANGELOG.md.tmpl",
|
||||
"templates/plugin/ios-objc.tmpl/Classes/pluginClass.h.tmpl",
|
||||
"templates/plugin/ios-objc.tmpl/Classes/pluginClass.m.tmpl",
|
||||
"templates/plugin/ios-objc.tmpl/projectName.podspec.tmpl",
|
||||
"templates/plugin/ios-swift.tmpl/Classes/pluginClass.h.tmpl",
|
||||
"templates/plugin/ios-swift.tmpl/Classes/pluginClass.m.tmpl",
|
||||
"templates/plugin/ios-swift.tmpl/Classes/SwiftpluginClass.swift.tmpl",
|
||||
"templates/plugin/ios-swift.tmpl/projectName.podspec.tmpl",
|
||||
"templates/plugin/ios.tmpl/.gitignore",
|
||||
"templates/plugin/ios.tmpl/Assets/.gitkeep",
|
||||
"templates/plugin/lib/projectName.dart.tmpl",
|
||||
"templates/plugin/LICENSE.tmpl",
|
||||
"templates/plugin/linux.tmpl/CMakeLists.txt.tmpl",
|
||||
"templates/plugin/linux.tmpl/include/projectName.tmpl/pluginClassSnakeCase.h.tmpl",
|
||||
"templates/plugin/linux.tmpl/pluginClassSnakeCase.cc.tmpl",
|
||||
"templates/plugin/macos.tmpl/Classes/pluginClass.swift.tmpl",
|
||||
"templates/plugin/macos.tmpl/projectName.podspec.tmpl",
|
||||
"templates/plugin/projectName.iml.tmpl",
|
||||
"templates/plugin/pubspec.yaml.tmpl",
|
||||
"templates/plugin/README.md.tmpl",
|
||||
"templates/plugin/test/projectName_test.dart.tmpl",
|
||||
"templates/plugin/windows.tmpl/.gitignore",
|
||||
"templates/plugin/windows.tmpl/CMakeLists.txt.tmpl",
|
||||
"templates/plugin/windows.tmpl/include/projectName.tmpl/pluginClassSnakeCase.h.tmpl",
|
||||
"templates/plugin/windows.tmpl/pluginClassSnakeCase.cpp.tmpl",
|
||||
"templates/plugin/lib/projectName_web.dart.tmpl",
|
||||
|
||||
"templates/skeleton/assets/images/2.0x/flutter_logo.png.img.tmpl",
|
||||
"templates/skeleton/assets/images/3.0x/flutter_logo.png.img.tmpl",
|
||||
"templates/skeleton/assets/images/flutter_logo.png.img.tmpl",
|
||||
"templates/skeleton/l10n.yaml.tmpl",
|
||||
"templates/skeleton/lib/main.dart.tmpl",
|
||||
"templates/skeleton/lib/src/app.dart.tmpl",
|
||||
"templates/skeleton/lib/src/sample_feature/sample_item.dart.tmpl",
|
||||
"templates/skeleton/lib/src/sample_feature/sample_item_details_view.dart.tmpl",
|
||||
"templates/skeleton/lib/src/sample_feature/sample_item_list_view.dart.tmpl",
|
||||
"templates/skeleton/lib/src/localization/app_en.arb.tmpl",
|
||||
"templates/skeleton/lib/src/settings/settings_controller.dart.tmpl",
|
||||
"templates/skeleton/lib/src/settings/settings_service.dart.tmpl",
|
||||
"templates/skeleton/lib/src/settings/settings_view.dart.tmpl",
|
||||
"templates/skeleton/pubspec.yaml.tmpl",
|
||||
"templates/skeleton/README.md.tmpl",
|
||||
"templates/skeleton/test/implementation_test.dart.test.tmpl",
|
||||
"templates/skeleton/test/unit_test.dart.tmpl",
|
||||
"templates/skeleton/test/widget_test.dart.tmpl"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user