Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / third_party / tvcm / third_party / gl-matrix / tasks / support / gl-matrix.rb
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