Sha256: d74927b12d75b773dd04ca4cc6fffbdcffe1eae84f8904603fa8123d1fc0b2a5
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
# POM xml based valid gemspec environment generation module # example: "ovirt-engine-sdk" gem # requires "xmllint" to work # module Baltix::Loader::Pom def pom propfile dir = File.dirname(propfile) specfile = Dir.glob(File.join(dir, '*.gemspec')).first re = /require.*?(?<version_file>[^"']+version[^"']*)/ version_line = Dir.glob(File.join(dir, '**', '*.rb')).map { |x| IO.read(x).split("\n").grep(re).first }.compact.first return nil if !version_line or !specfile version_file = re.match(version_line)[:version_file] re_V = /(?<klass>[^\"\'\(\s]+)::VERSION/ match = re_V.match(IO.read(specfile).split("\n").grep(re_V).first.to_s) if match klass = match[:klass] version = `xmllint pom.xml --xpath "/*[name()='project']/*[name()='version']/text()"`.strip if version != "" modtext = "module #{klass};VERSION = '#{version}';end" File.open(File.join(dir, "lib", version_file), "w+") {|f| f.puts(modtext) } end end rescue Errno::ENOENT end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
baltix-0.1.1 | lib/baltix/loader/pom.rb |