class Raykit::Version
Version functionality
def self.detect(name,verbose=false)
def self.detect(name,verbose=false) puts 'detecting version' if(verbose) csproj_filename = "#{name}/#{name}.csproj" if(File.exists?(csproj_filename)) puts "checking version in #{csproj_filename}" if(verbose) match = IO.read(csproj_filename).match(/<Version>([\d.]+)</) if(!match.nil? && match.captures.length>0) return match.captures[0] end else puts "#{csproj_filename} not found" if(verbose) end assembly_info_filename = "#{name}/Properties/AssemblyInfo.cs" if(File.exists?(assembly_info_filename)) puts "checking version in #{assembly_info_filename}" if(verbose) match = IO.read(csproj_filename).match(/AssemblyVersion\(\"([.\w]+)/) if(!match.nil? && match.captures.length>0) return match.captures[0] end else puts "#{assembly_info_filename} not found" if(verbose) end gemspec_filename = "#{name}.gemspec" if(File.exists?(gemspec_filename)) return IO.read(gemspec_filename).match(/version[\s]+=[\s]+['"]([\w.]+)['"]/).captures[0] end nuspec_filename="#{name}.nuspec" if(File.exists?(nuspec_filename)) match = IO.read(nuspec_filename).match(/<[Vv]ersion>([\d.]+)</) if(!match.nil? && match.captures.length>0) return match.captures[0] end end '0.0.0' end