Settings for Maven for conditional checkout or update from SVN?

眉间皱痕 提交于 2019-12-10 15:49:20

问题


I have following settings in POM file.But my build script fails with 'SVN file locked' message.Is there any other way to do conditional checkout.If project is already checked out then I want to update only otherwise if project is not checkedout it should check out the code and should not update it.Thanks in advance.

      <!-- Initial check out of  (will not do anything if directory already there) -->
      <execution>
        <id>check-out-project</id>
        <phase>generate-sources</phase>
        <goals>
          <goal>checkout</goal>
        </goals>
        <configuration>
          <checkoutDirectory>${project.build.directory}/project</checkoutDirectory>
          <connectionUrl>scm:svn:http://XX:XX/svn/repos/${XX}</connectionUrl>
          <username>${svn.username}</username>
          <password>${svn.password}</password>
          <skipCheckoutIfExists>true</skipCheckoutIfExists>
        </configuration>
      </execution>
      <!-- Update project (if directory was already there) -->
      <execution>
        <id>update-project</id>
        <phase>generate-sources</phase>
        <goals>
          <goal>update</goal>
        </goals>
        <configuration>
          <basedir>${project.build.directory}/project</basedir>
          <connectionUrl>scm:svn:http://XXX:XXX/svn/repos/${project}</connectionUrl>
          <username>${svn.username}</username>
          <password>${svn.password}</password>
          <revisionKey>project.revision</revisionKey>
        </configuration>
      </execution>

Error log after running maven (Please note I have replaced directory paths and urls with xxxx)

[INFO] Scanning for projects...

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] Building xxxxxx.and.xxxxxx 1.0-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-xxxxxx-xxxxxx) @ xxxxxx.and.
xxxxxx ---

[INFO]
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-sat) @ xxxxxx.and.xxxxxx ---

[INFO]
[INFO] --- maven-scm-plugin:1.4:checkout (check-out-xxxxxx) @ xxxxxx.and.xxxxxx --
-

[INFO] Removing x:\xxxx\xxxx\target\xxxxxx

[INFO] Executing: cmd.exe /X /C "svn --username xxxx --password ***** --no-aut
h-cache --non-interactive checkout http://xxxx:xxx/svn/repos/xxxx/xxx x:\
projects\xxxx\target\xxxxxx"

[INFO] Working directory: x:\xxxx\xxxx\target

[INFO]

[INFO] --- maven-scm-plugin:1.4:update (update-xxxxxx) @ xxxxxx.and.xxxxxx ---

[INFO] Executing: cmd.exe /X /C "svn --username xxxx --password ***** --no-aut
h-cache --non-interactive update x:\xxxx\xxx\target\xxxxxx"

[INFO] Working directory: x:\xxx\xxx\target\xxxxxx

[INFO] Svn command failed due to some locks in working copy. We try to run a 'sv
n cleanup'.

[INFO] Executing: cmd.exe /X /C "svn"

[INFO] Working directory: x:\xxx\xxxx\target\xxxxxx

[ERROR] Provider message:

[ERROR] The svn command failed.

[ERROR] Command output:

[ERROR] svn: Working copy 'x:\xxxx\xxxx\target\xxxxxx' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
Type 'svn help' for usage.


[INFO] ------------------------------------------------------------------------

[INFO] BUILD FAILURE

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 8:03.303s

[INFO] Finished at: Thu Apr 28 17:24:50 BST 2011

[INFO] Final Memory: 4M/15M

[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-scm-plugin:1.4:upd
ate (update-xxxxxx) on project xxxxxx.and.xxxxxx: Command failed.The svn command f
ailed. -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE
xception

回答1:


First run

mvn clean

After this run

mvn scm:update


来源:https://stackoverflow.com/questions/5817229/settings-for-maven-for-conditional-checkout-or-update-from-svn

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!