Sha256: 13eda2f19ff4122e7d3c1bc088c2ff612eb220b36691e7655cd314ba9681a063

Contents?: true

Size: 1.56 KB

Versions: 5

Compression:

Stored size: 1.56 KB

Contents

module Autoproj
    module PackageManagers
        # Base class for all package managers. Subclasses must add the
        # #install(packages) method and may add the
        # #filter_uptodate_packages(packages) method
        #
        # Package managers must be registered in PACKAGE_HANDLERS and
        # (if applicable) OS_PACKAGE_HANDLERS.
        class Manager
            # @return [Workspace] the workspace
            attr_reader :ws

            attr_writer :enabled
            def enabled?; !!@enabled end

            attr_writer :silent
            def silent?; !!@silent end

            attr_writer :call_while_empty
            def call_while_empty?; !!@call_while_empty end

            # Create a package manager registered with various names
            #
            # @param [Array<String>] names the package manager names. It MUST be
            #   different from the OS names that autoproj uses. See the comment
            #   for OS_PACKAGE_HANDLERS for an explanation
            def initialize(ws)
                @ws = ws
                @enabled = true
                @silent = true
                @call_while_empty = false
            end

            # The primary name for this package manager
            def name
                names.first
            end

            # Overload to perform initialization of environment variables in
            # order to have a properly functioning package manager
            #
            # This is e.g. needed for python pip or rubygems
            def initialize_environment
            end
        end
    end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
autoproj-2.0.0.rc35 lib/autoproj/package_managers/manager.rb
autoproj-2.0.0.rc34 lib/autoproj/package_managers/manager.rb
autoproj-2.0.0.rc33 lib/autoproj/package_managers/manager.rb
autoproj-2.0.0.rc32 lib/autoproj/package_managers/manager.rb
autoproj-2.0.0.rc31 lib/autoproj/package_managers/manager.rb