git-commit-id-maven-plugin — это плагин, очень похожий, например, на плагин номера сборки Maven, но поскольку плагин номера сборки в то время, когда я запускал этот плагин, поддерживал только CVS и SVN, нужно было что-то сделать. Мне пришлось быстро разработать версию такого плагина для Git. Для тех, кто не знаком с плагином, он в основном помогает вам решать следующие задачи и отвечает на соответствующие вопросы.
Если вас больше интересуют различные варианты использования, прочтите о них более подробно.
GitCommitIdMojo.java
в формате Javadoc.Плагин доступен на Maven Central (см. здесь), поэтому вам не нужно настраивать какие-либо дополнительные репозитории для использования этого плагина.
Подробное описание использования плагина доступно в документе «Использование плагина». Все, что вам нужно сделать при базовой настройке, — это включить определение этого плагина в ваш pom.xml
. Для более продвинутых пользователей мы также подготовили руководство с кратким обзором более продвинутых конфигураций... читайте дальше!
Более новую версию (5.xx или более позднюю) можно получить через
< groupId >io.github.git-commit-id</ groupId >
< artifactId >git-commit-id-maven-plugin</ artifactId >
более старая версия (4.xx или старше) доступна через:
< groupId >pl.project13.maven</ groupId >
< artifactId >git-commit-id-plugin</ artifactId >
Текущая версия — 9.0.0 (список изменений).
Вы можете проверить доступные версии, посетив search.maven.org, хотя использование самой новой версии, очевидно, является лучшим выбором.
Вот обзор текущей совместимости плагина с Java.
Версия плагина | Требуемая версия Java |
---|---|
2.1.Х | Ява 1.6 |
2.2.Х | Ява 1.7 |
3.ХХ | Ява 1.8 |
4.ХХ | Ява 1.8 |
5.ХХ | Ява 11 |
6.ХХ | Ява 11 |
7.ХХ | Ява 11 |
8.ХХ | Ява 11 |
9.ХХ | Ява 11 |
Несмотря на то, что этот плагин пытается быть совместимым со всеми версиями Maven, существуют некоторые известные ограничения для конкретных версий. Вот список, который пытается обрисовать текущее состояние дел:
Версия плагина | Минимально необходимая версия Maven |
---|---|
2.1.Х | Maven от 2.2.1 до версии 2.1.13; Maven 3.1.1 для любой более поздней версии 2.1.X |
2.2.Х | Maven от 3.1.1 до версии 2.2.3; Maven 3.0 для любой более поздней версии 2.2.X |
3.ХХ | Мавен 3.0 |
4.ХХ | Мавен 3.0 |
5.ХХ | Maven 3.1.0-альфа-1 |
6.ХХ | Maven 3.1.0-альфа-1 |
7.ХХ | Мавен 3.2.5 |
8.ХХ | Мавен 3.2.5 |
9.ХХ | Мавен 3.6.3 |
Переключение таблицы на maven: обратите внимание, что теоретически maven 4.X должен поддерживать все плагины maven 3. Плагин впервые был выпущен с поддержкой maven 3 в версии v2.1.14 (требуется maven версии 3.1.1). Следовательно, v2.1.14 должна быть первой поддерживаемой версией. Только начиная с версии 6.XX этот плагин был фактически протестирован с версией 4.0.0-альфа-5, но некоторые выпуски могут не работать, поскольку в Maven 4 было объявлено, что для плагинов требуется Maven 3.2.5 или более поздняя версия, что справедливо только для версий плагинов 7.0. 0 или новее.
Версия Maven | Версия плагина | Примечания |
---|---|---|
Мавен 3.X | любой | Для плагина требуется как минимум maven 3.1.0-alpha-1. |
Мавен 4.X | из версии 2.1.14 |
Окончание срока службы (EOL) Версии Maven больше не поддерживаются ни Maven, ни этим плагином. Следующая информация доступна для справки.
Версия Maven | Версия плагина | Примечания |
---|---|---|
Мавен 2.0.11 | до 2.2.6 | Maven 2 – EOL, git-commit-id-plugin:1.0 не работает – требуется maven версии 2.2.1. |
Мавен 2.2.1 | до 2.2.6 | Maven 2 — это EOL |
Мавен 3.0.X | до 4.0.5 | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 не работает – требуется maven версии 3.1.1 |
Мавен 3.0.X | до 4.0.5 | Для git-commit-id-plugin 2.2.4 или выше: работает, но не удалось загрузить класс «org.slf4j.impl.StaticLoggerBinder». |
Мавен 3.1.0 | любой | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 не работает – требуется maven версии 3.1.1 |
Мавен 3.3.1 | любой | git-commit-id-plugin:2.1.14 не работает |
Мавен 3.3.3 | любой | git-commit-id-plugin:2.1.14 не работает |
Примечание. В качестве примера эту таблицу следует читать так: Для Maven 3.1.0
должна работать any
версия плагина, кроме тех, которые перечислены в Notes
имеют перечисленные ограничения.
Если вы действительно хотите использовать снимки , вот репозиторий, в котором они развернуты. Но я настоятельно рекомендую использовать только стабильные версии из Maven Central... :-)
< pluginRepositories >
< pluginRepository >
< id >sonatype-snapshots</ id >
< name >Sonatype Snapshots</ name >
< url >https://s01.oss.sonatype.org/content/repositories/snapshots/</ url >
</ pluginRepository >
</ pluginRepositories >
Более ранние снимки (предыдущая версия 5.X) доступны по адресу <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
.
Если вы просто хотите посмотреть, на что способен плагин, вы можете клонировать репозиторий и запустить
mvn clean install -Dmaven.test.skip=true && mvn clean package -Pdemo -Dmaven.test.skip=true
В настоящее время этот проект поддерживается благодаря: @ktoso (основатель), @TheSnoozer.
Я хотел бы выразить большую благодарность некоторым из этих людей за их предложения и/или запросы на включение, которые помогли сделать этот плагин таким популярным, каким он является сегодня:
Я выпускаю этот плагин под лицензией GNU Lesser General Public License 3.0 .
Вы можете использовать ее по своему усмотрению, полный текст лицензии прилагается в файле ЛИЦЕНЗИИ.
Лучший способ запросить функции/улучшения — через раздел «Проблемы» на GitHub. Это лучше, чем электронная почта, потому что я не проиграю, если у меня в день будет «миллион входящих писем», и, возможно, у кого-то еще есть какие-то идеи или он захочет проголосовать за него. ваша проблема.
Вот и все, ребята! Удачного взлома!