Zef распознает и обрабатывает предварительные версии модулей?
У меня есть модуль App::Assixt
, к которому я недавно сделал относительно большое изменение. Я, конечно, проверил его на своей локальной системе, но хотел бы провести некоторое полевое тестирование, прежде чем называть его "стабильной версией".
Есть ли способ пометить этот выпуск как "альфа" или "релиз-кандидат", так что этот выпуск будет установлен только людьми, которые решили использовать нестабильные / тестируемые выпуски?
1 ответ
zef будет обрабатывать версии так же, как Perl 6:
# true because "1.0.a" < "1.0.0"
$ perl6 -e 'say Version.new("1.0.PREVIEW") < Version.new("1.0")'
True
Если Foo:ver<1.0.PREVIEW>
установлено, его можно использовать как Foo:ver<1.0.PREVIEW>
или же Foo:ver<1.0>
, Это означает, что любые системы, которые имеют Foo:ver<1.0.PREVIEW>
Установил бы удалить его, чтобы обновить / установить Foo:ver<1.0>
в будущем (если не используете --force-install
), но также и то, что авторы могут писать код для окончательной версии, не объявляя .PREVIEW
везде.
Это не очень полезно в отношении публикации - zef будет захватывать самую новую версию по умолчанию, несмотря на то, что пользователь не выбрал какую-либо используемую схему управления версиями. Поскольку пользователь хочет подписаться на это, есть два варианта.
1) Создайте, например, нестабильные, тестируемые, стабильные индексы и убедите людей использовать их
Это можно сделать, скопировав конфигурацию zef в %*ENV<XDG_CONFIG_HOME>/zef/config.json
и включить следующее:
"Repository" : [
{
"short-name" : "unstable",
"enabled" : 0,
"module" : "Zef::Repository::Ecosystems",
"options" : {
"name" : "unstable",
"mirrors" : [ "/path/or/url/to/package/list.json" ]
}
}
]
Который позволяет:
zef install Foo::Bar --unstable
2) Раздайте ссылку на ресурс без публикации
zef install https://github.com/ugexe/Perl6-Text--Table--Simple.git@v0.0.4
zef install https://github.com/ugexe/Perl6-Text--Table--Simple/archive/v0.0.3.zip