30 lines
825 B
Text
30 lines
825 B
Text
|
|
# -*- python -*-
|
||
|
|
import os.path
|
||
|
|
Import("env libhammer_shared testruns targets")
|
||
|
|
|
||
|
|
rubysources = [
|
||
|
|
Glob("test/*.rb"),
|
||
|
|
Glob("lib/hammer.rb"),
|
||
|
|
Glob("lib/*/*.rb"),
|
||
|
|
"hammer-parser.gemspec",
|
||
|
|
"Rakefile",
|
||
|
|
"Gemfile",
|
||
|
|
"Gemfile.lock",
|
||
|
|
"README.md",
|
||
|
|
]
|
||
|
|
|
||
|
|
rubyenv = env.Clone()
|
||
|
|
rubyenv['ENV']['LD_LIBRARY_PATH'] = os.path.dirname(str(libhammer_shared[0]))
|
||
|
|
rubyenv['RBDIR'] = os.path.dirname(str(rubyenv.File("Gemfile").path))
|
||
|
|
|
||
|
|
setup = rubyenv.Command(Dir(".bundle"), rubysources, "cd $RBDIR && bundle install")
|
||
|
|
AlwaysBuild(setup)
|
||
|
|
|
||
|
|
rubytestexec = rubyenv.Command(None, [setup] + rubysources, "cd $RBDIR && bundle exec rake test")
|
||
|
|
|
||
|
|
rubytest = Alias("testruby", [rubytestexec], rubytestexec)
|
||
|
|
AlwaysBuild(rubytestexec)
|
||
|
|
testruns.append(rubytest)
|
||
|
|
|
||
|
|
# No need for an install target; everybody just uses gems for that.
|