2013-08-08 11:42:14 -04:00
|
|
|
require 'fileutils'
|
|
|
|
|
|
|
|
siteurl = "https://www.sharelatex.com"
|
|
|
|
|
|
|
|
desc "Compile JavaScirpt into CoffeeScript"
|
|
|
|
namespace 'setup' do
|
|
|
|
|
|
|
|
desc "installes npm packages json and global stuff like less"
|
|
|
|
task :installDependencys do
|
|
|
|
sh %{npm install}
|
|
|
|
sh %{npm install -g coffee-script}
|
|
|
|
sh %{git submodule init}
|
|
|
|
sh %{git submodule update}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
namespace 'run' do
|
|
|
|
desc "compiles and runs the javascirpt version of the app"
|
|
|
|
task :app => ["compile:app"] do
|
|
|
|
sh %{node app.js | bunyan} do |ok, res|
|
|
|
|
if ! ok
|
|
|
|
raise "error compiling app folder tests : #{res}"
|
|
|
|
end
|
|
|
|
puts 'finished app compile'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
namespace 'compile' do
|
|
|
|
desc "compiles main app folder"
|
|
|
|
task :app do
|
|
|
|
puts "Compiling app folder to JS"
|
|
|
|
FileUtils.rm_rf "app/js"
|
|
|
|
sh %{coffee -c -o app/js/ app/coffee/} do |ok, res|
|
|
|
|
if ! ok
|
|
|
|
raise "error compiling app folder tests : #{res}"
|
|
|
|
end
|
|
|
|
puts 'finished app compile'
|
|
|
|
end
|
2014-01-27 12:51:09 -05:00
|
|
|
sh %{coffee -c app.coffee} do |ok, res|
|
|
|
|
if ! ok
|
|
|
|
raise "error compiling root app file: #{res}"
|
|
|
|
end
|
|
|
|
puts 'finished root app file compile'
|
|
|
|
end
|
2013-08-08 11:42:14 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
desc "compiles unit tests"
|
|
|
|
task :unittests => ["compile:app"] do
|
|
|
|
puts "Compiling Unit Tests to JS"
|
|
|
|
`coffee -c -o test/unit/js/ test/unit/coffee/`
|
|
|
|
end
|
|
|
|
|
|
|
|
desc "compiles acceptance tests"
|
|
|
|
task :acceptancetests => ["compile:app"] do
|
|
|
|
puts "Compiling Acceptance Tests to JS"
|
|
|
|
sh %{coffee -c -o test/acceptance/js/ test/acceptance/coffee/} do |ok, res|
|
|
|
|
if ! ok
|
|
|
|
raise "error compiling acceptance tests: #{res}"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
namespace 'test' do
|
|
|
|
|
|
|
|
desc "runs all test"
|
|
|
|
task :all => ["test:unit", "test:acceptance"] do
|
|
|
|
puts "testing everything"
|
|
|
|
end
|
|
|
|
|
|
|
|
desc "Run Acceptance Tests"
|
|
|
|
task :acceptance => ["compile:acceptancetests"]do
|
|
|
|
puts "Running Acceptance Tests"
|
|
|
|
feature = ENV['feature']
|
|
|
|
if feature.nil?
|
|
|
|
featureFlags = ""
|
|
|
|
else
|
|
|
|
featureFlags = "-g \"#{feature}\""
|
|
|
|
end
|
|
|
|
sh %{mocha -R spec #{featureFlags} test/acceptance/js/*} do |ok, res|
|
|
|
|
if ! ok
|
|
|
|
raise "error running acceptance tests: #{res}"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
desc "run unit tests"
|
|
|
|
task :unit => ["compile:unittests"]do
|
|
|
|
puts "Running Unit Tests"
|
|
|
|
featurePath = ENV['feature']
|
|
|
|
puts featurePath
|
|
|
|
if featurePath.nil?
|
|
|
|
featurePath = ''
|
|
|
|
elsif featurePath.include? '/'
|
|
|
|
elsif !featurePath.include? '/'
|
|
|
|
featurePath +='/'
|
|
|
|
else
|
|
|
|
featurePath = ''
|
|
|
|
end
|
|
|
|
|
|
|
|
sh %{mocha -R spec test/unit/js/#{featurePath}* --ignore-leaks} do |ok, res|
|
|
|
|
if ! ok
|
|
|
|
raise "error running unit tests : #{res}"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
namespace 'deploy' do
|
|
|
|
desc "safley deploys app"
|
|
|
|
task :live do
|
|
|
|
sh %{git push origin}
|
|
|
|
sh %{cap live deploy}
|
|
|
|
end
|
|
|
|
end
|