/* * Jakefile * PopUpButtonTest * * Created by Glenn L. Austin on June 26, 2013. * Copyright 2013, Austin-Soft.com All rights reserved. */ var ENV = process.env, cp = require("child_process"), fs = require("fs"), path = require("path"), task = JAKE.task, FileList = JAKE.FileList, app = CAPPUCCINO.Jake.applicationtask.app, configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug"; app ("PopUpButtonTest", function(task) { ENV["OBJJ_INCLUDE_PATHS"] = "Frameworks"; if (configuration === "Debug") ENV["OBJJ_INCLUDE_PATHS"] = path.join(ENV["OBJJ_INCLUDE_PATHS"], configuration); task.setBuildIntermediatesPath(path.join("Build", "PopUpButtonTest.build", configuration)); task.setBuildPath(path.join("Build", configuration)); task.setProductName("PopUpButtonTest"); task.setIdentifier("com.austin-soft.PopUpButtonTest"); task.setVersion("1.0"); task.setAuthor("Austin-Soft.com"); task.setEmail("support@austin-soft.com"); task.setSummary("PopUpButtonTest"); task.setSources(new FileList("**/*.j").exclude(path.join("Build", "**")).exclude(path.join("Frameworks", "Source", "**"))); task.setResources(new FileList("Resources/**")); task.setIndexFilePath("index.html"); task.setInfoPlistPath("Info.plist"); if (configuration === "Debug") task.setCompilerFlags("-DDEBUG -g"); else task.setCompilerFlags("-O"); }); task ("default", ["PopUpButtonTest"], function() { printResults(configuration); }); task ("build", ["default"]); task ("debug", function() { ENV["CONFIGURATION"] = "Debug"; JAKE.subjake(["."], "build", ENV); }); task ("release", function() { ENV["CONFIGURATION"] = "Release"; JAKE.subjake(["."], "build", ENV); }); task ("run", ["debug"], function() { cp.execSync(["open", path.join("Build", "Debug", "PopUpButtonTest", "index.html")].join(" "), { stdio: "inherit" }); }); task ("run-release", ["release"], function() { cp.execSync(["open", path.join("Build", "Release", "PopUpButtonTest", "index.html")].join(" "), { stdio: "inherit" }); }); task ("deploy", ["release"], function() { fs.mkdirSync(path.join("Build", "Deployment", "PopUpButtonTest"), { recursive: true }); cp.execSync(["press", "-f", path.join("Build", "Release", "PopUpButtonTest"), path.join("Build", "Deployment", "PopUpButtonTest")].join(" "), { stdio: "inherit" }); printResults("Deployment") }); task ("desktop", ["release"], function() { fs.mkdirSync(path.join("Build", "Desktop", "PopUpButtonTest"), { recursive: true }); require("@objj/nativehost").buildNativeHost(path.join("Build", "Release", "PopUpButtonTest"), path.join("Build", "Desktop", "PopUpButtonTest", "PopUpButtonTest.app")); printResults("Desktop") }); task ("run-desktop", ["desktop"], function() { cp.execSync([path.join("Build", "Desktop", "PopUpButtonTest", "PopUpButtonTest.app", "Contents", "MacOS", "NativeHost"), "-i"].join(" "), { stdio: "inherit" }); }); function printResults(configuration) { console.log("----------------------------"); console.log(configuration+" app built at path: "+path.join("Build", configuration, "PopUpButtonTest")); console.log("----------------------------"); } task ("clean", function() { cp.execSync("rm -rf Build", { stdio: "inherit" }); }); task ("clobber", ["clean"], function() { cp.execSync("rm -rf Frameworks", { stdio: "inherit" }); });