4 autoload :Source, 'mruby/source'
20 def build(target_name)
21 instance.build(target_name)
25 instance.write if enabled?
29 @instance ||= new("#{MRUBY_CONFIG}.lock")
33 def initialize(filename)
37 def build(target_name)
38 read[target_name] ||= {}
42 locks = {"mruby_version" => mruby}
43 locks["builds"] = @builds if @builds
44 File.write(@filename, YAML.dump(locks))
50 @builds ||= if File.exist?(@filename)
51 YAML.load_file(@filename)["builds"] || {}
58 if ENV['OS'] == 'Windows_NT'
67 'version' => MRuby::Source::MRUBY_VERSION,
68 'release_no' => MRuby::Source::MRUBY_RELEASE_NO,
71 git_dir = "#{MRUBY_ROOT}/.git"
72 if File.directory?(git_dir)
73 mruby['git_commit'] = `git --git-dir #{shellquote(git_dir)} --work-tree #{shellquote(MRUBY_ROOT)} rev-parse --verify HEAD`.strip