class Raykit::ConanPackage

def self.get_version(text, name)

def self.get_version(text, name)
  # "gtest/0.0.14@my+channel.com/branch"

  # gtest/1.10.0

  [/\b#{name}\/([\d\.]+)/].each { |regex|
    matches = text.scan(regex)
    if matches.length > 0 && matches[0].length > 0
      return matches[0][0]
    end
  }
  ""
end

def self.set_version(text, name, version)

def self.set_version(text, name, version)
  #puts "ConanPackage::set_version"

  new_text = text
  [/(\b#{name}\/[\d\.]+)/].each { |regex|
    matches = text.scan(regex)
    if matches.length > 0 && matches[0].length > 0
      orig = matches[0][0]
      oversion = get_version(orig, name)
      mod = orig.sub(oversion, version)
      #puts "match[0][0] " + matches[0][0]

      #puts "old version " + oversion

      #puts "new version " + version

      #puts "updating from #{orig} to #{mod}"

      new_text = new_text.gsub(orig, mod)
    end
  }
  new_text
end

def self.set_version_in_file(filename, name, version)

def self.set_version_in_file(filename, name, version)
  text = set_version(IO.read(filename), name, version)
  orig = IO.read(filename)
  File.open(filename, "w") { |f| f.puts text } if (text != orig)
end

def initialize(name, version)

def initialize(name, version)
  @name = name
  @version = version
end