Как я могу взять номер сборки, используя SVN и Maven?

Я использую buildnumber-maven-plugin и мне нужно взять номер сборки проекта из SVN. Мой pom.xml:

<scm>
    <connection>
        scm:svn:https://username:password@path_to_repositiry
    </connection>
</scm>

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
        <execution>
            <phase>validate</phase>
            <goals>
                <goal>create</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <doCheck>false</doCheck>
        <doUpdate>false</doUpdate>
        <providerImplementations>
            <svn>javasvn</svn>
        </providerImplementations>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.google.code.maven-scm-provider-svnjava</groupId>
            <artifactId>maven-scm-provider-svnjava</artifactId>
            <version>2.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.tmatesoft.svnkit</groupId>
            <artifactId>svnkit</artifactId>
            <version>1.7.4-v1</version>
        </dependency>
    </dependencies>
</plugin>

Но у меня есть ошибка, когда я упаковываю проект:

[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.1:create (default)on project myproject: Cannot get the revision information from the scm repository : [ERROR] Exception while executing SCM command. svn: E155021: This client is too old to work with the working copy at [ERROR] 'D:\projects\myproject' (format {1}).

Хотя я пользуюсь TortoiseSVN 1.8.2!

Я прочитал это buildnumber-maven-plugin ведет себя так с TortoiseSVN 1.7 и старше. Как я могу взять номер сборки, используя SVN и Maven?

1 ответ

Решение

Плагин buildnumber получит доступ к вашей рабочей копии, чтобы получить ревизию, и, поскольку вы используете TortoiseSVN 1.8.x, ваша рабочая копия находится в формате svn 1.8.x. Следовательно, svnkit, который используется плагином buildnumber, должен также поддерживать svn 1.8.x, чего, скорее всего, нет в используемой вами версии (1.7.4-v1).

Таким образом, вам нужна более новая версия svnkit, например

<dependency>
  <groupId>org.tmatesoft.svnkit</groupId>
  <artifactId>svnkit</artifactId>
  <version>1.8.3-1</version>
</dependency>
Другие вопросы по тегам