angular.js/Rakefile

91 lines
2.1 KiB
Ruby
Raw Normal View History

2010-01-06 00:36:58 +00:00
include FileUtils
task :default => [:compile, :test]
desc 'Generate Externs'
task :compileexterns do
out = File.new("externs.js", "w")
out.write("function _(){};\n")
file = File.new("lib/underscore/underscore.js", "r")
while (line = file.gets)
2010-03-24 19:08:09 +00:00
if line =~ /^\s*_\.(\w+)\s*=.*$/
out.write("_.#{$1}=function(){};\n")
end
end
file.close
out.write("function jQuery(){};\n")
2010-03-24 19:08:09 +00:00
file = File.new("lib/jquery/jquery-1.4.2.js", "r")
while (line = file.gets)
2010-03-24 19:08:09 +00:00
if line =~ /^\s*(\w+)\s*:\s*function.*$/
out.write("jQuery.#{$1}=function(){};\n")
end
end
file.close
out.write("jQuery.scope=function(){};\n")
out.write("jQuery.controller=function(){};\n")
out.close
end
2010-01-06 00:36:58 +00:00
desc 'Compile JavaScript'
task :compile do
Rake::Task['compileexterns'].execute 0
2010-01-09 23:02:43 +00:00
concat = %x(cat \
src/angular.prefix \
src/Angular.js \
2010-01-06 00:36:58 +00:00
src/JSON.js \
2010-03-29 17:40:57 +00:00
src/Compiler.js \
src/Scope.js \
2010-01-06 00:36:58 +00:00
src/Parser.js \
2010-03-16 21:38:56 +00:00
src/Resource.js \
2010-04-07 17:17:15 +00:00
src/Browser.js \
src/jqLite.js \
2010-03-29 17:40:57 +00:00
src/apis.js \
src/filters.js \
src/formatters.js \
src/validators.js \
src/directives.js \
src/markups.js \
src/widgets.js \
2010-04-07 17:17:15 +00:00
src/services.js \
src/AngularPublic.js \
2010-01-09 23:02:43 +00:00
src/angular.suffix \
2010-01-06 00:36:58 +00:00
)
2010-04-07 17:17:15 +00:00
f = File.new("angular-debug.js", 'w')
2010-01-09 23:02:43 +00:00
f.write(concat)
2010-01-06 00:36:58 +00:00
f.close
%x(java -jar lib/compiler-closure/compiler.jar \
2010-01-09 23:02:43 +00:00
--compilation_level ADVANCED_OPTIMIZATIONS \
2010-04-07 17:17:15 +00:00
--js angular-debug.js \
--externs externs.js \
--create_source_map ./angular-minified.map \
2010-01-09 23:02:43 +00:00
--js_output_file angular-minified.js)
2010-01-06 00:36:58 +00:00
end
namespace :server do
desc 'Run JsTestDriver Server'
task :start do
sh %x(java -jar lib/jstestdriver/JsTestDriver.jar --browser open --port 9876)
end
desc "Run JavaScript tests against the server"
task :test do
sh %(java -jar lib/jstestdriver/JsTestDriver.jar --tests all)
end
end
desc "Run JavaScript tests"
task :test do
sh %(java -jar lib/jstestdriver/JsTestDriver.jar --tests all --browser open --port 9876)
end
desc 'Lint'
task :lint do
out = %x(lib/jsl/jsl -conf lib/jsl/jsl.default.conf)
print out
end