From dc292afcbc14b9e343d5b8f5cfd40769959da7a1 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Sat, 6 Jun 2015 18:42:18 -0700 Subject: [PATCH] Allow overrides in 'lime create' (allows --meta-package-name and other flags to set values during creation) (closes #459) --- tools/CommandLineTools.hx | 2 +- tools/utils/CreateTemplate.hx | 41 +++++++++++++++++++++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/tools/CommandLineTools.hx b/tools/CommandLineTools.hx index 8a7feafdd..8c36f0280 100644 --- a/tools/CommandLineTools.hx +++ b/tools/CommandLineTools.hx @@ -634,7 +634,7 @@ class CommandLineTools { if (projectName == "project" || sampleName == "project") { - CreateTemplate.createProject (words, userDefines); + CreateTemplate.createProject (words, userDefines, overrides); } else if (projectName == "extension" || sampleName == "extension") { diff --git a/tools/utils/CreateTemplate.hx b/tools/utils/CreateTemplate.hx index 34fad685c..164bdb5ac 100644 --- a/tools/utils/CreateTemplate.hx +++ b/tools/utils/CreateTemplate.hx @@ -8,6 +8,8 @@ import lime.project.Haxelib; import lime.project.HXProject; import sys.FileSystem; +@:access(lime.project.HXProject) + class CreateTemplate { @@ -75,7 +77,7 @@ class CreateTemplate { } - public static function createProject (words:Array , userDefines:Map):Void { + public static function createProject (words:Array , userDefines:Map, overrides:HXProject):Void { var colonIndex = words[0].indexOf (":"); @@ -197,10 +199,45 @@ class CreateTemplate { }*/ var packageName = id.join (".").toLowerCase (); + var version = "1.0.0"; + + if (overrides != null) { + + if (overrides.meta.packageName != overrides.defaultMeta.packageName) { + + packageName = overrides.meta.packageName; + + } + + if (overrides.meta.title != overrides.defaultMeta.title) { + + title = overrides.meta.title; + + } + + if (overrides.meta.version != overrides.defaultMeta.version) { + + version = overrides.meta.version; + + } + + if (overrides.meta.company != overrides.defaultMeta.company) { + + company = overrides.meta.company; + + } + + if (overrides.app.file != overrides.defaultApp.file) { + + file = overrides.app.file; + + } + + } context.title = title; context.packageName = packageName; - context.version = "1.0.0"; + context.version = version; context.company = company; context.file = file;