Spec-Zone.ru › Elixir 1.12

Mix.SCM поведение

Этот модуль предоставляет вспомогательные функции и определяет поведение, необходимое для любого менеджера исходного кода (SCM), используемого Mix.

Краткое описание

Типы

opts()
t()

Модуль, реализующий поведение Mix.SCM.

Функции

append(mod)

Добавляет указанный модуль SCM в список доступных SCM.

available()

Возвращает все доступные SCM. Каждый SCM проверяется в порядке следования до тех пор, пока не будет найден соответствующий.

prepend(mod)

Вставляет указанный модуль SCM в начало списка доступных SCM.

Обработчики

accepts_options(app, opts)

Функция поведения получает список ключевых слов opts и должна вернуть обновленный список в случае, если SCM использует доступные параметры. Например, когда разработчик указывает зависимость

checked_out?(opts)

Функция поведения возвращает булево значение, если зависимость доступна.

checkout(opts)

Функция поведения производит выход из зависимостей.

equal?(opts1, opts2)

Получает два параметра и должен вернуть true, если они ссылаются на один и тот же репозиторий. Параметры гарантированно принадлежат одному и тому же SCM.

fetchable?()

Возвращает булево значение, если зависимость может быть загружена или она должна быть предварительно доступна в файловой системе.

format(opts)

Возвращает строку, представляющую SCM. Это используется при печати зависимости, а не для проверки, поэтому объем информации должен быть кратким и легко распознаваемым.

format_lock(opts)

Возвращает строку, представляющую SCM. Это используется при печати зависимости, а не для проверки, поэтому объем информации должен быть кратким и легко распознаваемым.

lock_status(opts)

Функция поведения проверяет статус блокировки. В частности, она проверяет, совпадает ли ревизия, хранящаяся в блокировке, с репозиторием, в котором она находится в данный момент.

managers(opts)

Возвращает используемые менеджеры для зависимости. Это может быть использовано, если SCM имеет дополнительную информацию о зависимости, в противном случае должен вернуть пустой список.

update(opts)

Функция поведения обновляет зависимости. Она может вызываться deps.get или deps.update.

Типы

opts()Source

Спецификации

opts() :: keyword()

t()Source

Спецификации

t() :: module()

Модуль, реализующий поведение Mix.SCM.

Функции

append(mod)Source

Добавляет указанный модуль SCM в список доступных SCM.

available()Source

Возвращает все доступные SCM. Каждый SCM проверяется в порядке следования до тех пор, пока не будет найден соответствующий.

prepend(mod)Source

Вставляет указанный модуль SCM в начало списка доступных SCM.

Обработчики

accepts_options(app, opts)Source

Спецификации

accepts_options(app :: atom(), opts()) :: opts() | nil

Эта функция поведения принимает ключевое слово opts и должна возвращать обновлённый список в случае, если система управления версиями (SCM) использует доступные параметры. Например, при указании разработчиком зависимости:

{:foo, "0.1.0", github: "foo/bar"}

Каждая зарегистрированная система управления версиями (SCM) будет спрошена, потребляет ли она эту зависимость, получая [github: "foo/bar"] в качестве аргумента. Поскольку этот параметр имеет смысл для системы управления версиями Git, она вернёт обновлённый список параметров, тогда как другие системы управления версиями просто вернут nil.

checked_out?(opts)Source

Спецификации

checked_out?(opts()) :: boolean()

Эта функция поведения возвращает логическое значение, если зависимость доступна.

checkout(opts)Source

Спецификации

checkout(opts()) :: any()

Эта функция поведения проверяет зависимости.

Если зависимость заблокирована, блокировка передаётся в opts и репозиторий должен быть проверен на блокировке. В противном случае блокировка не передаётся, и репозиторий можно проверить на последней версии.

Функция должна вернуть текущую блокировку.

equal?(opts1, opts2)Source

Спецификации

equal?(opts1 :: opts(), opts2 :: opts()) :: boolean()

Принимает два параметра и должна вернуть true, если они ссылаются на один и тот же репозиторий. Параметры гарантированно принадлежат одной и той же системе управления версиями (SCM).

fetchable?()Source

Спецификации

fetchable?() :: boolean()

Возвращает логическое значение, если зависимость может быть получена или должна быть предварительно доступна в файловой системе.

Локальные зависимости (т. е. те, которые не подлежат получению) автоматически перекомпилируются каждый раз при компиляции родительского проекта.

format(opts)Source

Спецификации

format(opts()) :: String.t()

Возвращает строку, представляющую систему управления версиями. Это используется при выводе зависимости и не предназначено для проверки, поэтому количество информации должно быть лаконичным и легко различимым.

format_lock(opts)Source

Спецификации

format_lock(opts()) :: String.t() | nil

Возвращает строку, представляющую систему управления версиями. Это используется при выводе зависимости и не предназначено для проверки, поэтому количество информации должно быть лаконичным и легко различимым.

Если возвращается значение nil, это означает, что информация о блокировке недоступна.

lock_status(opts)Source

Спецификации

lock_status(opts()) :: :mismatch | :outdated | :ok

Эта функция поведения проверяет статус блокировки. В частности, она проверяет, совпадает ли версия, хранящаяся в блокировке, с текущей версией репозитория.

Возможные значения:

  • :mismatch — если блокировка не совпадает, и необходимо перейти к последней блокировке

  • :outdated — параметры репозитория устарели в блокировке, и необходимо выполнить полное обновление

  • :ok — всё в порядке

Блокировка передаётся через opts[:lock], но она может быть недоступна. В таких случаях, если системе управления версиями (SCM) требуется блокировка, она должна вернуть :mismatch, в противном случае просто :ok.

Обратите внимание, что блокировка также может принадлежать другой системе управления версиями (SCM), и поэтому требуется проверка структуры. Несоответствие структуры всегда должно возвращать :outdated.

managers(opts)Source

Спецификации

managers(opts()) :: [atom()]

Возвращает доступных менеджеров для зависимости. Это может быть использовано, если система управления версиями (SCM) обладает дополнительной информацией о зависимости, в противном случае она должна вернуть пустой список.

update(opts)Source

Спецификации

update(opts()) :: any()

Эта функция поведения обновляет зависимости. Она может быть вызвана deps.get или deps.update.

В первом случае блокировка передаётся в opts и репозиторий должен быть обновлён до блокировки. Во втором случае блокировка не передаётся, и репозиторий можно обновить произвольно.

Функция должна вернуть текущую блокировку.

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.12.0/Mix.SCM.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API