Недавно я запустил частный драгоценный камень (который я могу гарантировать, что никто не использует), чтобы обернуть драйвер JDBC базы данных ниши. Я закончил тем, что просто опубликовал версию драгоценного камня, которую я хотел бы сделать.Перепечатка драгоценного камня на RubyGems путем замены всего драгоценного камня?
Я понимаю, как yank версия для драгоценных камней, а также общее решение просто напугать номер версии и опубликовать ее, что имеет смысл в большинстве случаев. Тем не менее, это не так просто в моем случае, поскольку я хотел бы использовать ту же самую версию gem, что и драйвер базы данных, который я связываю (что, похоже, является обычной практикой), поэтому назойливание номера версии не является вариантом. Я также не могу сделать что-то умное, как добавление суффикса .1
к номеру версии базы данных, поскольку версия базы данных имеет в нем символы алфавита, которые делают непригодным для оператора ~>
(все версии рассматриваются как предварительные выпуски). Короче говоря, I необходимо этот точный номер версии.
Мой вопрос, если я дергать все версии из камня так, что имя камень снова доступен в имени пула RubyGems, можно повторно претендовать на название гем и нажмите другой код против одних и тех же версий гем я использовал ранее?
Я бы не стал беспокоиться о соответствии версии драйвера вашей версии gem. Возможно, основные версии могут соответствовать, но в целом это просто вызовет проблемы. Что делать, если вы хотите выпустить за пределами своего расписания? Как вы сообщаете пользователям об изменениях (обычно, при изменении основной версии)? Это всегда зависит от вас, но я бы избегал этого. – Travis
Да, это определенно липкая проблема. Обертка мертва проста (на самом деле это просто требует, чтобы загружать файлы .jar, потому что драйвер является собственностью), поэтому, как только я готов выпустить публикацию, ее действительно не нужно менять из-за чрезвычайной ситуации или что-то в этом роде. В следующий раз я буду тестировать еще до публикации в RubyGems. –