public
Description: Graphic Abstraction for vectorial rendering in a browser (support SVG, VML and canvas)
Clone URL: git://github.com/xilinus/prototype-graphic.git
Search Repo:
sgruhier (author)
Thu May 15 08:45:04 -0700 2008
prototype-graphic / Rakefile
100644 88 lines (75 sloc) 2.806 kb
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
# mostly borrowed from the scriptaculous Rakefile
 
require 'rake'
require 'config/deploy' if File.exists?(File.dirname(__FILE__) + '/config/deploy.rb')
 
PKG_NAME = 'prototype-graphic'
PKG_NICKNAME = 'pgf'
PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
PKG_TIMESTAMP = Time.new.to_s
PKG_VERSION = '0.1' + PKG_BUILD
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
PKG_DESTINATION = ENV["PKG_DESTINATION"] || "dist"
 
RAILS_RAILTIES = (ENV["RAILS_ROOT"] || '../rails-trunk') + '/railties/html/javascripts'
RAILS_ACTIONVIEW = (ENV["RAILS_ROOT"] || '../rails-trunk') + '/actionpack/lib/action_view/helpers/javascripts'
 
PKG_DOCUMENTATION_DIR = "doc"
NATURAL_DOC = "../naturaldocs/NaturalDocs"
 
task :clean do
  rm_rf PKG_DESTINATION
end
 
BASE_SRC_FILES = FileList[
  "src/utils.js",
  "src/base/graphic.js",
  "src/base/matrix.js",
  "src/renderer/abstract.js",
  "src/shape/shape.js",
  "src/shape/rect.js",
  "src/shape/ellipse.js",
  "src/shape/circle.js",
  "src/shape/polyline.js",
  "src/shape/polygon.js",
  "src/shape/line.js",
  "src/shape/group.js",
  "src/shape/text.js",
  "src/shape/image.js",
  "src/base/event_notifier.js",
  "src/tools/tool.js",
  "src/tools/tool_manager.js"
]
 
RENDERER_SRC_FILES = FileList[
  "src/renderer/canvas.js",
  "src/renderer/svg.js",
  "src/renderer/vml.js",
]
 
desc "Create HTML doc using NaturalDocs"
task :doc do
  system "cd #{PKG_DOCUMENTATION_DIR}; #{NATURAL_DOC} -i ../src -o HTML . -p project/ -cs 'UTF-8' -s 'main pgc'"
end
 
desc "Create a uniq JS file in #{PKG_DESTINATION}"
task :distrib do
  system "rm -rf #{PKG_DESTINATION}/*js;mkdir -p #{PKG_DESTINATION}"
  BASE_SRC_FILES.each do |file|
    system "cat #{file} >> " + File.join(PKG_DESTINATION, PKG_NICKNAME + "-core.js")
  end
  system "bin/jsmin.rb < " + File.join(PKG_DESTINATION, PKG_NICKNAME + "-core.js") + " > " + File.join(PKG_DESTINATION, PKG_NICKNAME + "-core-min.js")
 
  RENDERER_SRC_FILES.each do |file|
    system "cat #{file} >> " + File.join(PKG_DESTINATION, PKG_NICKNAME + "-renderer.js")
  end
  system "bin/jsmin.rb < " + File.join(PKG_DESTINATION, PKG_NICKNAME + "-renderer.js") + " > " + File.join(PKG_DESTINATION, PKG_NICKNAME + "-renderer-min.js")
end
 
require 'test/assets/javascripttest'
desc "Runs all the JavaScript unit tests and collects the results"
JavaScriptTestTask.new(:unittest) do |t|
  t.mount("/lib")
  t.mount("/src")
  t.mount("/test")
  
  t.run("/test/unit/matrix_test.html")
  t.run("/test/unit/shape_test.html")
  t.run("/test/unit/rectangle_test.html")
  t.run("/test/unit/ellipse_test.html")
  t.run("/test/unit/circle_test.html")
  t.run("/test/unit/group_test.html")
  t.run("/test/unit/notifier_test.html")
  
  # t.browser(:safari)
  t.browser(:firefox)
  # t.browser(:ie)
  # t.browser(:konqueror)
end