Добавьте ревизию subversion в манифест войны, используя maven2 - PullRequest
5 голосов
/ 03 июня 2010

Я хочу найти maven-натив (т.е. без вызова внешних программ), чтобы добавить svn-ревизию в военный манифест.

Кто-нибудь знает способ сделать это?

Я нашел упоминание о том, как добавить версию subversion к манифестам в jar-файлах, но не в файлах war.

Я искал SO, но не смог найти эту проблему специально.

Ответы [ 2 ]

4 голосов
/ 03 июня 2010

Я хочу найти maven-натив (т.е. без вызова внешних программ), чтобы добавить svn-ревизию в военный манифест.

Это возможно с плагином Maven Number Build Number с использованием провайдера svnjava:

Если вам нужно запустить плагин на машина без всяких свн в пути Вы можете настроить mojo для использования провайдер svnjava.

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.0-beta-3</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <doCheck>true</doCheck>
          <doUpdate>true</doUpdate>
          <providerImplementations>
            <svn>javasvn</svn>
          </providerImplementations>          
        </configuration>
      </plugin>
    </plugins>
  </build>

Плагин Maven Number Build Number устанавливает номер сборки в свойстве ${buildNumber}, которое затем можно использовать в POM.

Я нашел упоминание о том, как добавить ревизию subversion к манифестам в файлах jar, но не в файлах war.

Затем, чтобы добавить номер сборки в МАНИФЕСТ войны, настройте плагин, как указано на странице Использование :

  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
2 голосов
/ 03 июня 2010

Попробуйте это . Примерно на полпути ищите maven-war-plugin

  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
...