Moved nib2cib and capp to jake.

Reviewed by me.
This commit is contained in:
Francisco Ryan Tolmasky I
2009-09-25 03:28:38 -07:00
parent ffd99e3ed7
commit 714cd402df
8 changed files with 147 additions and 52 deletions
@@ -7,4 +7,9 @@ exports.bundle = BUNDLE_TASK.bundle;
var FRAMEWORK_TASK = require("objective-j/jake/frameworktask");
exports.FrameworkTask = FRAMEWORK_TASK.FrameworkTask;
exports.framework = FRAMEWORK_TASK.framework;
exports.framework = FRAMEWORK_TASK.framework;
var APPLICATION_TASK = require("objective-j/jake/applicationtask");
exports.ApplicationTask = APPLICATION_TASK.ApplicationTask;
exports.app = APPLICATION_TASK.app;
@@ -3,7 +3,7 @@ BundleTask = require("objective-j/jake/bundletask").BundleTask;
function ApplicationTask(aName)
{
ApplicationTask.apply(this, arguments);
BundleTask.apply(this, arguments);
}
ApplicationTask.__proto__ = BundleTask;
@@ -16,7 +16,7 @@ ApplicationTask.prototype.packageTask = function()
exports.ApplicationTask = ApplicationTask;
exports.application = function(aName, aFunction)
exports.app = function(aName, aFunction)
{
// No .apply necessary because the parameters aren't variable.
return ApplicationTask.defineTask(aName, aFunction);
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env narwhal
require("../common.jake");
// nib2cib has to come before capp since capp uses nib2cib
subtasks(["nib2cib", "capp"/*, "bake", "press"*/], ["build"/*, "clean", "clobber"*/]);
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env ruby
var FILE = require("file");
require ("../../common.jake");
app ("capp", function(cappTask)
{
cappTask.setBuildIntermediatesPath(FILE.join($BUILD_DIR, "capp.build", $CONFIGURATION))
cappTask.setBuildPath($COMMONJS_PRODUCT_LIB);
cappTask.setIdentifier("com.280n.capp");
cappTask.setLicense(BundleTask.License.LGPL_v2_1);
cappTask.setVersion("0.7.1");
// t.author = '280 North, Inc.'
// t.email = 'feedback @nospam@ 280north.com'
// t.summary = 'Setup up Cappuccino projects'
cappTask.setSources(FILE.glob("*.j"));
cappTask.setResources(["Templates"]);
cappTask.setIncludesNibsAndXibs(true);
cappTask.setPlatforms([BundleTask.Platform.CommonJS]);
if ($CONFIGURATION === "Release")
cappTask.setCompilerFlags("-O");
else
cappTask.setCompilerFlags("-DDEBUG -g");
});
$COMMONJS_CAPP_BIN_PRODUCT = FILE.join($COMMONJS_PRODUCT_BIN, 'nib2cib');
// executable in environment directory
filedir($COMMONJS_CAPP_BIN_PRODUCT, ["capp"], function()
{
make_objj_executable($COMMONJS_CAPP_BIN_PRODUCT);
});
task ("build", ["capp", $COMMONJS_CAPP_BIN_PRODUCT]);
/*
CLOBBER.include($ENVIRONMENT_BIN_PRODUCT, $ENVIRONMENT_LIB_PRODUCT)
*/
File diff suppressed because one or more lines are too long
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env narwhal
var FILE = require("file");
require("../../common.jake");
app ("nib2cib", function(nib2cibTask)
{
nib2cibTask.setBuildIntermediatesPath(FILE.join($BUILD_DIR, "nib2cib.build", $CONFIGURATION))
nib2cibTask.setBuildPath($COMMONJS_PRODUCT_LIB);
nib2cibTask.setIdentifier("com.280n.nib2cib");
nib2cibTask.setLicense(BundleTask.License.LGPL_v2_1);
nib2cibTask.setVersion("0.7.1");
// t.author = '280 North, Inc.'
// t.email = 'feedback @nospam@ 280north.com'
// t.summary = 'nib2cib converts Cocoa nib and xibs to Cappuccino cibs'
nib2cibTask.setSources(FILE.glob("*.j"));// t.sources = FileList['**/*.j']
nib2cibTask.setResources(FILE.glob("Resources/*"));
nib2cibTask.setPlatforms([BundleTask.Platform.CommonJS]);
nib2cibTask.setFlattensSources(true);
if ($CONFIGURATION === "Release")
nib2cibTask.setCompilerFlags("-O");
else
nib2cibTask.setCompilerFlags("-DDEBUG -g");
});
$COMMONJS_NIB2CIB_BIN_PRODUCT = FILE.join($COMMONJS_PRODUCT_BIN, 'nib2cib');
// executable in environment directory
filedir($COMMONJS_NIB2CIB_BIN_PRODUCT, ["nib2cib"], function()
{
make_objj_executable($COMMONJS_NIB2CIB_BIN_PRODUCT);
});
task ("build", ["nib2cib", $COMMONJS_NIB2CIB_BIN_PRODUCT]);
/*
CLOBBER.include($ENVIRONMENT_BIN_PRODUCT, $ENVIRONMENT_LIB_PRODUCT )*/
+50 -48
View File
@@ -11,28 +11,6 @@ global.directory = Jake.directory;
//global.file = Jake.file;
global.filedir = Jake.filedir;
/*
def gem_command
case RUBY_PLATFORM
when /win32/
'gem.bat'
when /java/
'jruby -S gem'
else
'gem'
end
end
begin
require 'rubygems'
require 'plist'
rescue LoadError
puts 'Plist gem not installed, installing...'
cmd = "#{gem_command} install plist"
puts cmd
puts %x(#{cmd})
end
*/
// Read in and set up development environment variables.
if (!ENV["BUILD_PATH"])
{
@@ -54,8 +32,13 @@ ENV["BUILD_PATH"] = FILE.absolute(ENV["BUILD_PATH"]);
if (!ENV["CONFIG"])
ENV["CONFIG"] = "Release";
global.$CONFIGURATION = ENV['CONFIG'];
global.$BUILD_DIR = ENV['BUILD_PATH'];
global.$CONFIGURATION = ENV['CONFIG'];
global.$BUILD_DIR = ENV['BUILD_PATH'];
global.$COMMONJS_PRODUCT = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j");
global.$COMMONJS_PRODUCT_BIN = FILE.join($COMMONJS_PRODUCT, "bin");
global.$COMMONJS_PRODUCT_LIB = FILE.join($COMMONJS_PRODUCT, "lib");
global.$PRODUCT_DIR = FILE.join($BUILD_DIR, $CONFIGURATION);
global.$ENVIRONMENT_DIR = FILE.join($BUILD_DIR, $CONFIGURATION, 'env');
global.$ENVIRONMENT_NARWHAL_BIN_DIR= FILE.join($ENVIRONMENT_DIR, 'bin', '');
@@ -66,17 +49,28 @@ 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'));
var objectiveJLibJS = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j", "lib-js");
if (FILE.exists(objectiveJLibJS))
if(!global.COMMON_DO_ONCE)
{
require.paths.unshift(objectiveJLibJS);
global.COMMON_DO_ONCE = true;
var OBJECTIVE_J_JAKE = require("objective-j/jake");
var objectiveJBin = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j", "bin"),
objectiveJLibJS = FILE.join($BUILD_DIR, $CONFIGURATION, "CommonJS", "objective-j", "lib-js");
global.bundle = OBJECTIVE_J_JAKE.bundle;
global.framework = OBJECTIVE_J_JAKE.framework;
global.BundleTask = OBJECTIVE_J_JAKE.BundleTask;
if (FILE.exists(objectiveJLibJS))
{
require.paths.unshift(objectiveJLibJS);
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;
global.BundleTask = OBJECTIVE_J_JAKE.BundleTask;
}
if (FILE.exists(objectiveJBin))
OS.system("PATH=$PATH:" + objectiveJBin);
}
global.rm_rf = function(/*String*/ aFilename)
@@ -87,6 +81,7 @@ global.rm_rf = function(/*String*/ aFilename)
global.cp_r = function(/*String*/ from, /*String*/ to)
{
rm_rf(to);
FILE.copyTree(from, to);
}
@@ -95,14 +90,6 @@ global.cp = function(/*String*/ from, /*String*/ to)
FILE.copy(from, to);
}
if(!global.COMMON_DO_ONCE)
{
COMMON_DO_ONCE = true
// $LOAD_PATH << File.join($HOME_DIR, 'Tools', 'Rake', 'lib')
ENV["PATH"] = $ENVIRONMENT_NARWHAL_BIN_DIR + ":" + ENV["PATH"];
}
//require 'objective-j'
function serializedENV()
@@ -143,14 +130,14 @@ global.executableExists = function(/*String*/ aFileName)
});
}
$OBJJ_TEMPLATE_EXECUTABLE = FILE.join($HOME_DIR, 'Tools', 'Rake', 'lib', 'objj-executable')
/*
def make_objj_executable(path)
cp($OBJJ_TEMPLATE_EXECUTABLE, path)
File.chmod(0755, path)
symlink_executable(path)
end
*/
$OBJJ_TEMPLATE_EXECUTABLE = FILE.join($HOME_DIR, "Objective-J", "CommonJS", "objj-executable");
global.make_objj_executable = function(aPath)
{
cp($OBJJ_TEMPLATE_EXECUTABLE, aPath);
FILE.chmod(aPath, 0755);
}
global.symlink_executable = function(source)
{
relative = FILE.relative($ENVIRONMENT_NARWHAL_BIN_DIR, source);
@@ -219,3 +206,18 @@ function spawnJake(/*String*/ aTaskName)
//system %{#{$serialized_env} #{$0} #{task_name}}
//rake abort if ($? != 0)
}
global.subtasks = function(subprojects, taskNames)
{
taskNames.forEach(function(aTaskName)
{
var subtaskName = taskNames + "_subprojects";
task (aTaskName, [subtaskName]);
task (subtaskName, function()
{
subjake(subprojects, aTaskName);
});
});
}