#!/usr/bin/env ruby require '../../../common' require 'objective-j' require 'rake' require 'rake/clean' $CPLUTIL_SCRIPT = File.join($BUILD_DIR, 'cplutil.build', $CONFIGURATION, 'main-concat.js') $CPLUTIL_CLASS = File.join($ENVIRONMENT_LIB_DIR, 'cplutil', 'main.class') $CPLUTIL_EXECUTABLE = File.join($ENVIRONMENT_BIN_DIR, 'cplutil') $STANDARD_EXECUTABLE = File.expand_path(File.join('..', 'executable')) Files = [ File.join($HOME_DIR, 'Tools', 'Utilities', 'bridge.js'), #yuck! File.join($HOME_DIR, 'Tools', 'Utilities', 'regex-bridge.js'), #double-yuck! File.join($ENVIRONMENT_FRAMEWORKS_DIR, 'Objective-J', 'rhino.platform', 'Objective-J.js'), 'main.js']; file_d $CPLUTIL_EXECUTABLE => [$STANDARD_EXECUTABLE] do cp($STANDARD_EXECUTABLE, $CPLUTIL_EXECUTABLE) File.chmod 0755, $CPLUTIL_EXECUTABLE end file_d $CPLUTIL_SCRIPT => Files do |t| cat(Files, $CPLUTIL_SCRIPT) end file_d $CPLUTIL_CLASS => $CPLUTIL_SCRIPT do |t| js2java($CPLUTIL_SCRIPT, 'main.class', false) cp(File.join(File.dirname($CPLUTIL_SCRIPT), 'main.class'), $CPLUTIL_CLASS) end task :build => [$CPLUTIL_CLASS, $CPLUTIL_EXECUTABLE] CLEAN.include(File.join($BUILD_DIR, 'cplutil.build', $CONFIGURATION)) CLOBBER.include(File.join($ENVIRONMENT_LIB_DIR, 'cplutil'), $CPLUTIL_EXECUTABLE)