class Raykit::Conan::BuildInfo

Functionality to manage a git commit

def copy_pdbs(dir)

def copy_pdbs(dir)
  FileUtils.mkdir_p(dir) if !Dir.exists?(dir)
  self.pdbs.each { |pdb|
    target = "#{dir}/#{File.basename(pdb)}"
    if (!File.exists?(target))
      puts "  copying #{pdb} to #{target}"
      FileUtils.cp(pdb, "#{target}")
    end
  }
end

def initialize(filename)

def initialize(filename)
  current_section = ""
  current_list = Array.new()
  File.readlines(filename).each do |line|
    #puts line

    if (line.index("[") == 0)
      if (current_section.length > 0)
        self.store(current_section, current_list)
        current_list = Array.new()
      end
      current_section = line.strip()
    else
      item = line.strip()
      if (item.length > 0)
        current_list << item
      end
    end
    #

  end
end

def pdbs

def pdbs
  items = Array.new()
  self.section("[builddirs]").each { |dir|
    Dir.glob("#{dir}/**/*.pdb").sort.each { |pdb|
      items << pdb
    }
  }
  items
end

def section(name)

def section(name)
  items = Array.new()
  if (self.has_key?(name))
    return self[name]
  end
  items
end

def source_dirs(pattern)

def source_dirs(pattern)
  items = Array.new()
  self.section("[builddirs]").each { |dir|
    if (dir.include?(pattern))
      parts = dir.split("package/")
      if (parts.length == 2)
        items << "#{parts[0]}source"
      end
    end
  }
  items
end