/* * Jakefile * panel * * Created by You on January 7, 2013. * Copyright 2013, Your Company 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 ("panel", function(task) { task.setBuildIntermediatesPath(path.join("Build", "panel.build", configuration)); task.setBuildPath(path.join("Build", configuration)); task.setProductName("panel"); task.setIdentifier("com.yourcompany.panel"); task.setVersion("1.0"); task.setAuthor("Your Company"); task.setEmail("feedback @nospam@ yourcompany.com"); task.setSummary("panel"); task.setSources((new FileList("**/*.j")).exclude(path.join("Build", "**"))); task.setResources(new FileList("Resources/**")); task.setIndexFilePath("index.html"); task.setInfoPlistPath("Info.plist"); task.setNib2CibFlags("-R Resources/"); if (configuration === "Debug") task.setCompilerFlags("-DDEBUG -g"); else task.setCompilerFlags("-O"); }); task ("default", ["panel"], 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", "panel", "index.html")].join(" "), { stdio: "inherit" }); }); task ("run-release", ["release"], function() { cp.execSync(["open", path.join("Build", "Release", "panel", "index.html")].join(" "), { stdio: "inherit" }); }); task ("deploy", ["release"], function() { fs.mkdirSync(path.join("Build", "Deployment", "panel"), { recursive: true }); cp.execSync(["press", "-f", path.join("Build", "Release", "panel"), path.join("Build", "Deployment", "panel")].join(" "), { stdio: "inherit" }); printResults("Deployment") }); task ("desktop", ["release"], function() { fs.mkdirSync(path.join("Build", "Desktop", "panel"), { recursive: true }); require("@objj/nativehost").buildNativeHost(path.join("Build", "Release", "panel"), path.join("Build", "Desktop", "panel", "panel.app")); printResults("Desktop") }); task ("run-desktop", ["desktop"], function() { cp.execSync([path.join("Build", "Desktop", "panel", "panel.app", "Contents", "MacOS", "NativeHost"), "-i"].join(" "), { stdio: "inherit" }); }); function printResults(configuration) { console.log("----------------------------"); console.log(configuration+" app built at path: "+path.join("Build", configuration, "panel")); console.log("----------------------------"); }