Автоматическое увеличение номера сборки в проекте Java

Я использую систему управления версиями, представленную abbuild, где a - общая версия (будет 0 для прототипа, альфа- и бета-версий, 1 для основного выпуска ), b - это промежуточная версия (в соответствии с линиями, представляющими стадии прототипа, альфа, бета), а сборка представляет буквально количество раз, когда проект компилировался.

На данный момент у меня есть приложение для чтения из текста файла, увеличивайте число и сохраняйте в текстовый файл, когда приложение запускается с установленным флагом отладки.

Я ищу более «правильный» способ сделать это с помощью Java и Netbeans. Есть ли способ, которым я могу может где-нибудь ввести номер сборки в процесс сборки? желательно сохранить номер в исходный файл, который поставляется с t он проект - вместо того, чтобы полагаться на существование соседнего файла.

26
задан AlexR 28 January 2012 в 10:39
поделиться

1 ответ

У меня есть некоторая проблема, и я использую ответ «Дейва Джарвиса». Это добавляет правильную версию и номер сборки в локально сгенерированный файл jar, например: myProject-3.1.1234.jar. Но в репозитории maven артефакт установлен как версия «3.1» вместо (я ожидал) «3.1.1234». Номер сборки там до сих пор не найден ...

Чтобы установить артефакт в репозиторий maven с правильной версией и номером сборки («3.1.1234»), вы должны сделать (дополнительно к ответу «Дейва Джарвиса»):

  1. Добавление свойство основной / вспомогательной версии:
<properties>
  <!-- !!!!!!!!! SETTING HERE THE CORRECT MAJOR/MINOR VERSION NUMER !!!!!!!!!! -->
  <major.minor.version>1.0</major.minor.version>
</properties>
  1. Установка правильного номера версии для артефакта с помощью nashorn-maven-plugin:
<!-- set "major.minor.revision" version -->
<plugin>
  <groupId>io.github.michaldo</groupId>
  <artifactId>nashorn-maven-plugin</artifactId>
  <version>0.0.1</version>
  <executions>
    <execution>
      <phase>validate</phase>
      <goals>
        <goal>eval</goal>
      </goals>
      <configuration>
        <script>
          $project.artifact.version = "${major.minor.version}.${buildNumber}";
        </script>
      </configuration>
    </execution>
  </executions>
</plugin>    

После При перестройке / установке проекта артефакт будет находиться в репозитории maven в версии «3.1.1234»: -)

Обратите внимание: для увеличения основной или вспомогательной версии необходимо изменить только свойство major.minor.version!

0
ответ дан 28 November 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: