From b795534773ed8f08bea293d46423e256bc583335 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Mon, 18 Mar 2019 12:01:28 -0700 Subject: [PATCH] Add initial support for '--output-file' option on 'display' command --- tools/CommandLineTools.hx | 13 +++++++++++++ tools/platforms/AndroidPlatform.hx | 25 ++++++++++++++++++++++++- tools/platforms/EmscriptenPlatform.hx | 9 ++++++++- tools/platforms/FlashPlatform.hx | 9 ++++++++- tools/platforms/HTML5Platform.hx | 9 ++++++++- tools/platforms/IOSPlatform.hx | 9 ++++++++- tools/platforms/LinuxPlatform.hx | 9 ++++++++- tools/platforms/MacPlatform.hx | 9 ++++++++- tools/platforms/TVOSPlatform.hx | 9 ++++++++- tools/platforms/WindowsPlatform.hx | 10 ++++++++-- 10 files changed, 101 insertions(+), 10 deletions(-) diff --git a/tools/CommandLineTools.hx b/tools/CommandLineTools.hx index 4df12d085..7140616a0 100644 --- a/tools/CommandLineTools.hx +++ b/tools/CommandLineTools.hx @@ -1015,6 +1015,15 @@ class CommandLineTools Log.println(" \x1b[1m--source\x1b[0;3m=value\x1b[0m -- Add an additional value"); Log.println(" \x1b[1m--certificate-\x1b[0;3moption=value\x1b[0m -- Override a project setting"); } + + if (command == "display") + { + Log.println(""); + Log.println(" " + Log.accentColor + "Display Options:" + Log.resetColor); + Log.println(""); + Log.println(" \x1b[3m(no option)\x1b[0m -- Display HXML build arguments"); + Log.println(" \x1b[1m--output-file\x1b[0m -- Display the output file for the project"); + } } } @@ -2117,6 +2126,10 @@ class CommandLineTools { targetFlags.set("help", ""); } + else if (argument == "--output-file") + { + targetFlags.set ("output-file", ""); + } else if (argument.substr(0, 1) == "-") { if (argument == "-dce" || argument.substr(1, 1) == "-") diff --git a/tools/platforms/AndroidPlatform.hx b/tools/platforms/AndroidPlatform.hx index 913abefb6..a2520c4d1 100644 --- a/tools/platforms/AndroidPlatform.hx +++ b/tools/platforms/AndroidPlatform.hx @@ -168,7 +168,30 @@ class AndroidPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + var build = "-debug"; + if (project.keystore != null) + { + build = "-release"; + } + + var outputDirectory = null; + if (project.config.exists("android.gradle-build-directory")) + { + outputDirectory = Path.combine(project.config.getString("android.gradle-build-directory"), project.app.file + "/app/outputs/apk"); + } + else + { + outputDirectory = Path.combine(FileSystem.fullPath(targetDirectory), "bin/app/build/outputs/apk"); + } + + Sys.println(Path.combine(outputDirectory, project.app.file + build + ".apk")); + } + else + { + Sys.println(getDisplayHXML()); + } } private function getDisplayHXML():String diff --git a/tools/platforms/EmscriptenPlatform.hx b/tools/platforms/EmscriptenPlatform.hx index 3f063fca4..be4f44e22 100644 --- a/tools/platforms/EmscriptenPlatform.hx +++ b/tools/platforms/EmscriptenPlatform.hx @@ -233,7 +233,14 @@ class EmscriptenPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + Sys.println(outputFile); + } + else + { + Sys.println(getDisplayHXML()); + } } private function getDisplayHXML():String diff --git a/tools/platforms/FlashPlatform.hx b/tools/platforms/FlashPlatform.hx index 5966ca909..b868c5f1e 100644 --- a/tools/platforms/FlashPlatform.hx +++ b/tools/platforms/FlashPlatform.hx @@ -55,7 +55,14 @@ class FlashPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists ("output-file")) + { + Sys.println (Path.combine(targetDirectory, project.app.file + ".swf")); + } + else + { + Sys.println(getDisplayHXML()); + } } private function generateContext():Dynamic diff --git a/tools/platforms/HTML5Platform.hx b/tools/platforms/HTML5Platform.hx index e2faf6df0..ed5c1825d 100644 --- a/tools/platforms/HTML5Platform.hx +++ b/tools/platforms/HTML5Platform.hx @@ -117,7 +117,14 @@ class HTML5Platform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + Sys.println(outputFile); + } + else + { + Sys.println(getDisplayHXML()); + } } private function getDisplayHXML():String diff --git a/tools/platforms/IOSPlatform.hx b/tools/platforms/IOSPlatform.hx index 7a398a9d2..a8d0ea4b2 100644 --- a/tools/platforms/IOSPlatform.hx +++ b/tools/platforms/IOSPlatform.hx @@ -72,7 +72,14 @@ class IOSPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + Sys.println(Path.combine(targetDirectory, project.app.file + ".xcodeproj")); + } + else + { + Sys.println(getDisplayHXML()); + } } private function generateContext():Dynamic diff --git a/tools/platforms/LinuxPlatform.hx b/tools/platforms/LinuxPlatform.hx index c6a15596f..219360265 100644 --- a/tools/platforms/LinuxPlatform.hx +++ b/tools/platforms/LinuxPlatform.hx @@ -234,7 +234,14 @@ class LinuxPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + Sys.println(executablePath); + } + else + { + Sys.println(getDisplayHXML()); + } } private function generateContext():Dynamic diff --git a/tools/platforms/MacPlatform.hx b/tools/platforms/MacPlatform.hx index 01a81815c..49816a65e 100644 --- a/tools/platforms/MacPlatform.hx +++ b/tools/platforms/MacPlatform.hx @@ -221,7 +221,14 @@ class MacPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + Sys.println(Path.combine(targetDirectory, project.app.file)); + } + else + { + Sys.println(getDisplayHXML()); + } } private function generateContext():Dynamic diff --git a/tools/platforms/TVOSPlatform.hx b/tools/platforms/TVOSPlatform.hx index ba78a402e..f9e9b16fc 100644 --- a/tools/platforms/TVOSPlatform.hx +++ b/tools/platforms/TVOSPlatform.hx @@ -72,7 +72,14 @@ class TVOSPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + Sys.println(Path.combine(targetDirectory, project.app.file + ".xcodeproj")); + } + else + { + Sys.println(getDisplayHXML()); + } } private function generateContext():Dynamic diff --git a/tools/platforms/WindowsPlatform.hx b/tools/platforms/WindowsPlatform.hx index 28c49361e..3d038af4b 100644 --- a/tools/platforms/WindowsPlatform.hx +++ b/tools/platforms/WindowsPlatform.hx @@ -402,7 +402,14 @@ class WindowsPlatform extends PlatformTarget public override function display():Void { - Sys.println(getDisplayHXML()); + if (project.targetFlags.exists("output-file")) + { + Sys.println(executablePath); + } + else + { + Sys.println(getDisplayHXML()); + } } private function generateContext():Dynamic @@ -521,7 +528,6 @@ class WindowsPlatform extends PlatformTarget { if (targetType == "winrt") { - commands.push(["-Dwinrt", "-DHXCPP_M64"]); } else