Не найдя хорошего решения, я написал небольшой скрипт давным-давно, загрузив данные из спецификации 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.
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.
Это - потому что Вы не увеличились, номер версии - 1.0.2 уже существует в Вашей Подверсии repo.
Или увеличьте свою версию или просто удалите/repos/june/tags/foo-1.0.2 тег от Вашего repo.
Roland, если Вы уже не видели это, смотрит на сообщение в блоге John Smart об этой проблеме. Хотя сценарий, который он предлагает, неэлегантен, он решает проблему:
http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html
Другое решение состоит в том, чтобы использовать Мерзавца. (Я == в настоящее время пишущий о Знатоке и Мерзавце)
Potentially useful links:
http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html (previously mentioned)
http://jira.codehaus.org/browse/MRELEASE-427 (the real bug?)
http://jira.codehaus.org/browse/SCM-406 (related bug)
http://olafsblog.sysbsb.de/?p=73 (newer and perhaps more helpful post)
Я провел долгое время, борясь с этим. Что-то отличается в SVN 1.5.1 +, который повреждает согласие на тег прямо из рабочей копии - который является точно, что делает Знаток. Существует все еще много взаимных упреков относительно того, кто ответственен за решение проблемы.
Можно сделать 'svn обновление' и повторно выполнить команду выпуска, но если Вы сделаете release:branch, то это заставит плагин выпуска не возвращать Ваши файлы АНГЛИЧАНИНА их предыдущему состоянию.
Лучшее обходное решение, о котором я знаю, должно ронять к Подверсии 1.5.0.
Это исправлено в новейшая версия плагина, 2.0-beta-9
Насколько я знаю, что это - ошибка в Подверсии 1.5 и не непосредственно связанное со знатоком. Однако обходное решение фиксированное это для меня должно обновить локальный репозиторий SVN и выполнить release:prepare цель снова.