Sha256: f2b13d741cc0e580941e27dcfa092abf3becb404df7b63f7fdc9a9d825152f5e

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 KB

Contents

module Autoproj
    module PackageManagers
        # Dummy package manager used for unknown OSes. It simply displays a
        # message to the user when packages are needed
        class UnknownOSManager < Manager
            def initialize(ws)
                super(ws)
                @installed_osdeps = Set.new
            end

            def osdeps_interaction_unknown_os(osdeps)
                puts <<-EOMSG
  #{Autoproj.color('The build process requires some other software packages to be installed on our operating system', :bold)}
  #{Autoproj.color('If they are already installed, simply ignore this message', :red)}

    #{osdeps.to_a.sort.join("\n    ")}

                EOMSG
                print Autoproj.color("Press ENTER to continue", :bold)
                STDOUT.flush
                STDIN.readline
                puts
                nil
            end

            def install(osdeps)
                if silent?
                    false
                else
                    osdeps = osdeps.to_set
                    osdeps -= @installed_osdeps
                    result = osdeps_interaction_unknown_os(osdeps) unless osdeps.empty?
                    @installed_osdeps |= osdeps
                    result
                end
            end
        end
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
autoproj-2.17.0 lib/autoproj/package_managers/unknown_os_manager.rb
autoproj-2.16.0 lib/autoproj/package_managers/unknown_os_manager.rb
autoproj-2.15.3 lib/autoproj/package_managers/unknown_os_manager.rb
autoproj-2.15.2 lib/autoproj/package_managers/unknown_os_manager.rb
autoproj-2.15.1 lib/autoproj/package_managers/unknown_os_manager.rb
autoproj-2.15.0 lib/autoproj/package_managers/unknown_os_manager.rb