Rakefile in opal-0.3.33 vs Rakefile in opal-0.3.34

- old
+ new

@@ -1,17 +1,39 @@ require 'bundler/setup' -require 'opal/rake_task' +require 'opal-spec' -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) +desc "Build opal.js into ./build" +task :opal => [:dir] do + File.open('build/opal.js', 'w+') { |o| o.puts Opal.runtime } end -# build runtime, dependencies and specs, then run the tests -task :default => %w[opal opal:test] +desc "Build opal-parser.js into ./build" +task :parser => [:dir] do + File.open('build/opal-parser.js', 'w+') { |o| o.puts Opal.parser_code } +end +desc "Build specs ready to run" +task :build_specs => [:dir] do + Opal.append_path File.join(File.dirname(__FILE__), 'spec') + + File.open('build/specs.js', 'w+') do |out| + out.puts Opal.process('spec_helper') + end +end + +task :default => [:build_specs, :parser, :test] + +desc "Run opal specs through phantomjs" +task :test do + OpalSpec.runner +end + +task :dir do + require 'fileutils' + FileUtils.mkdir_p 'build' +end + 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| @@ -50,29 +72,5 @@ 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 \ No newline at end of file