Поделиться через


Создание собственного модуля поставщика

Как правило, для создания собственного модуля поставщика необходимо реализовать следующий набор интерфейсов.

$module::SimpleUsage()

назначение
Отображает простые сведения об использовании модуля в STDOUT.

параметры
Нет

возвращаемое значение
Нет

$module::VerboseUsage()

назначение
Отображает подробные сведения об использовании модуля в STDOUT.

параметры
Нет

возвращаемое значение
Нет

$objref = $module::new(@CommandArguments)

назначение
Инициализирует экземпляр модуля поставщика.

параметры

@CommandArguments
Все @ARGV аргументы, которые ssindex.cmd не распознает как общие аргументы.

значение возвращения
Ссылка, которую можно использовать в последующих операциях.

$objref->GatherFileInformation($SourcePath,$ServerHashReference)

назначение
Позволяет модулю собирать необходимые сведения об индексировании источника для каталога, указанного параметром $SourcePath. Модуль не должен предполагать, что эта запись вызывается только один раз для каждого экземпляра объекта, так как SSIndex может вызывать её несколько раз для разных путей.

Параметры

$SourcePath
Локальный каталог, содержащий источник для индексирования.

$ServerHashReference
Ссылка на хэш, содержащий все записи из указанного Srcsrv.ini файла.

возвращаемое значение
Нет

($VariableHashReference,$FileEntry) = $objref->GetFileInfo($LocalFile)

назначение
Предоставляет необходимые сведения для извлечения одного определенного файла из системы контроля версий.

параметры

$LocalFile
Полностью квалифицированное имя файла.

Возвращаемые значения

$VariableHashReference
Хэш-ссылка на переменные, необходимые для интерпретации возвращаемого $FileEntry. Ssindex.cmd кэширует эти переменные для каждого исходного файла, используемого одним отладочным файлом, чтобы уменьшить объем сведений, записанных в поток исходного индекса.

$FileEntry
Запись файла, записанная в поток исходного индекса, чтобы разрешить SrcSrv извлечь этот файл из системы управления версиями. Точный формат этой строки зависит от системы контроля версий.

$TextString= $objref->LongName()

назначение
Предоставляет описательную строку для идентификации системы управления исходным кодом для конечного пользователя.

параметры
Нет

Возвращаемое значение

$TextString
Описательное имя системы контроля исходного кода.

@StreamVariableLines=$objref->SourceStreamVariables()

назначение
Позволяет системе управления версиями добавлять переменные, относящиеся к системе управления версиями, в исходный поток для каждого файла отладки. Примеры модулей используют этот метод для записи необходимых EXTRACT_CMD и EXTRACT_TARGET переменных.

параметры
Нет

возвращаемое значение

@StreamVariableLines
Список записей для переменных исходного потока.