Files
cappuccino/Tools/Rake/lib/objective-j.rb
T
2009-05-18 19:44:32 -07:00

107 lines
2.7 KiB
Ruby

require 'rake'
require 'date'
require 'plist'
module ObjectiveJ
class Platform
ObjJ = 'objj'
Rhino = 'rhino'
Desktop = 'desktop'
Browser = 'browser'
BrowserDesktop = 'browser-desktop'
BrowserIPhone = 'browser-iphone'
BrowseriPhone = 'browser-iphone'
end
end # module ObjectiveJ
module ObjectiveJ
module License
LGPL_v2_1 = 'LGPL_v2_1'
end
end
module ObjectiveJ
class Bundle
class Type
Application = :Application
Framework = :Framework
CODE_STRINGS =
{
Application => '280N',
Framework => 'FMWK'
}
def Type.code_string(type)
return CODE_STRINGS[type] || type.to_s
end
end
end
end
def file_d(*args, &block)
fileTask = Rake::FileTask.define_task(*args, &block)
fileDirectory = File.dirname(fileTask.name)
directory fileDirectory
file fileTask.name => fileDirectory
end
def copy_resources(files, destination, &block)
copied_resources = []
files.each do |resource|
baselength = File.basename(resource).length
if File.directory? resource
FileList[resource + '/**/*'].each do |subresource|
if File.file? subresource
copied_resource = File.join(destination, subresource[(resource.length - baselength) .. -1])
result = nil
result = block.call(subresource, copied_resource) if block_given?
if result.nil? or result['copy'] == true
file_d copied_resource => [subresource] do
cp_r(subresource, copied_resource)
end
copied_resources << copied_resource
end
copied_resources.concat(result['copied_resources']) if !result.nil? and result['copied_resources'].kind_of?(Array)
end
end
else
copied_resource = File.join(destination, File.basename(resource))
result = nil
result = block.call(resource, copied_resource) if block_given?
if result.nil? or result['copy'] == true
file_d copied_resource => [resource] do
cp_r(resource, copied_resource)
end
copied_resources << copied_resource
end
copied_resources.concat(result['copied_resources']) if !result.nil? and result['copied_resources'].kind_of?(Array)
end
end
return copied_resources
end