git-commit-id-maven-plugin es un complemento bastante similar al complemento Build Number Maven, por ejemplo, pero como el complemento Build Number en el momento en que inicié este complemento solo admitía CVS y SVN, había que hacer algo. Tuve que desarrollar rápidamente una versión Git de dicho complemento. Para aquellos que no conocen el complemento, básicamente les ayuda con las siguientes tareas y responde preguntas relacionadas.
Si está más interesado en los diferentes casos de uso, no dude en leerlos con más detalle.
GitCommitIdMojo.java
como JavadocEl complemento está disponible en Maven Central (ver aquí), por lo que no es necesario configurar ningún repositorio adicional para usar este complemento.
Una descripción detallada del uso del complemento está disponible en el documento Uso del complemento. Todo lo que necesita hacer en la configuración básica es incluir la definición del complemento en su pom.xml
. Para usuarios más avanzados también preparamos una guía para brindar una breve descripción de las configuraciones más avanzadas... ¡sigue leyendo!
La versión más reciente (5.xx o más reciente) está disponible a través de
< groupId >io.github.git-commit-id</ groupId >
< artifactId >git-commit-id-maven-plugin</ artifactId >
Las versiones anteriores (4.xx o anteriores) están disponibles a través de:
< groupId >pl.project13.maven</ groupId >
< artifactId >git-commit-id-plugin</ artifactId >
La versión actual es 9.0.0 (lista de cambios).
Puede consultar las versiones disponibles visitando search.maven.org, aunque usar la más nueva es obviamente la mejor opción.
Aquí hay una descripción general de la compatibilidad actual del complemento con Java.
Versión del complemento | Versión de Java requerida |
---|---|
2.1.X | Java 1.6 |
2.2.X | Java 1.7 |
3.XX | Java 1.8 |
4.XX | Java 1.8 |
5.XX | Java 11 |
6.XX | Java 11 |
7.XX | Java 11 |
8.XX | Java 11 |
9.XX | Java 11 |
Aunque este complemento intenta ser compatible con todas las versiones de Maven, existen algunas limitaciones conocidas con versiones específicas. Aquí hay una lista que intenta resumir el estado actual del arte:
Versión del complemento | Versión mínima requerida de Maven |
---|---|
2.1.X | Maven 2.2.1 hasta v2.1.13; Maven 3.1.1 para cualquier versión 2.1.X posterior |
2.2.X | Maven 3.1.1 hasta v2.2.3; Maven 3.0 para cualquier versión 2.2.X posterior |
3.XX | Maven 3.0 |
4.XX | Maven 3.0 |
5.XX | Maven 3.1.0-alfa-1 |
6.XX | Maven 3.1.0-alfa-1 |
7.XX | Maven 3.2.5 |
8.XX | Maven 3.2.5 |
9.XX | Maven 3.6.3 |
Cambiando la tabla a maven: tenga en cuenta que, en teoría, maven 4.X debería admitir todos los complementos de maven 3. El complemento se envió por primera vez con soporte para maven 3 en la versión v2.1.14 (requiriendo la versión 3.1.1 de maven). Por lo tanto, la v2.1.14 debería ser la primera versión compatible. Solo a partir de 6.XX, este complemento se probó realmente con 4.0.0-alpha-5, pero es posible que algunas versiones no funcionen ya que Maven 4 anunció que los complementos requieren Maven 3.2.5 o posterior, lo que solo sería el caso para las versiones de complemento 7.0. 0 o posterior.
Versión Maven | Versión del complemento | Notas |
---|---|---|
Maven 3.X | cualquier | El complemento requiere al menos un maven 3.1.0-alpha-1 |
Maven 4.X | desde v2.1.14 |
Las versiones de Maven al final de su vida útil (EOL) ya no son compatibles con Maven ni con este complemento. La siguiente información está disponible como referencia.
Versión Maven | Versión del complemento | Notas |
---|---|---|
Maven 2.0.11 | hasta 2.2.6 | Maven 2 está en EOL, git-commit-id-plugin:1.0 no funciona; requiere la versión 2.2.1 de maven |
Maven 2.2.1 | hasta 2.2.6 | Maven 2 está en EOL |
Maven 3.0.X | hasta 4.0.5 | git-commit-id-plugin: 2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 no funciona; requiere la versión 3.1.1 de Maven |
Maven 3.0.X | hasta 4.0.5 | Para git-commit-id-plugin 2.2.4 o superior: funciona, pero no se pudo cargar la clase "org.slf4j.impl.StaticLoggerBinder" |
Maven 3.1.0 | cualquier | git-commit-id-plugin: 2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 no funciona; requiere la versión 3.1.1 de Maven |
Maven 3.3.1 | cualquier | git-commit-id-plugin: 2.1.14 no funciona |
Maven 3.3.3 | cualquier | git-commit-id-plugin: 2.1.14 no funciona |
Nota: Como ejemplo, esta tabla debe leerse como: Para Maven 3.1.0
any
versión de complemento debería funcionar, además de las que se enumeran en las Notes
tienen las limitaciones enumeradas.
Si realmente desea utilizar instantáneas , aquí está el repositorio en el que están implementadas. Pero recomiendo encarecidamente usar sólo versiones estables, de Maven Central... :-)
< pluginRepositories >
< pluginRepository >
< id >sonatype-snapshots</ id >
< name >Sonatype Snapshots</ name >
< url >https://s01.oss.sonatype.org/content/repositories/snapshots/</ url >
</ pluginRepository >
</ pluginRepositories >
Las instantáneas más antiguas (versión anterior 5.X) están disponibles a través de <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
.
Si simplemente desea ver qué puede hacer el complemento, puede clonar el repositorio y ejecutar
mvn clean install -Dmaven.test.skip=true && mvn clean package -Pdemo -Dmaven.test.skip=true
Este proyecto se mantiene actualmente gracias a: @ktoso (fundador), @TheSnoozer
Me gustaría agradecer enormemente a algunas de estas personas por sus sugerencias y/o solicitudes de extracción que ayudaron a que este complemento fuera tan popular como lo es hoy:
Estoy lanzando este complemento bajo la Licencia pública general reducida GNU 3.0 .
Eres libre de usarlo como desees, el texto completo de la licencia se adjunta en el archivo LICENCIA.
La mejor manera de solicitar características/mejoras es a través de la sección Problemas en GitHub; es mejor que el correo electrónico porque no perderé cuando tenga un día de "bandeja de entrada de un millón de correos electrónicos", y tal vez alguien más tenga alguna idea o le gustaría votar. tu problema.
¡Eso es todo amigos! ¡Feliz pirateo!