Files
cappuccino/AppKit/Jakefile
T
2009-10-13 10:19:50 -07:00

59 lines
2.2 KiB
JavaScript

#!/usr/bin/env narwhal
require("../common.jake");
$BUILD_PATH = FILE.join($BUILD_DIR, $CONFIGURATION, 'AppKit');
$ENVIRONMENT_PRODUCT = FILE.join($ENVIRONMENT_FRAMEWORKS_DIR, 'AppKit');
$THEME_PRODUCT = FILE.join($BUILD_PATH, 'Resources', 'Aristo.blend');
$ENVIRONMENT_THEME_PRODUCT = FILE.join($ENVIRONMENT_PRODUCT, 'Resources', 'Aristo.blend');
AppKitFiles = new FileList("**/*.j").exclude('CoreGraphics/CGContextCanvas.j', 'CoreGraphics/CGContextVML.j', 'Themes/**/*', 'Tools/**/*');
appKitTask = framework ("AppKit", function(appKitTask)
{
appKitTask.setBuildIntermediatesPath(FILE.join($BUILD_DIR, "AppKit.build", $CONFIGURATION))
appKitTask.setBuildPath(FILE.join($BUILD_DIR, $CONFIGURATION));
appKitTask.setAuthor("280 North, Inc.");
appKitTask.setEmail("feedback @nospam@ 280north.com");
appKitTask.setSummary("AppKit classes for Cappuccino");
appKitTask.setIdentifier("com.280n.AppKit");
appKitTask.setLicense(BundleTask.License.LGPL_v2_1);
appKitTask.setSources(AppKitFiles);//terrible!
appKitTask.setResources(new FileList("Resources/**/*"));
appKitTask.setPlatforms([BundleTask.Platform.Browser, BundleTask.Platform.CommonJS]);
appKitTask.setFlattensSources(true);
if ($CONFIGURATION === "Release")
appKitTask.setCompilerFlags("-O");
else
appKitTask.setCompilerFlags("-DDEBUG -g");
});
$COMMONJS_PRODUCT_APPKIT = FILE.join($COMMONJS_PRODUCT_FRAMEWORKS, "AppKit");
filedir ($COMMONJS_PRODUCT_APPKIT, ["AppKit"], function()
{
cp_r(appKitTask.buildProductPath(), $COMMONJS_PRODUCT_APPKIT);
});
//# It would be nice to just have ENVIRONMENT_PRODUCT depend on THEME_PRODUCT,
//# but this would be a circular dependency because THEME_PRODUCT needs
//# ENVIRONMENT_PRODUCT up-to-date since it runs an objj application that uses
//# AppKit.
//file_d $ENVIRONMENT_PRODUCT => [:AppKit] do
// cp_r(File.join($BUILD_PATH, '.'), $ENVIRONMENT_PRODUCT)
//end
//file_d $ENVIRONMENT_THEME_PRODUCT => $THEME_PRODUCT do
// cp_r(File.join($THEME_PRODUCT, '.'), $ENVIRONMENT_THEME_PRODUCT)
//end
subtasks (["Tools"], ["build"/*, "clean", "clobber"*/]);
task ("build", ["AppKit", $COMMONJS_PRODUCT_APPKIT]);//, $THEME_PRODUCT]);
//CLOBBER.include($ENVIRONMENT_PRODUCT)