2012-01-24 11 views
15

Używam systemu wersjonowania reprezentowanego przez abbuild, gdzie a jest wersją ogólną (będzie 0 dla wersji prototypowej, alfa i beta, 1 dla wersji głównej), b jest wersją przełomową (wzdłuż linii reprezentujących etapy proto, alpha, beta) i budową reprezentuje dosłownie ilość razy, gdy projekt został skompilowany.Automatyczne zwiększanie numeru kompilacji w projekcie Java

W tej chwili mogę pobrać aplikację z pliku tekstowego, zwiększyć jej liczbę i zapisać do pliku tekstowego, gdy aplikacja jest uruchamiana z ustawioną flagą debugowania.

Poszukuję bardziej "poprawnego" sposobu na to, używając Java i Netbeans. Czy jest jakiś sposób, w jaki sposób mogę wprowadzić do procesu budowania numerator konstrukcji? najlepiej zapisać numer do pliku źródłowego dostarczonego z projektem - zamiast polegać na istnieniu pobliskiego pliku.

+0

Dlaczego kompilacja musi być numerem seryjnym?Dlaczego skrót z utworzonych plików nie jest wystarczający? –

+2

Zobacz http://stackoverflow.com/questions/690419/build-and-version-numbering-for-java-projects-ant-cvs-hudson – andersoj

+4

@MikeSamuel Zwykle, ponieważ przyrostowe numery konstrukcyjne są łatwiejsze dla ludzi ("ta kompilacja jest nowsza ") –

Odpowiedz

10

Istnieje kilka popularnych wtyczek Maven, że osiągnięcia tego wyczynu:

Maven Release Plugin z Apache Maven Projektu jest nieco overkill dla prostu aktualizowanie numer wersji. Dlatego use the latter plugin tworzy kilka wersji (w postaci MAJOR.MINOR.BUILD; np 3.1.4 gdzie 4 jest automatycznie zwiększany) w następujący sposób:

  1. Otwórz projekt w pom.xml pliku.
  2. Obejmują wtyczkę w przekroju build (po części dependencies):
<scm> 
    <connection>scm:svn:http://127.0.0.1/dummy</connection> 
    <developerConnection>scm:svn:https://127.0.0.1/dummy</developerConnection> 
    <tag>HEAD</tag> 
    <url>http://127.0.0.1/dummy</url> 
    </scm> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>buildnumber-maven-plugin</artifactId> 
     <version>1.4</version> 
     <executions> 
      <execution> 
      <id>buildnumber</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>create</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <format>{0,number}</format> 
      <items> 
      <item>buildNumber</item> 
      </items>      
      <doCheck>false</doCheck> 
      <doUpdate>false</doUpdate> 
      <revisionOnScmFailure>unknownbuild</revisionOnScmFailure> 
     </configuration> 
     </plugin>  
    </plugins> 
    <finalName>${project.artifactId}-${project.version}.${buildNumber}</finalName> 
    </build> 
  1. upewnić się, że pom.xml określa główną i mniejszą wersję w elemencie wersji pobliżu w górnej części pliku. Na przykład:
<version>3.1</version> 
  1. Zapisz plik pom.xml.
  2. Przebuduj projekt.

Numer wersji powinien wzrosnąć.


Wtyczka wymaga skonfigurowanego repozytorium zarządzania kodu źródłowego (<scm>) element. Jeśli nie interesuje Cię numer rejestracyjny repozytorium, użyj zamiast niego numeru dummy scm. Może to być wykorzystane do włączenia numeru wersji z repozytorium, co jest ćwiczeniem dla reader.

1

Możesz użyć liczby zatwierdzeń git bieżącej gałęzi jako numeru kompilacji. Użyj tego wiersza polecenia, aby uzyskać liczbę zatwierdzeń: git rev-list HEAD --count.

Integracja z narzędziami do kompilacji będzie dość prosta. Jeśli używasz programu Gradle, możesz użyć tej wtyczki: https://github.com/rockerhieu/Versionberg/

Powiązane problemy