deps_rocker.dependencies ======================== .. py:module:: deps_rocker.dependencies Classes ------- .. autoapisummary:: deps_rocker.dependencies.Dependencies Module Contents --------------- .. py:class:: Dependencies Bases: :py:obj:`rocker.extensions.RockerExtension` The base class for Rocker extension points .. py:attribute:: name :value: 'deps' .. py:attribute:: deps_files :value: [] .. py:attribute:: dependencies .. py:attribute:: layers_preamble .. py:attribute:: layers .. py:attribute:: layers_user .. py:attribute:: dep_group_order .. py:attribute:: empy_args .. py:attribute:: all_files .. py:attribute:: parsed :value: False .. py:method:: get_name() :classmethod: .. py:method:: invoke_after(cliargs) -> Set[str] This extension should be loaded after the extensions in the returned set. These extensions are not required to be present, but if they are, they will be loaded before this extension. .. py:method:: setup_deps(cliargs) .. py:method:: read_dependencies(path: pathlib.Path, pattern: str) Recursively load all deps.yaml and create a dictionary containing sets of each type of dependency. Each type of dependency (apt_base, apt etc) should have duplicates rejected when adding to the set .. py:method:: get_deps(key: str, as_list: bool = False) -> str Given a dependency key return a space delimited string of dependencies :param key: A type of dependency e.g apt :type key: str :returns: space delimited dependencies :rtype: str .. py:method:: get_files(cliargs) -> dict Get a dict of local filenames and content to write into them .. py:method:: add_file(filename: str, content: str) -> None Create a file on the users host machine to be copied into the docker context. This also updates the empy_args dictionary with True if that file is generated. The empy_args are used to determine if a snipped related to that file should be generated or not. :param filename: name of file to create :type filename: str :param content: the contents of the file :type content: str .. py:method:: get_scripts(name: str) -> str collect all scripts files into a single script :param name: name of the scripts key and output script name :type name: str :returns: All scripts combined into a single script :rtype: str .. py:method:: get_pyproject_toml_deps() -> str Recursively load all dependencies from pyproject.toml" :returns: Space delimited string of dependencies :rtype: str .. py:method:: get_preamble(cliargs) .. py:method:: get_snippet(cliargs=None) Get a dockerfile snippet to be executed as ROOT. .. py:method:: get_user_snippet(cliargs) Get a dockerfile snippet to be executed after switching to the expected USER. .. py:method:: register_arguments(parser, defaults=None) :staticmethod: