Sha256: 76c105d079d939eb1806b4cee326baadea9a26acbec060fc65130838cae30ce3
Contents?: true
Size: 1.84 KB
Versions: 6
Compression:
Stored size: 1.84 KB
Contents
require 'bundler/setup' require 'opal/rake_task' Opal::RakeTask.new do |t| t.dependencies = %w(opal-spec) t.files = [] # we handle this by Opal.runtime instead t.parser = true # we want to also build opal-parser.js (used in specs) end # build runtime, dependencies and specs, then run the tests task :default => %w[opal opal:test] desc "opal.min.js and opal-parser.min.js" task :min do %w[opal opal-parser].each do |file| puts " * #{file}.min.js" File.open("build/#{file}.min.js", "w+") do |o| o.puts uglify(File.read "build/#{file}.js") end end end desc "Check file sizes for opal.js runtime" task :sizes do o = File.read 'build/opal.js' m = uglify o g = gzip m puts "opal.js:" puts "development: #{o.size}, minified: #{m.size}, gzipped: #{g.size}" end desc "Rebuild grammar.rb for opal parser" task :racc do %x(racc -l lib/opal/grammar.y -o lib/opal/grammar.rb) end # Used for uglifying source to minify def uglify(str) IO.popen('uglifyjs -nc', 'r+') do |i| i.puts str i.close_write return i.read end end # Gzip code to check file size def gzip(str) IO.popen('gzip -f', 'r+') do |i| i.puts str i.close_write return i.read end end # For testing just specific sections of opal desc "Build each test case into build/" task :test_cases do FileUtils.mkdir_p 'build/test_cases' sources = Dir['spec/core/*', 'spec/language', 'spec/parser', 'spec/grammar'] sources.each do |c| dest = "build/test_cases/#{File.basename c}" FileUtils.mkdir_p dest File.open("#{dest}/specs.js", "w+") do |out| out.puts Opal.build_files(c) end File.open("#{dest}/index.html", "w+") do |out| out.puts File.read("spec/test_case.html") end end File.open("build/test_cases/runner.js", "w+") do |out| out.puts Opal.parse(File.read("spec/spec_helper.rb")) end end
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
opal-0.3.33 | Rakefile |
opal-0.3.32 | Rakefile |
opal-0.3.31 | Rakefile |
opal-0.3.30 | Rakefile |
opal-0.3.29 | Rakefile |
opal-0.3.28 | Rakefile |