Quel est le format de svn-settings.xml pour une utilisation avec le plugin Maven SCM?
Question
Je suis en train d'extérioriser mon nom d'utilisateur et mot de passe, mais il semble que le format svn-settings.xml est incorrect. Je ne peux pas trouver des ressources sur le Web, sauf ce billet et qui donne suite une erreur.
Dans mon pom.xml je suis
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
...
<configuration>
<connectionUrl>scm:svn:http://my_hostname/im-tools-repos/trunk</connectionUrl>
<checkoutDirectory>${project.build.directory}/checkout/im-tools</checkoutDirectory>
</configuration>
</execution>
</executions>
</plugin>
Dans C: \ Documents and Settings \ my_uid.scm \ svn-settings.xml Je suis
<svn-settings>
<user>my_uid</user>
<password>my_pwd</password>
</svn-settings>
Quand je lance Maven il échoue avec ces messages:
C:\Documents and Settings\my_uid\.scm\svn-settings.xml isn't well formed. SKIPPED.Unrecognised tag: 'user' (position: START_TAG seen <svn-settings>\r\n\t<user>... @2:7)
[INFO] Executing: cmd.exe /X /C "svn --non-interactive checkout http://my_hostname/im-tools-repos/trunk C:\test\bamboo\agent\target\checkout\im-tools"
[INFO] Working directory: C:\test\bamboo\agent\target\checkout
[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] svn: OPTIONS of 'http://my_hostname/im-tools-repos/trunk': authorization failed: Could not authenticate to server: rejected Basic challenge (http://my_hostname)
Alors, que dois-je utiliser au lieu de
La solution
Selon l'intégration SCM maven documentation il semble que le fichier svn-settings.xml ne permet que ces paramètres:
- configDirectory
- useCygwinPath
- cygwinMountPath
- useNonInteractive
Si vous ne voulez pas mettre le mot de passe dans le pom.xml vous pouvez le transmettre en tant que paramètre de ligne de commande
dans le pom.xml:
<connectionUrl>scm:svn:http://my_username@my_hostname/im-tools-repos/trunk</connectionUrl>
Et lorsque vous invoquez maven:
mvn -Dpassword=my_password scm:status