That's a good point about explicitly setting the plugin version. I'll have to make sure I'm doing that with all of the plugins I'm using.
The buildnumber-maven-plugin is such a versatile plugin that can do so many things that don't involve any SCM (build timestamp, build number from a properties file, etc). It's really a shame if those of us stuck with another version control system can't use it for those features. :( Thanks for the reply. --David > From: Tomas Pollak <[email protected]> > Date: Wed, Nov 25, 2009 at 4:30 PM > Subject: Re: [mojo-user] ClassCastException using buildnumber-maven-plugin > 1.0-beta-4 > To: [email protected] > > > Apparently, it was never supported. The project site says only SVN is > supported. > To keep your build reproducible, it is always recommended to explicitly set > the version of the plugins you use. > > Cheers, > Tomas > > ________________________________ > From: David Lewis <[email protected]> > To: [email protected] > Sent: Tue, November 24, 2009 2:59:41 PM > Subject: [mojo-user] ClassCastException using buildnumber-maven-plugin > 1.0-beta-4 > > I've been using the buildnumber-maven-plugin to include the build date into > my META_INF/MANIFEST.MF file. I wish I could include an SCM revision number, > but unfortunately my company uses Perforce instead of SVN :(. Including the > build date has been a nice alternative, though. It's been working great > until this morning when Maven grabbed the 1.0-beta-4 version of the > buildnumber-maven-plugin. Now I get the following exception when trying to > build: > [INFO] [buildnumber:create {execution: default}] > [INFO] Storing buildNumber: 2009-11-24 10:31:22 MST at timestamp: > 1259083882019 > [INFO] > ------------------------------------------------------------------------ > [ERROR] BUILD ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] Cannot get the branch information from the scm repository : > Exception while executing SCM command. > org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository > cannot be cast to > org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository > [INFO] > ------------------------------------------------------------------------ > Is it no longer valid to use the buildnumber-maven-plugin without using SVN? > It's been really useful for storing the build date, but is this something > that is no longer supported? I didn't see anything in the docs that would > suggest that this is no longer supported. I can force my build to stay on > 1.0-beta-3 and continue working, but I'm curious if this is a bug in > 1.0-beta-4 or if it's not allowed anymore. > My plugin configuration looks like this: > <plugin> > <groupId>org.codehaus.mojo</groupId> > <artifactId>buildnumber-maven-plugin</artifactId> > <executions> > <execution> > <phase>validate</phase> > <goals> > <goal>create</goal> > </goals> > </execution> > </executions> > <configuration> > <format>{0,date,yyyy-MM-dd HH:mm:ss z}</format> > <items> > <item>timestamp</item> > </items> > <doCheck>false</doCheck> > <doUpdate>false</doUpdate> > </configuration> > </plugin> > The full exception is this: > [INFO] Trace > org.apache.maven.lifecycle.LifecycleExecutionException: Cannot get the branch > information from the scm repository : > Exception while executing SCM command. > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:1205) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:1038) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:643) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > at > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > 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.classworlds.Launcher.launchEnhanced(Launcher.java:315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at > org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot get the > branch information from the scm repository : > Exception while executing SCM command. > at > org.codehaus.mojo.build.CreateMojo.getScmBranch(CreateMojo.java:606) > at org.codehaus.mojo.build.CreateMojo.execute(CreateMojo.java:452) > at > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > ... 21 more > Caused by: org.apache.maven.scm.ScmException: Exception while executing SCM > command. > at > org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:63) > at > org.apache.maven.scm.provider.svn.AbstractSvnScmProvider.executeCommand(AbstractSvnScmProvider.java:354) > > at org.apache.maven.scm.provider.svn.AbstractSvnScmProvider.info(AbstractSvnScmProvider.java:375) > at org.codehaus.mojo.build.CreateMojo.info(CreateMojo.java:694) > at > org.codehaus.mojo.build.CreateMojo.getScmBranch(CreateMojo.java:594) > ... 24 more > Caused by: java.lang.ClassCastException: > org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository > cannot be cast to > org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository > at > org.apache.maven.scm.provider.svn.svnexe.command.info.SvnInfoCommand.executeCommand(SvnInfoCommand.java:54) > at > org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:59) > ... 28 more > Thanks in advance for any help! > --David > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
