Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-12251

Maven3 with 'builds' directory in a separate location tries to create folders with colons in the module name which is not allowed on windows.

XMLWordPrintable

      We are using Jenkins on windows and set our workspaces and builds to be a separate directory to the standard jenkins install directory on windows.

      This all works fine for our ant builds with our build artefacts stored in U:\jenkins\builds

      However we have recently added some maven3 builds.
      These work fine if you have the Build Record Root Directory set to the default as: ${ITEM_ROOTDIR}/builds
      And the build folders exists as: C:\Program Files (x86)\Jenkins\jobs\<job name>\modules\<groupId>$<artifactId>

      However changing the Build Record Root Directory to u:/jenkins/builds/${ITEM_FULLNAME} it then tries to create the directory with a colon rather than a dollar in the directory name, this fails on windows.
      e.g.
      u:\jenkins\builds\<job name>\<groupId>:<artifactId>

      I can confirm running jenkins on linux the same occurs, however the colon is not a problem (as its an allowed character).

      Started by user Sam Webber
      Building on master
      Updating http://svnserver/svn/ss/platform/branches/wc/wc_maven_migration/core/ss-core
      At revision 181408
      no revision recorded for http://svnserver/svn/ss/platform/branches/wc/wc_maven_migration/core/ss-core in the previous build
      Parsing POMs
      Modules changed, recalculating dependency graph
      ERROR: Failed to parse POMs
      java.io.FileNotFoundException: u:\jenkins\builds\wc.ss-core\com.ss:ss-core\2011-12-23_19-09-32\log (The filename, directory name, or volume label syntax is incorrect)
      at java.io.FileOutputStream.open(Native Method)
      at java.io.FileOutputStream.<init>(Unknown Source)
      at java.io.FileOutputStream.<init>(Unknown Source)
      at hudson.maven.MavenBuild$ProxyImpl2.<init>(MavenBuild.java:474)
      at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:686)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:462)
      at hudson.model.Run.run(Run.java:1404)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:481)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)
      FATAL: Failed to create a temporary file in u:\jenkins\builds\wc.ss-core\com.ss:ss-core\2011-12-23_19-09-32
      hudson.util.IOException2: Failed to create a temporary file in u:\jenkins\builds\wc.ss-core\com.ss:ss-core\2011-12-23_19-09-32
      at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:67)
      at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:54)
      at hudson.XmlFile.write(XmlFile.java:170)
      at hudson.model.Run.save(Run.java:1540)
      at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:1011)
      at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:614)
      at hudson.model.Run.run(Run.java:1429)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:481)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)
      Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
      at java.io.WinNTFileSystem.createFileExclusively(Native Method)
      at java.io.File.checkAndCreate(Unknown Source)
      at java.io.File.createTempFile(Unknown Source)
      at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:65)
      ... 9 more

            Unassigned Unassigned
            samwebber Samuel Webber
            Votes:
            10 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved: