OLD | NEW |
| (Empty) |
1 Copyright (c) 2013 Brandon Jones, Colin MacKenzie IV | |
2 | |
3 This software is provided 'as-is', without any express or implied | |
4 warranty. In no event will the authors be held liable for any damages | |
5 arising from the use of this software. | |
6 | |
7 Permission is granted to anyone to use this software for any purpose, | |
8 including commercial applications, and to alter it and redistribute it | |
9 freely, subject to the following restrictions: | |
10 | |
11 1. The origin of this software must not be misrepresented; you must not | |
12 claim that you wrote the original software. If you use this software | |
13 in a product, an acknowledgment in the product documentation would be | |
14 appreciated but is not required. | |
15 | |
16 2. Altered source versions must be plainly marked as such, and must not | |
17 be misrepresented as being the original software. | |
18 | |
19 3. This notice may not be removed or altered from any source distribution. | |
20 | |
21 $:.unshift File.expand_path('.', File.dirname(__FILE__)) | |
22 require 'sprockets' | |
23 require 'jasmine' | |
24 | |
25 class Jasmine::Config | |
26 def simple_config_file | |
27 File.expand_path GLMatrix.base_path.join('spec/jasmine.yml') | |
28 end | |
29 end | |
30 | |
31 class Rack::Jasmine::Runner | |
32 alias_method :jasmine_call, :call | |
33 def call(env) | |
34 GLMatrix.compile | |
35 jasmine_call env | |
36 end | |
37 end | |
38 | |
39 module GLMatrix | |
40 autoload :ReleaseHelper, 'gl-matrix/release_helper' | |
41 autoload :Version, 'gl-matrix/version' | |
42 autoload :VERSION, 'gl-matrix/version' | |
43 | |
44 module_function | |
45 | |
46 def release(&block) | |
47 GLMatrix::ReleaseHelper.release &block | |
48 end | |
49 | |
50 def sprockets | |
51 env = Sprockets::Environment.new base_path | |
52 env.append_path base_path.join('src') | |
53 env | |
54 end | |
55 | |
56 def base_path | |
57 Pathname.new File.expand_path('../..', File.dirname(__FILE__)) | |
58 end | |
59 | |
60 # Compiles the source file to the dest file. If a block | |
61 # is given, the source file is yielded and replaced with | |
62 # the result. Returns the destination as a Pathname. | |
63 def compile(source = 'gl-matrix.js', dest = 'dist/gl-matrix.js') | |
64 dest = base_path.join dest | |
65 js = sprockets[source] | |
66 js = yield js if block_given? | |
67 | |
68 File.open dest, "w" do |f| | |
69 f.puts js | |
70 end | |
71 | |
72 puts "compiled #{source} to #{dest.relative_path_from base_path}" | |
73 dest | |
74 end | |
75 | |
76 def minify(source = 'gl-matrix.js', dest = 'dist/gl-matrix-min.js') | |
77 dest = compile source, dest do |js| | |
78 Uglifier.compile js | |
79 end | |
80 | |
81 puts "minified #{source} to #{dest.relative_path_from base_path}" | |
82 end | |
83 | |
84 end | |
OLD | NEW |