angular.js/Rakefile
Igor Minar 818b507d3c updating file list for the :package rake task
- removing angular-scenario.css (it's already inlined in the js)
- adding angular-mocks.js
2010-10-13 17:42:49 -07:00

138 lines
3.3 KiB
Ruby

include FileUtils
task :default => [:compile, :test]
desc 'Generate Externs'
task :compile_externs do
out = File.new("externs.js", "w")
out.write("function jQuery(){};\n")
file = File.new("lib/jquery/jquery-1.4.2.js", "r")
while (line = file.gets)
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
desc 'Compile Scenario'
task :compile_scenario do
concat = %x(cat \
lib/jquery/jquery-1.4.2.js \
src/scenario/angular.prefix \
src/Angular.js \
src/jqLite.js \
src/JSON.js \
src/Scope.js \
src/Injector.js \
src/Parser.js \
src/Resource.js \
src/Browser.js \
src/apis.js \
src/services.js \
src/AngularPublic.js \
src/scenario/DSL.js \
src/scenario/Future.js \
src/scenario/Matcher.js \
src/scenario/Runner.js \
src/scenario/angular.suffix \
)
css = %x(cat css/angular-scenario.css)
f = File.new("angular-scenario.js", 'w')
f.write(concat)
f.write('document.write(\'<style type="text/css">\n')
f.write(css.gsub(/'/, "\\'").gsub(/\n/, "\\n"));
f.write('\n</style>\');')
f.close
end
desc 'Compile JavaScript'
task :compile => [:compile_externs, :compile_scenario] do
concat = %x(cat \
src/angular.prefix \
src/Angular.js \
src/JSON.js \
src/Compiler.js \
src/Scope.js \
src/Parser.js \
src/Resource.js \
src/Browser.js \
src/jqLite.js \
src/apis.js \
src/filters.js \
src/formatters.js \
src/validators.js \
src/services.js \
src/directives.js \
src/markups.js \
src/widgets.js \
src/AngularPublic.js \
src/angular.suffix \
)
f = File.new("angular-debug.js", 'w')
f.write(concat)
f.close
%x(java -jar lib/compiler-closure/compiler.jar \
--compilation_level SIMPLE_OPTIMIZATIONS \
--js angular-debug.js \
--externs externs.js \
--create_source_map ./angular-minified.map \
--js_output_file angular-minified.js)
end
desc 'Create angular distribution'
task :package => :compile do
date = Time.now.strftime('%y%m%d_%H%M')
sha = %x(git rev-parse HEAD)[0..7]
filename = "angular-#{date}-#{sha}.tgz"
%x(cp test/angular-mocks.js ./)
%x(tar -cf #{filename} \
angular-debug.js \
angular-minified.js \
angular-scenario.js \
angular-mocks.js \
css/angular.css \
css/angular_images/ )
%x( rm angular-mocks.js)
puts "Package created: #{filename}"
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
desc 'push_angularjs'
task :push_angularjs do
Rake::Task['compile'].execute 0
sh %(cat angularjs.ftp | ftp -N angularjs.netrc angularjs.org)
end