mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-26 05:27:03 +00:00
66 lines
1.6 KiB
Ruby
66 lines
1.6 KiB
Ruby
#!/usr/bin/env ruby
|
|
|
|
require 'rake'
|
|
require '../../common'
|
|
require 'objective-j'
|
|
|
|
|
|
$PRODUCT = File.join($PRODUCT_DIR, 'Objective-J')
|
|
$ENVIRONMENT_PRODUCT = File.join($ENVIRONMENT_FRAMEWORKS_DIR, 'Objective-J')
|
|
|
|
$LICENSE_FILE = File.join($PRODUCT, 'LICENSE')
|
|
$BROWSER_FILE = File.join($PRODUCT, 'Objective-J.js')
|
|
$RHINO_FILE = File.join($PRODUCT, 'Rhino.platform', 'Objective-J.js')
|
|
|
|
task :Products => [$BROWSER_FILE, $RHINO_FILE]
|
|
|
|
task :build => [:Products, $ENVIRONMENT_PRODUCT]
|
|
|
|
=begin
|
|
task :environment => [$PRODUCT_FILE, $LICENSE_FILE, ENVIRONMENT_FRAMEWORKS_DIR] do
|
|
cp_r($BUILD_PRODUCT_DIR, ENVIRONMENT_FRAMEWORKS_DIR)
|
|
end
|
|
=end
|
|
Files = [ 'LICENSE.txt',
|
|
'constants.js',
|
|
'utilities.js',
|
|
'runtime.js',
|
|
'dictionary.js',
|
|
'plist.js',
|
|
'file.js',
|
|
'exception.js',
|
|
'preprocess.js',
|
|
'evaluate.js',
|
|
'debug.js',
|
|
'bootstrap.js'];
|
|
|
|
file_d $BROWSER_FILE => Files do |t|
|
|
build_product(t.name)
|
|
end
|
|
|
|
file_d $RHINO_FILE => Files do |t|
|
|
build_product(t.name)
|
|
end
|
|
|
|
#Framework in environment directory
|
|
file_d $ENVIRONMENT_PRODUCT => [:Products] do
|
|
cp_r($PRODUCT, $ENVIRONMENT_PRODUCT)
|
|
end
|
|
|
|
def build_product(path, *flags)
|
|
|
|
IO.popen("gcc -E -x c -P -", "w+") do |preprocessor|
|
|
|
|
Files.select { |name| name.match(/\.js$/) }.each do |fileName|
|
|
preprocessor.puts IO.read(fileName)
|
|
end
|
|
|
|
preprocessor.close_write
|
|
|
|
File.open(path, "w") do |file|
|
|
file.write(IO.read("LICENSE.txt") + preprocessor.read)
|
|
end
|
|
|
|
end
|
|
end
|