class Autoproj::LocalPackageSet

Specialization of the PackageSet class to handle the “master” package set in autoproj/

Public Class Methods

new(ws, local_dir: ws.config_dir) click to toggle source
Calls superclass method
# File lib/autoproj/local_package_set.rb, line 5
def initialize(ws, local_dir: ws.config_dir)
    super(ws, VCSDefinition.none, name: "main configuration", raw_local_dir: local_dir)
    @local_dir = local_dir
end

Public Instance Methods

load_description_file() click to toggle source

Reimplemented from {PackageSet#load_description_file} to remove the name validation

# File lib/autoproj/local_package_set.rb, line 42
def load_description_file
    source_definition = raw_description_file
    parse_source_definition(source_definition)
end
load_overrides(source_definition) click to toggle source

Load the files in overrides.d in addition to the overrides: field in the yaml file

Calls superclass method
# File lib/autoproj/local_package_set.rb, line 49
def load_overrides(source_definition)
    files = Dir.glob(File.join(ws.overrides_dir, "*.yml")).sort
    overrides = files.map do |file|
        source_data = Autoproj.in_file(file, Autoproj::YAML_LOAD_ERROR) do
            YAML.load(File.read(file)) || Array.new
        end
        source_data =
            if source_data.respond_to?(:to_ary)
                source_data
            else
                source_data["overrides"] || Hash.new
            end
        [file, source_data]
    end
    overrides + super
end
local?() click to toggle source
# File lib/autoproj/local_package_set.rb, line 18
def local?
    true
end
local_dir() click to toggle source
# File lib/autoproj/local_package_set.rb, line 22
def local_dir
    raw_local_dir
end
main?() click to toggle source
# File lib/autoproj/local_package_set.rb, line 14
def main?
    true
end
manifest_path() click to toggle source
# File lib/autoproj/local_package_set.rb, line 26
def manifest_path
    manifest.file
end
overrides_file_path() click to toggle source
# File lib/autoproj/local_package_set.rb, line 30
def overrides_file_path
    if (d = local_dir)
        File.join(d, "overrides.yml")
    end
end
raw_description_file() click to toggle source
# File lib/autoproj/local_package_set.rb, line 66
def raw_description_file
    description = Hash[
        "imports" => Array.new,
        "version_control" => Array.new,
        "overrides" => Array.new]
    if File.file?(overrides_file_path)
        overrides_data = Autoproj.in_file(overrides_file_path, Autoproj::YAML_LOAD_ERROR) do
            YAML.load(File.read(overrides_file_path)) || Hash.new
        end
        overrides_data = PackageSet.validate_and_normalize_source_file(
            overrides_file_path, overrides_data
        )
        description = description.merge(overrides_data)
    end

    manifest_data = Autoproj.in_file(manifest_path, Autoproj::YAML_LOAD_ERROR) do
        YAML.load(File.read(manifest_path)) || Hash.new
    end
    description["imports"] = description["imports"]
                             .concat(manifest_data["package_sets"] || Array.new)
    description["name"] = name
    description
end
source_file() click to toggle source
# File lib/autoproj/local_package_set.rb, line 36
def source_file
    overrides_file_path
end
vcs() click to toggle source
# File lib/autoproj/local_package_set.rb, line 10
def vcs
    ws.manifest.vcs
end