Add (initial) 'deploy' command

This commit is contained in:
Joshua Granick
2015-02-16 15:26:36 -08:00
parent 1243bc09eb
commit 5848ac39a1
16 changed files with 121 additions and 5 deletions

View File

@@ -5,6 +5,7 @@ enum Command {
BUILD; BUILD;
CLEAN; CLEAN;
DEPLOY;
DISPLAY; DISPLAY;
UPDATE; UPDATE;
RUN; RUN;

View File

@@ -78,6 +78,13 @@ class PlatformTarget {
} }
if (!Reflect.hasField (metaFields.deploy, "deploy") && (command == "deploy")) {
LogHelper.info ("", "\n" + LogHelper.accentColor + "Running command: DEPLOY" + LogHelper.resetColor);
deploy ();
}
if (!Reflect.hasField (metaFields.install, "ignore") && (command == "install" || command == "run" || command == "test")) { if (!Reflect.hasField (metaFields.install, "ignore") && (command == "install" || command == "run" || command == "test")) {
LogHelper.info ("", "\n" + LogHelper.accentColor + "Running command: INSTALL" + LogHelper.resetColor); LogHelper.info ("", "\n" + LogHelper.accentColor + "Running command: INSTALL" + LogHelper.resetColor);
@@ -115,6 +122,7 @@ class PlatformTarget {
@ignore public function build ():Void {} @ignore public function build ():Void {}
@ignore public function clean ():Void {} @ignore public function clean ():Void {}
@ignore public function deploy ():Void {}
@ignore public function display ():Void {} @ignore public function display ():Void {}
@ignore public function install ():Void {} @ignore public function install ():Void {}
@ignore public function rebuild ():Void {} @ignore public function rebuild ():Void {}

View File

@@ -18,8 +18,7 @@ class AssetHelper {
var manifest = new Array <Dynamic> (); var manifest = new Array <Dynamic> ();
for (asset in project.assets) { for (asset in project.assets) {
if (asset.type != AssetType.TEMPLATE) { if (asset.type != AssetType.TEMPLATE) {
var data = { var data = {
@@ -27,7 +26,7 @@ class AssetHelper {
path : asset.resourceName, path : asset.resourceName,
type : Std.string(asset.type) type : Std.string(asset.type)
} }
manifest.push (data); manifest.push (data);
} }

View File

@@ -0,0 +1,19 @@
package lime.tools.helpers;
import lime.project.HXProject;
class DeploymentHelper {
public static function deploy (project:HXProject, targetFlags:Map <String, String>, targetDirectory:String) {
var name = project.meta.title + " (" + project.meta.version + ").zip";
ZipHelper.compress (PathHelper.combine (targetDirectory, "bin"), PathHelper.combine (targetDirectory, name));
}
}

View File

@@ -7,6 +7,7 @@ import lime.tools.helpers.AndroidHelper;
import lime.tools.helpers.ArrayHelper; import lime.tools.helpers.ArrayHelper;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.IconHelper; import lime.tools.helpers.IconHelper;
import lime.tools.helpers.LogHelper; import lime.tools.helpers.LogHelper;
@@ -163,6 +164,13 @@ class AndroidPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var hxml = PathHelper.findTemplate (project.templatePaths, "android/hxml/" + (project.debug ? "debug" : "release") + ".hxml"); var hxml = PathHelper.findTemplate (project.templatePaths, "android/hxml/" + (project.debug ? "debug" : "release") + ".hxml");

View File

@@ -6,6 +6,7 @@ import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.BlackBerryHelper; import lime.tools.helpers.BlackBerryHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.HTML5Helper; import lime.tools.helpers.HTML5Helper;
import lime.tools.helpers.IconHelper; import lime.tools.helpers.IconHelper;
@@ -163,6 +164,13 @@ class BlackBerryPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var hxml = ""; var hxml = "";

View File

@@ -7,6 +7,7 @@ import haxe.io.Path;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.HTML5Helper; import lime.tools.helpers.HTML5Helper;
import lime.tools.helpers.LogHelper; import lime.tools.helpers.LogHelper;
@@ -179,6 +180,13 @@ class EmscriptenPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -5,6 +5,7 @@ import haxe.io.Path;
import haxe.Json; import haxe.Json;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.CompatibilityHelper; import lime.tools.helpers.CompatibilityHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.FlashHelper; import lime.tools.helpers.FlashHelper;
import lime.tools.helpers.PathHelper; import lime.tools.helpers.PathHelper;
@@ -138,6 +139,13 @@ class FlashPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -4,6 +4,7 @@ package lime.tools.platforms;
import haxe.io.Path; import haxe.io.Path;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.HTML5Helper; import lime.tools.helpers.HTML5Helper;
import lime.tools.helpers.LogHelper; import lime.tools.helpers.LogHelper;
@@ -78,6 +79,13 @@ class HTML5Platform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -7,6 +7,7 @@ import haxe.Template;
import lime.tools.helpers.ArrayHelper; import lime.tools.helpers.ArrayHelper;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.IconHelper; import lime.tools.helpers.IconHelper;
import lime.tools.helpers.IOSHelper; import lime.tools.helpers.IOSHelper;
@@ -66,6 +67,13 @@ class IOSPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var hxml = PathHelper.findTemplate (project.templatePaths, "iphone/PROJ/haxe/Build.hxml"); var hxml = PathHelper.findTemplate (project.templatePaths, "iphone/PROJ/haxe/Build.hxml");

View File

@@ -5,6 +5,7 @@ import haxe.io.Path;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.NekoHelper; import lime.tools.helpers.NekoHelper;
import lime.tools.helpers.NodeJSHelper; import lime.tools.helpers.NodeJSHelper;
@@ -188,6 +189,13 @@ class LinuxPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -5,6 +5,7 @@ import haxe.io.Path;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.IconHelper; import lime.tools.helpers.IconHelper;
import lime.tools.helpers.JavaHelper; import lime.tools.helpers.JavaHelper;
@@ -177,6 +178,13 @@ class MacPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -5,6 +5,7 @@ import haxe.io.Path;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.IconHelper; import lime.tools.helpers.IconHelper;
import lime.tools.helpers.PathHelper; import lime.tools.helpers.PathHelper;
@@ -92,6 +93,13 @@ class TizenPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -5,6 +5,7 @@ import haxe.io.Path;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.IconHelper; import lime.tools.helpers.IconHelper;
import lime.tools.helpers.PathHelper; import lime.tools.helpers.PathHelper;
@@ -75,6 +76,13 @@ class WebOSPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -5,6 +5,7 @@ import haxe.io.Path;
import haxe.Template; import haxe.Template;
import lime.tools.helpers.AssetHelper; import lime.tools.helpers.AssetHelper;
import lime.tools.helpers.CPPHelper; import lime.tools.helpers.CPPHelper;
import lime.tools.helpers.DeploymentHelper;
import lime.tools.helpers.FileHelper; import lime.tools.helpers.FileHelper;
import lime.tools.helpers.IconHelper; import lime.tools.helpers.IconHelper;
import lime.tools.helpers.NekoHelper; import lime.tools.helpers.NekoHelper;
@@ -171,6 +172,13 @@ class WindowsPlatform extends PlatformTarget {
} }
public override function deploy ():Void {
DeploymentHelper.deploy (project, targetFlags, targetDirectory);
}
public override function display ():Void { public override function display ():Void {
var type = "release"; var type = "release";

View File

@@ -113,7 +113,7 @@ class CommandLineTools {
updateLibrary (); updateLibrary ();
case "clean", "update", "display", "build", "run", "rerun", /*"install",*/ "uninstall", "trace", "test": case "clean", "update", "display", "build", "run", "rerun", /*"install",*/ "uninstall", "trace", "test", "deploy":
if (words.length < 1 || words.length > 2) { if (words.length < 1 || words.length > 2) {
@@ -702,9 +702,10 @@ class CommandLineTools {
LogHelper.println (" \x1b[1mbuild\x1b[0m -- Compile and package for the specified project/target"); LogHelper.println (" \x1b[1mbuild\x1b[0m -- Compile and package for the specified project/target");
LogHelper.println (" \x1b[1mrun\x1b[0m -- Install and run for the specified project/target"); LogHelper.println (" \x1b[1mrun\x1b[0m -- Install and run for the specified project/target");
LogHelper.println (" \x1b[1mtest\x1b[0m -- Update, build and run in one command"); LogHelper.println (" \x1b[1mtest\x1b[0m -- Update, build and run in one command");
LogHelper.println (" \x1b[1mdisplay\x1b[0m -- Display information for the specified project/target"); LogHelper.println (" \x1b[1mdeploy\x1b[0m -- Archive and upload builds");
LogHelper.println (" \x1b[1mcreate\x1b[0m -- Create a new project or extension using templates"); LogHelper.println (" \x1b[1mcreate\x1b[0m -- Create a new project or extension using templates");
LogHelper.println (" \x1b[1mrebuild\x1b[0m -- Recompile native binaries for libraries"); LogHelper.println (" \x1b[1mrebuild\x1b[0m -- Recompile native binaries for libraries");
LogHelper.println (" \x1b[1mdisplay\x1b[0m -- Display information for the specified project/target");
LogHelper.println (" \x1b[1minstall\x1b[0m -- Install a library from haxelib, plus dependencies"); LogHelper.println (" \x1b[1minstall\x1b[0m -- Install a library from haxelib, plus dependencies");
LogHelper.println (" \x1b[1mremove\x1b[0m -- Remove a library from haxelib"); LogHelper.println (" \x1b[1mremove\x1b[0m -- Remove a library from haxelib");
LogHelper.println (" \x1b[1mupgrade\x1b[0m -- Upgrade a library from haxelib"); LogHelper.println (" \x1b[1mupgrade\x1b[0m -- Upgrade a library from haxelib");