Почему делает mvn release:prepare, перестали работать при метках?

Не найдя хорошего решения, я написал небольшой скрипт давным-давно, загрузив данные из спецификации unicode (v.5.0.0) и генерируя интервалы для каждой категории юникода и подкатегории в BMP (в последнее время вместо была использована небольшая программа Java , которая использует свою собственную поддержку Unicode).

В основном он преобразует \p{...} в диапазон значений, очень похожий на выход инструмента , упомянутый Томалаком, но интервалы могут оказаться довольно большими (поскольку он не имеет дело с блоками, а с символами, разбросанными по многим различным местам).

Например, Regex, написанное так:

var regex = unicode_hack(/\p{L}(\p{L}|\p{Nd})*/g);

Будет преобразовано в нечто подобное:

/[\u0041-\u005a\u0061-\u007a...]([...]|[\u0030-\u0039\u0660-\u0669...])*/g

Не использовали его много в но, похоже, он отлично работает на моих тестах, поэтому я публикую здесь, если кто-то найдет это полезным. Несмотря на длину результирующих выражений (пример выше имеет 3591 символ при расширении), производительность кажется приемлемой (см. тесты в jsFiddle, благодаря @modiX и @Lwangaman для улучшения).

Вот источник (raw, 27.5KB; minified , 24.9KB, не намного лучше ...). Это может быть уменьшено за счет отмены символов Unicode, но OTOH будет подвергать риску проблемы с кодировкой, поэтому я ухожу, как есть. Надеюсь, что с ES6 этот вид больше не понадобится.

Обновление: это похоже на ту же стратегию, которая была принята в плагине XRegExp Unicode , упомянутом Тимом Дауном, кроме что в этом случае используются регулярные выражения JavaScript.

5
задан Rich Seller 30 September 2009 в 17:14
поделиться

7 ответов

This issue is addressed in the latest version of the maven-release-plugin. Add this to your POM to pull it in.

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0-beta-9</version>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

The issue that was fixed is MRELEASE-375.

10
ответ дан 18 December 2019 в 14:54
поделиться

Это - потому что Вы не увеличились, номер версии - 1.0.2 уже существует в Вашей Подверсии repo.

Или увеличьте свою версию или просто удалите/repos/june/tags/foo-1.0.2 тег от Вашего repo.

1
ответ дан 18 December 2019 в 14:54
поделиться

Roland, если Вы уже не видели это, смотрит на сообщение в блоге John Smart об этой проблеме. Хотя сценарий, который он предлагает, неэлегантен, он решает проблему:

http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html

Другое решение состоит в том, чтобы использовать Мерзавца. (Я == в настоящее время пишущий о Знатоке и Мерзавце)

1
ответ дан 18 December 2019 в 14:54
поделиться
1
ответ дан 18 December 2019 в 14:54
поделиться

Я провел долгое время, борясь с этим. Что-то отличается в SVN 1.5.1 +, который повреждает согласие на тег прямо из рабочей копии - который является точно, что делает Знаток. Существует все еще много взаимных упреков относительно того, кто ответственен за решение проблемы.

Можно сделать 'svn обновление' и повторно выполнить команду выпуска, но если Вы сделаете release:branch, то это заставит плагин выпуска не возвращать Ваши файлы АНГЛИЧАНИНА их предыдущему состоянию.

Лучшее обходное решение, о котором я знаю, должно ронять к Подверсии 1.5.0.

0
ответ дан 18 December 2019 в 14:54
поделиться

Это исправлено в новейшая версия плагина, 2.0-beta-9

0
ответ дан 18 December 2019 в 14:54
поделиться

Насколько я знаю, что это - ошибка в Подверсии 1.5 и не непосредственно связанное со знатоком. Однако обходное решение фиксированное это для меня должно обновить локальный репозиторий SVN и выполнить release:prepare цель снова.

0
ответ дан 18 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: