Module: Autoproj::AutobuildExtensions::ArchiveImporter

Defined in:
lib/autoproj/autobuild_extensions/archive_importer.rb

Instance Method Summary collapse

Instance Method Details

#pick_from_autoproj_root(package, installation_manifest) ⇒ Object

Reconfigures this importer to use an already existing checkout located in the given autoproj root

Parameters:



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/autoproj/autobuild_extensions/archive_importer.rb', line 10

def pick_from_autoproj_root(package, installation_manifest)
    # Get the cachefile w.r.t. the autoproj root
    cachefile = Pathname.new(self.cachefile)
                        .relative_path_from(Pathname.new(ws.root_dir)).to_s

    # The cachefile in the other autoproj installation
    other_cachefile = File.join(installation_manifest.path, cachefile)
    if File.file?(other_cachefile)
        relocate("file://#{other_cachefile}")
        true
    end
end

#snapshot(package, target_dir = nil, options = Hash.new) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/autoproj/autobuild_extensions/archive_importer.rb', line 23

def snapshot(package, target_dir = nil, options = Hash.new)
    result = Hash[
        "mode" => mode,
        "no_subdirectory" => !has_subdirectory?,
        "archive_dir" => archive_dir || tardir]

    if target_dir
        archive_dir = File.join(target_dir, "archives")
        FileUtils.mkdir_p archive_dir
        FileUtils.cp @cachefile, archive_dir

        result["url"] = "file://$AUTOPROJ_SOURCE_DIR/archives/#{File.basename(@cachefile)}"
    else
        result["url"] = @url.to_s
    end

    result
end