maven release:prepare IOException -


i'm trying maven's release plugin working perforce. when run:

mvn release:prepare -dusername=perforceuser -dpassword=perforcepassword 

i output (with ips/username/passwords removed):

[info] scanning projects... [info] ------------------------------------------------------------------------ [info] reactor build order:                                                                                         [info] [info] root-project [info] project1 [info] project2 [info] project3 [info] project4 [info] project5 [info] project6 [info] project7 [info] project8 [info] project9 [info] [info] ------------------------------------------------------------------------ [info] building root-project 1.0-snapshot [info] ------------------------------------------------------------------------ [info] [info] --- maven-release-plugin:2.3.1:prepare (default-cli) @ root-project --- [info] verifying there no local modifications... [info]   ignoring changes on: **\release.properties, **\pom.xml.next, **\pom.xml.releasebackup, **\pom.xml.backup, **\pom.xml.bran ch, **\pom.xml.tag [error] path 'd:\server\pom.xml' not under client's root '/cygdrive/d/server'. [info] checking dependencies , plugins snapshots ... release version "root-project"? (com.company:root-project) 1.0: : scm release tag or label "root-project"? (com.company:root-project) root-project-1.0: : new development version "root-project"? (com.company:root-project) 1.1-snapshot: : [info] transforming 'root-project'... [info]   updating project8 1.0 [info]   updating project4 1.0 [info]   updating project1 1.0 [info]   updating project3 1.0 [info]   updating project6 1.0 [info]   updating project7 1.0 [info]   updating project9 1.0 [info]   updating project5 1.0 java.io.ioexception: filename, directory name, or volume label syntax incorrect     @ java.io.winntfilesystem.canonicalize0(native method)     @ java.io.win32filesystem.canonicalize(win32filesystem.java:396)     @ java.io.file.getcanonicalpath(file.java:559)     @ org.apache.maven.scm.provider.perforce.command.edit.perforceeditcommand.createcommandline(perforceeditcommand.java:109)     @ org.apache.maven.scm.provider.perforce.command.edit.perforceeditcommand.executeeditcommand(perforceeditcommand.java:51)     @ org.apache.maven.scm.command.edit.abstracteditcommand.executecommand(abstracteditcommand.java:40)     @ org.apache.maven.scm.command.abstractcommand.execute(abstractcommand.java:59)     @ org.apache.maven.scm.provider.perforce.perforcescmprovider.edit(perforcescmprovider.java:210)     @ org.apache.maven.scm.provider.abstractscmprovider.edit(abstractscmprovider.java:560)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.writepom(abstractrewritepomsphase.java:631)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.transformproject(abstractrewritepomsphase.java:231)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.transform(abstractrewritepomsphase.java:125)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.execute(abstractrewritepomsphase.java:110)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:234)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:169)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:146)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:107)     @ org.apache.maven.plugins.release.preparereleasemojo.preparerelease(preparereleasemojo.java:291)     @ org.apache.maven.plugins.release.preparereleasemojo.execute(preparereleasemojo.java:247)     @ org.apache.maven.plugin.defaultbuildpluginmanager.executemojo(defaultbuildpluginmanager.java:101)     @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:209)     @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:153)     @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:145)     @ org.apache.maven.lifecycle.internal.lifecyclemodulebuilder.buildproject(lifecyclemodulebuilder.java:84)     @ org.apache.maven.lifecycle.internal.lifecyclemodulebuilder.buildproject(lifecyclemodulebuilder.java:59)     @ org.apache.maven.lifecycle.internal.lifecyclestarter.singlethreadedbuild(lifecyclestarter.java:183)                            @ org.apache.maven.lifecycle.internal.lifecyclestarter.execute(lifecyclestarter.java:161)     @ org.apache.maven.defaultmaven.doexecute(defaultmaven.java:319)     @ org.apache.maven.defaultmaven.execute(defaultmaven.java:156)     @ org.apache.maven.cli.mavencli.execute(mavencli.java:537)     @ org.apache.maven.cli.mavencli.domain(mavencli.java:196)     @ org.apache.maven.cli.mavencli.main(mavencli.java:141)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:597)     @ org.codehaus.plexus.classworlds.launcher.launcher.launchenhanced(launcher.java:290)     @ org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:230)     @ org.codehaus.plexus.classworlds.launcher.launcher.mainwithexitcode(launcher.java:409)     @ org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:352) [error] commandlineexception exit code: 1 - usage: add/edit/delete [-c changelist#] [ -d -f -k -n -v ] [-t type] files... missing/wrong number of arguments.  command line was:p4 -d d:\server -p *the-ip-of-perforce* -u *perforceuser* -p *perforcepassword* edit org.codehaus.plexus.util.cli.commandlineexception: exit code: 1 - usage: add/edit/delete [-c changelist#] [ -d -f -k -n -v ] [-t type] files... missing/wrong number of arguments.  command line was:p4 -d d:\server -p *the-ip-of-perforce* -u *perforceuser* -p *perforcepassword* edit     @ org.apache.maven.scm.provider.perforce.command.edit.perforceeditcommand.executeeditcommand(perforceeditcommand.java:71)     @ org.apache.maven.scm.command.edit.abstracteditcommand.executecommand(abstracteditcommand.java:40)     @ org.apache.maven.scm.command.abstractcommand.execute(abstractcommand.java:59)     @ org.apache.maven.scm.provider.perforce.perforcescmprovider.edit(perforcescmprovider.java:210)     @ org.apache.maven.scm.provider.abstractscmprovider.edit(abstractscmprovider.java:560)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.writepom(abstractrewritepomsphase.java:631)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.transformproject(abstractrewritepomsphase.java:231)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.transform(abstractrewritepomsphase.java:125)     @ org.apache.maven.shared.release.phase.abstractrewritepomsphase.execute(abstractrewritepomsphase.java:110)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:234)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:169)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:146)     @ org.apache.maven.shared.release.defaultreleasemanager.prepare(defaultreleasemanager.java:107)     @ org.apache.maven.plugins.release.preparereleasemojo.preparerelease(preparereleasemojo.java:291)     @ org.apache.maven.plugins.release.preparereleasemojo.execute(preparereleasemojo.java:247)     @ org.apache.maven.plugin.defaultbuildpluginmanager.executemojo(defaultbuildpluginmanager.java:101)     @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:209)     @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:153)     @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:145)     @ org.apache.maven.lifecycle.internal.lifecyclemodulebuilder.buildproject(lifecyclemodulebuilder.java:84)     @ org.apache.maven.lifecycle.internal.lifecyclemodulebuilder.buildproject(lifecyclemodulebuilder.java:59)     @ org.apache.maven.lifecycle.internal.lifecyclestarter.singlethreadedbuild(lifecyclestarter.java:183)     @ org.apache.maven.lifecycle.internal.lifecyclestarter.execute(lifecyclestarter.java:161)     @ org.apache.maven.defaultmaven.doexecute(defaultmaven.java:319)     @ org.apache.maven.defaultmaven.execute(defaultmaven.java:156)     @ org.apache.maven.cli.mavencli.execute(mavencli.java:537)     @ org.apache.maven.cli.mavencli.domain(mavencli.java:196)     @ org.apache.maven.cli.mavencli.main(mavencli.java:141)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:597)     @ org.codehaus.plexus.classworlds.launcher.launcher.launchenhanced(launcher.java:290)     @ org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:230)     @ org.codehaus.plexus.classworlds.launcher.launcher.mainwithexitcode(launcher.java:409)     @ org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:352) [info] ------------------------------------------------------------------------ [info] reactor summary: [info] [info] root-project ........................................ failure [22.348s] [info] project1 ............................................ skipped [info] project2 ............................................ skipped [info] project3 ............................................ skipped [info] project4 ............................................ skipped [info] project5 ............................................ skipped [info] project6 ............................................ skipped [info] project7 ............................................ skipped [info] project8 ............................................ skipped [info] project9 ............................................ skipped [info] ------------------------------------------------------------------------ [info] build failure [info] ------------------------------------------------------------------------ [info] total time: 22.967s [info] finished at: tue jun 12 15:41:53 bst 2012 [info] final memory: 8m/154m [info] ------------------------------------------------------------------------ [error] failed execute goal org.apache.maven.plugins:maven-release-plugin:2.3.1:prepare (default-cli) on project root-project: error writing pom: d:\server\pom.xml (access denied) -> [help 1] [error] [error] see full stack trace of errors, re-run maven -e switch. [error] re-run maven using -x switch enable full debug logging. [error] [error] more information errors , possible solutions, please read following articles: [error] [help 1] http://cwiki.apache.org/confluence/display/maven/mojoexecutionexception 

this happens both when run in cygwin , when run in normal native windows command prompt.

before got far in setup, sure managed write versions pom @ least once, doesn't.

looking @ maven scm provider perforce source code can see on line 93 creates basic p4 command line

commandline command = perforcescmprovider.createp4command( repo, workingdirectory ); 

then on line 95 adds edit

command.createarg().setvalue( "edit" ); 

and then inside try-catch adds files. line 109

string canfile = file.getcanonicalpath();

is throwing ioexception seen above causing stacktrace printed , why file(s) don't added , execution of p4 command fails (which in turn causes "access denied" because it's failing checkout file (which therefore read only).

edit:

the reason throws ioexception when creates file on line 103:

file file = new file( workingdirectory, fs.get( ).getpath() ); 

the fs.get( ).getpath() returns absolute path, file ends looking like

d:\server\d:\server\pom.xml (in case) 

and broken.

i've changed line (and similar line in perforcecheckincommand.java locally to:

file file = null; if(fs.get( ).isabsolute()) file = new file( fs.get( ).getpath() ); else file = new file( workingdirectory, fs.get( ).getpath() ); 

and reinstalled plugin , works. problem bug in plugin causing particular setup fail. i've submitted bug report, no 1 else experience this, if do, download plugin src, make 2 changes , re-install (mvn install), , should work.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -