maven build-numbers buildnumber-maven-plugin

¿Es posible utilizar el complemento Maven buildnumber para generar el número de compilación sin ninguna comprobación scm?



build-numbers buildnumber-maven-plugin (5)

Obteniendo la siguiente excepción al usar el complemento maven build number. ¿Es posible deshabilitar la verificación de SCM al usar el plugin de compilación? ¿Podemos usar este complemento para generar el número de compilación en la compilación no SCM?

Excepción al hacer la compilación:

[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create (default) on project projectname: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create failed: The scm url cannot be null. -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create (default) on project projectname: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create failed: The scm url cannot be null. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.0:create failed: The scm url cannot be null. at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:116) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 more Caused by: java.lang.NullPointerException: The scm url cannot be null. at org.apache.maven.scm.manager.AbstractScmManager.makeScmRepository(AbstractScmManager.java:183) at org.codehaus.mojo.build.CreateMojo.getScmRepository(CreateMojo.java:768) at org.codehaus.mojo.build.CreateMojo.getRevision(CreateMojo.java:692) at org.codehaus.mojo.build.CreateMojo.execute(CreateMojo.java:443) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) ... 20 more

Configuración de POM:

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> <goal>create-timestamp</goal> </goals> </execution> </executions> <configuration> <buildNumberPropertyName>build.number</buildNumberPropertyName> <timestampFormat>yyyy-MM-dd HH:mm:ss.SSS z</timestampFormat> <timestampPropertyName>build.time</timestampPropertyName> <doCheck>false</doCheck> <doUpdate>false</doUpdate> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <warname>foodwalaweb</warname> <!--webResources> <resource> <filtering>false</filtering> <directory>${basedir}/src/main/java</directory> <includes> <include>META-INF/persistence.xml</include> </includes> </resource> </webResources--> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <Build-Number>${buildNumber}</Build-Number> <Built-Time>${build.time}</Built-Time> </manifestEntries> </archive> </configuration> </plugin>


Lo siguiente solía funcionar, si no me equivoco:

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.0-beta-3</version> <configuration> <buildNumberPropertyName>buildNumber.value</buildNumberPropertyName> <timestampPropertyName>buildNumber.timestamp</timestampPropertyName> <format>{0,date,yyyyMMdd-HHmm}</format> <items> <item>timestamp</item> </items> </configuration> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> </plugin> </plugins>


Con la versión 1.4, los siguientes trabajos:

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> <configuration> <revisionOnScmFailure>no.scm.config.in.pom</revisionOnScmFailure> </configuration> <executions> <execution> <id>create-timestamp-id</id> <phase>validate</phase> <goals> <goal>create-timestamp</goal> </goals> <configuration> <timestampFormat>yyyy-MM-dd HH:mm:ss.S</timestampFormat> <timestampPropertyName>myBuildNumberVariable</timestampPropertyName> <!-- formats the timestamp all together like 2016-04-04 14:17:05.123 and puts it in the ${myBuildNumberVariable} buildProperty --> </configuration> </execution> </executions> </plugin>


Defina un SCM ficticio y luego utilice el elemento buildNumber para obtener el número de compilación secuencial en lugar del valor definido por la propiedad revisionOnScmFailure.

pom.xml:

<project ...> <scm> <connection>scm:svn:http://127.0.0.1/dummy</connection> <developerConnection>scm:svn:https://127.0.0.1/dummy</developerConnection> <tag>HEAD</tag> <url>http://127.0.0.1/dummy</url> </scm> <build> <plugins> ... <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>buildnumber</id> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <format>{0,number}</format> <items> <item>buildNumber</item> </items> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <revisionOnScmFailure>unknownbuild</revisionOnScmFailure> </configuration> </plugin> </plugins> </build> </project>


Todo lo que necesita hacer es incluir sus complementos dentro de la etiqueta pluginManagement

<pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <doCheck>true</doCheck> <doUpdate>true</doUpdate> </configuration> </plugin> </plugins> </pluginManagement>


Este archivo de trabajo para mí. Podría ayudar con el número de versión y sin necesidad de scm.

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> <configuration> <revisionOnScmFailure>no.scm.config.in.pom </revisionOnScmFailure> </configuration> <executions> <execution> <id>buildnumber</id> <phase>validate</phase> <goals> <goal>create</goal> </goals> <configuration> <format>{0,number}</format> <items> <item>buildNumber</item> </items> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <revisionOnScmFailure>unknownbuild</revisionOnScmFailure> </configuration> </execution> </executions> </plugin>