diff --git a/tools/platforms/AndroidPlatform.hx b/tools/platforms/AndroidPlatform.hx index 593d7dc5b..060b491df 100644 --- a/tools/platforms/AndroidPlatform.hx +++ b/tools/platforms/AndroidPlatform.hx @@ -215,7 +215,7 @@ class AndroidPlatform extends PlatformTarget } } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/haxe/" + buildType + ".hxml"; @@ -520,7 +520,15 @@ class AndroidPlatform extends PlatformTarget public override function watch():Void { - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); } diff --git a/tools/platforms/EmscriptenPlatform.hx b/tools/platforms/EmscriptenPlatform.hx index be4f44e22..f4264e4a9 100644 --- a/tools/platforms/EmscriptenPlatform.hx +++ b/tools/platforms/EmscriptenPlatform.hx @@ -243,7 +243,7 @@ class EmscriptenPlatform extends PlatformTarget } } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/haxe/" + buildType + ".hxml"; diff --git a/tools/platforms/FlashPlatform.hx b/tools/platforms/FlashPlatform.hx index 793a2e53b..f1d64b089 100644 --- a/tools/platforms/FlashPlatform.hx +++ b/tools/platforms/FlashPlatform.hx @@ -108,7 +108,7 @@ class FlashPlatform extends PlatformTarget return context; } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/haxe/" + buildType + ".hxml"; @@ -263,7 +263,15 @@ class FlashPlatform extends PlatformTarget }*/ public override function watch():Void { - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); } diff --git a/tools/platforms/HTML5Platform.hx b/tools/platforms/HTML5Platform.hx index 316162925..2a540642f 100644 --- a/tools/platforms/HTML5Platform.hx +++ b/tools/platforms/HTML5Platform.hx @@ -139,7 +139,7 @@ class HTML5Platform extends PlatformTarget } } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/haxe/" + buildType + ".hxml"; @@ -502,7 +502,15 @@ class HTML5Platform extends PlatformTarget { // TODO: Use a custom live reload HTTP server for test/run instead - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); } diff --git a/tools/platforms/IOSPlatform.hx b/tools/platforms/IOSPlatform.hx index 698f8edd3..71cb31766 100644 --- a/tools/platforms/IOSPlatform.hx +++ b/tools/platforms/IOSPlatform.hx @@ -379,7 +379,7 @@ class IOSPlatform extends PlatformTarget return context; } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/" + project.app.file + "/haxe/Build.hxml"; @@ -813,7 +813,15 @@ class IOSPlatform extends PlatformTarget }*/ public override function watch():Void { - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); } diff --git a/tools/platforms/LinuxPlatform.hx b/tools/platforms/LinuxPlatform.hx index f0aa37244..1ebb14d93 100644 --- a/tools/platforms/LinuxPlatform.hx +++ b/tools/platforms/LinuxPlatform.hx @@ -267,7 +267,7 @@ class LinuxPlatform extends PlatformTarget return context; } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/haxe/" + buildType + ".hxml"; @@ -445,7 +445,15 @@ class LinuxPlatform extends PlatformTarget public override function watch():Void { - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); } diff --git a/tools/platforms/MacPlatform.hx b/tools/platforms/MacPlatform.hx index e65f23a4d..7cc85d6b7 100644 --- a/tools/platforms/MacPlatform.hx +++ b/tools/platforms/MacPlatform.hx @@ -243,7 +243,7 @@ class MacPlatform extends PlatformTarget return context; } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/haxe/" + buildType + ".hxml"; @@ -413,7 +413,15 @@ class MacPlatform extends PlatformTarget public override function watch():Void { - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); } diff --git a/tools/platforms/TVOSPlatform.hx b/tools/platforms/TVOSPlatform.hx index e2e735eb8..0f65ac0e2 100644 --- a/tools/platforms/TVOSPlatform.hx +++ b/tools/platforms/TVOSPlatform.hx @@ -304,7 +304,7 @@ class TVOSPlatform extends PlatformTarget return context; } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/" + project.app.file + "/haxe/Build.hxml"; @@ -612,7 +612,15 @@ class TVOSPlatform extends PlatformTarget }*/ public override function watch():Void { - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); } diff --git a/tools/platforms/WindowsPlatform.hx b/tools/platforms/WindowsPlatform.hx index cda942b14..c15821ff1 100644 --- a/tools/platforms/WindowsPlatform.hx +++ b/tools/platforms/WindowsPlatform.hx @@ -509,7 +509,7 @@ class WindowsPlatform extends PlatformTarget return context; } - private function getDisplayHXML():String + private function getDisplayHXML():HXML { var path = targetDirectory + "/haxe/" + buildType + ".hxml"; @@ -1014,7 +1014,15 @@ class WindowsPlatform extends PlatformTarget public override function watch():Void { - var dirs = []; // WatchHelper.processHXML (getDisplayHXML (), project.app.path); + var hxml = getDisplayHXML(); + var dirs = hxml.getClassPaths(true); + + var outputPath = Path.combine(Sys.getCwd(), project.app.path); + dirs = dirs.filter(function(dir) + { + return (!Path.startsWith(dir, outputPath)); + }); + var command = ProjectHelper.getCurrentCommand(); System.watch(command, dirs); }