aboutsummaryrefslogtreecommitdiffstats
path: root/Rakefile
blob: 6f6ee8ad79b9a904d2148bbbee800f2e62a2f531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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)
    if line =~ /^\s*_\.(\w+)\s*=.*$/
      out.write("_.#{$1}=function(){};\n")
    end
  end
  file.close

  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 JavaScript'
task :compile do
  Rake::Task['compileexterns'].execute 0

  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/directives.js \
      src/markups.js \
      src/widgets.js \
      src/services.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 ADVANCED_OPTIMIZATIONS \
        --js angular-debug.js \
        --externs externs.js \
        --create_source_map ./angular-minified.map \
        --js_output_file angular-minified.js)
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