diff --git a/AppKit/Jakefile b/AppKit/Jakefile index 51e1b74f2..ee780f9fb 100644 --- a/AppKit/Jakefile +++ b/AppKit/Jakefile @@ -3,7 +3,7 @@ require("../common.jake"); -$BUILD_PATH = FILE.join($BUILD_DIR, $CONFIGURATION, 'AppKit'); +$BUILD_PATH = FILE.join($BUILD_DIR, $CONFIGURATION, 'AppKit'); AppKitFiles = new FileList("**/*.j").exclude('CoreGraphics/CGContextCanvas.j', 'CoreGraphics/CGContextVML.j', 'Themes/**/*', 'Tools/**/*'); @@ -17,7 +17,7 @@ appKitTask = framework ("AppKit", function(appKitTask) appKitTask.setSummary("AppKit classes for Cappuccino"); appKitTask.setIdentifier("com.280n.AppKit"); appKitTask.setLicense(BundleTask.License.LGPL_v2_1); - appKitTask.setSources(AppKitFiles);//terrible! + appKitTask.setSources(AppKitFiles); appKitTask.setResources(new FileList("Resources/**/*")); appKitTask.setPlatforms([BundleTask.Platform.Browser, BundleTask.Platform.CommonJS]); appKitTask.setFlattensSources(true); @@ -47,4 +47,4 @@ task ("Theme", [$COMMONJS_PRODUCT_APPKIT], function() task ("build", ["AppKit", $COMMONJS_PRODUCT_APPKIT, "Theme"]); -//CLOBBER.include($ENVIRONMENT_PRODUCT) +CLOBBER.include($COMMONJS_PRODUCT_APPKIT); diff --git a/Foundation/Jakefile b/Foundation/Jakefile index 259ec7965..5e667eb4c 100644 --- a/Foundation/Jakefile +++ b/Foundation/Jakefile @@ -32,4 +32,4 @@ filedir ($COMMONJS_PRODUCT_FOUNDATION, ["Foundation"], function() task ("build", ["Foundation", $COMMONJS_PRODUCT_FOUNDATION]); -//CLOBBER.include($ENVIRONMENT_PRODUCT) +CLOBBER.include($COMMONJS_PRODUCT_FOUNDATION); diff --git a/Objective-J/CommonJS/objective-j/lib-js/objective-j/jake/bundletask.js b/Objective-J/CommonJS/objective-j/lib-js/objective-j/jake/bundletask.js index 24ca82ec0..14ca849ea 100644 --- a/Objective-J/CommonJS/objective-j/lib-js/objective-j/jake/bundletask.js +++ b/Objective-J/CommonJS/objective-j/lib-js/objective-j/jake/bundletask.js @@ -3,9 +3,8 @@ var FILE = require("file"), OS = require("os"), UTIL = require("util"), Jake = require("jake"), - objj_dictionary = require("objective-j").objj_dictionary, - compiler = require("objective-j/compiler"), - plist = require("objective-j/plist"), + CLEAN = require("jake/clean").CLEAN, + CLOBBER = require("jake/clean").CLOBBER, base64 = require("base64"); var Task = Jake.Task, @@ -36,7 +35,7 @@ function BundleTask(aName, anApplication) this._buildIntermediatesPath = null; this._buildPath = FILE.cwd(); - this._replacedFiles = new objj_dictionary(); + this._replacedFiles = { }; this._nib2cibFlags = null; } @@ -261,7 +260,9 @@ BundleTask.prototype.defineTasks = function() this.defineInfoPlistTask(); this.defineLicenseTask(); this.defineStaticTask(); -// CLOBBER.include(build_path) + + CLEAN.include(this.buildIntermediatesProductPath()); + CLOBBER.include(this.buildPath()); } BundleTask.prototype.packageType = function() @@ -271,17 +272,26 @@ BundleTask.prototype.packageType = function() BundleTask.prototype.infoPlist = function() { - var infoPlist = new objj_dictionary(); - //util = require("util"), + var objj_dictionary = require("objective-j").objj_dictionary, + infoPlist = new objj_dictionary(); + infoPlist.setValue("CPBundleInfoDictionaryVersion", 6.0); infoPlist.setValue("CPBundleName", this.productName()); infoPlist.setValue("CPBundleIdentifier", this.identifier()); infoPlist.setValue("CPBundleVersion", this.version()); infoPlist.setValue("CPBundlePackageType", this.packageType()); - infoPlist.setValue("CPBundleReplacedFiles", this._replacedFiles); infoPlist.setValue("CPBundlePlatforms", this.platforms()); infoPlist.setValue("CPBundleExecutable", this.productName() + ".sj"); + var replacedFiles = this._replacedFiles, + replacedFilesDictionary = new objj_dictionary(); + + for (var engine in replacedFiles) + if (replacedFiles.hasOwnProperty(engine)) + replacedFilesDictionary.setValue(engine, replacedFiles[engine]); + + infoPlist.setValue("CPBundleReplacedFiles", replacedFilesDictionary); + return infoPlist; /* @@ -303,7 +313,7 @@ BundleTask.prototype.defineInfoPlistTask = function() filedir (infoPlistProductPath, function() { - plist.writePlist(infoPlistProductPath, bundleTask.infoPlist()); + require("objective-j/plist").writePlist(infoPlistProductPath, bundleTask.infoPlist()); }); this.enhance([infoPlistProductPath]); @@ -568,7 +578,7 @@ BundleTask.prototype.defineSourceTasks = function() filedir (compiledPlatformSource, [aFilename], function() { print("Compiling " + aFilename + "..."); - FILE.write(compiledPlatformSource, compiler.compile(aFilename, flags + " " + compilerFlags), { charset:"UTF-8" }); + FILE.write(compiledPlatformSource, require("objective-j/compiler").compile(aFilename, flags + " " + compilerFlags), { charset:"UTF-8" }); }); filedir (staticPath, [compiledPlatformSource]); @@ -578,7 +588,7 @@ BundleTask.prototype.defineSourceTasks = function() replacedFiles.push(flattensSources ? FILE.basename(aFilename) : FILE.relative(sourcesPath, aFilename)); }, this); - this._replacedFiles.setValue(aPlatform, replacedFiles); + this._replacedFiles[aPlatform] = replacedFiles; }, this); } diff --git a/common.jake b/common.jake index 7e2d9adf8..5a5d99a84 100644 --- a/common.jake +++ b/common.jake @@ -12,6 +12,10 @@ global.directory = Jake.directory; global.filedir = Jake.filedir; global.FileList = Jake.FileList; +global.CLEAN = require("jake/clean").CLEAN; +global.CLOBBER = require("jake/clean").CLOBBER; + + // Read in and set up development environment variables. if (!ENV["BUILD_PATH"]) { @@ -51,40 +55,39 @@ global.$ENVIRONMENT_FRAMEWORKS_DIR = FILE.join($ENVIRONMENT_LIB_DIR, 'Frameworks global.$HOME_DIR = FILE.absolute(FILE.dirname(module.path)); global.$LICENSE_FILE = FILE.absolute(FILE.join(FILE.dirname(module.path), 'LICENSE')); -if(!global.COMMON_DO_ONCE) +var objectiveJLibJS = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j", "lib-js"); + +if (!FILE.exists(objectiveJLibJS)) + objectiveJLibJS = FILE.join($HOME_DIR, "Objective-J", "CommonJS", "objective-j", "lib-js"); + +require.paths.unshift(objectiveJLibJS); + +require("objective-j/loader"); + +var OBJECTIVE_J_JAKE = require("objective-j/jake"); + +global.app = OBJECTIVE_J_JAKE.app; +global.bundle = OBJECTIVE_J_JAKE.bundle; +global.framework = OBJECTIVE_J_JAKE.framework; + +if (OBJECTIVE_J_JAKE.blend) + global.blend = OBJECTIVE_J_JAKE.blend; + +global.BundleTask = OBJECTIVE_J_JAKE.BundleTask; + +var objectiveJBin = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j", "bin") + +if (!FILE.exists(objectiveJBin)) + objectiveJBin = FILE.join($HOME_DIR, "Objective-J", "CommonJS", "objective-j", "bin"); + +if (FILE.exists(objectiveJBin)) { - global.COMMON_DO_ONCE = true; + var system = OS.system; - var objectiveJBin = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j", "bin"), - objectiveJLibJS = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j", "lib-js"); - - if (FILE.exists(objectiveJLibJS)) + // FIXME: is there a better way to do this??? + OS.system = function(aCommand) { - require.paths.unshift(objectiveJLibJS); - - require("objective-j/loader"); - - var OBJECTIVE_J_JAKE = require("objective-j/jake"); - - global.app = OBJECTIVE_J_JAKE.app; - global.bundle = OBJECTIVE_J_JAKE.bundle; - global.framework = OBJECTIVE_J_JAKE.framework; - - if (OBJECTIVE_J_JAKE.blend) - global.blend = OBJECTIVE_J_JAKE.blend; - - global.BundleTask = OBJECTIVE_J_JAKE.BundleTask; - } - - if (FILE.exists(objectiveJBin)) - { - var system = OS.system; - - // FIXME: is there a better way to do this??? - OS.system = function(aCommand) - { - system("PATH=" + OS.enquote(objectiveJBin) + ":$PATH " + aCommand) - } + system("PATH=" + OS.enquote(objectiveJBin) + ":$PATH " + aCommand) } }