blob: 5f2a7ff1aab8632882e98de5d468436c29691378 [file] [log] [blame]
Copyright (c) 2013 Brandon Jones, Colin MacKenzie IV
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
$:.unshift File.expand_path('.', File.dirname(__FILE__))
require 'sprockets'
require 'jasmine'
class Jasmine::Config
def simple_config_file
File.expand_path GLMatrix.base_path.join('spec/jasmine.yml')
end
end
class Rack::Jasmine::Runner
alias_method :jasmine_call, :call
def call(env)
GLMatrix.compile
jasmine_call env
end
end
module GLMatrix
autoload :ReleaseHelper, 'gl-matrix/release_helper'
autoload :Version, 'gl-matrix/version'
autoload :VERSION, 'gl-matrix/version'
module_function
def release(&block)
GLMatrix::ReleaseHelper.release &block
end
def sprockets
env = Sprockets::Environment.new base_path
env.append_path base_path.join('src')
env
end
def base_path
Pathname.new File.expand_path('../..', File.dirname(__FILE__))
end
# Compiles the source file to the dest file. If a block
# is given, the source file is yielded and replaced with
# the result. Returns the destination as a Pathname.
def compile(source = 'gl-matrix.js', dest = 'dist/gl-matrix.js')
dest = base_path.join dest
js = sprockets[source]
js = yield js if block_given?
File.open dest, "w" do |f|
f.puts js
end
puts "compiled #{source} to #{dest.relative_path_from base_path}"
dest
end
def minify(source = 'gl-matrix.js', dest = 'dist/gl-matrix-min.js')
dest = compile source, dest do |js|
Uglifier.compile js
end
puts "minified #{source} to #{dest.relative_path_from base_path}"
end
end