Versionierung

G

Gast2

Gast
Hallo an euch alle.

Zunächst habe ich mir folgenden Thread (http://www.java-forum.org/java-basics-anfaenger-themen/66703-versionierung-software.html) durchgelesen und das deckt sich mit dem was ich machen will als Versionsnummer.

Meine Frage ist:

Wo verwaltet ihr die Nummern?

Ich habe vor einen Branch/Tag im Subversion für jede inkrementierte Version abzulegen. Soweit klar. Die Frage: Wo steckt die Versionsnummer im Quellcode?

Packt ihr die in eine externe Datei, in die Klasse welche die Main beinhaltet, sonst wo hin?

Wie gesagt es geht nicht um die Art der Numerierung oder die Ablage im Subversion sondern lediglich um die Einbindung in die Software selbst.

Ich bin mal gespannt wie ihr das so macht.
 
M

maki

Gast
Die Frage: Wo steckt die Versionsnummer im Quellcode?
In der POM ;) (Dank Maven)

Ansonsten ist die Frage, wie weit man es mit dem Config Management betreiben will.
Beim klassischen ConfigManagement geht es ultimativ darum, dass man weiss was man ausgeliefert hat, also fertige Produkte (Jars, allgemeiner "lagerfähige Baugruppen"), Quellcode ist da nur zweitrangig und hat eher etwas mit Change Management zu tun.
Dafür eignet sich zB. Maven gut, OSGi hat auch dependencyManagenent (aber anders als bei Maven zur Laufzeit).

Bei der einfacheren Variante, was heute (bzw. bevor Systeme mit DependencyManagement aufkamen) meist unter SW CM verstanden reine Versionierung von Quellcode, nur indirekt von dem was ausgeliefert wurde.
Da reicht es dann wenn die Version in den Klassen oder Propertyfiles abgelegt wird.
 
G

Gast2

Gast
Nur Tags für jede Version anlegen. Eigene (Lebenszeitunbeschränkte) Branches eher nur für Major, maximal für Minorreleases

Ja ist klar darauf möchte ich auch gar nicht näher eingehen.

Zum Post davor:

Genau um das Release Management gehts mir. Ich Verwende aber kein Maven oder ähnliches.
Wo bringe ich denn nun die Versionsnummer unter?

Änderungsverfolgung mache ich komplett über unser Subverion System das ist dahingehend etwas aufgebohrt. Es geht wirklich ums reine Release Management. Für normale Änderungen wird bei Release dann eben ein Tag angelegt fertig.

Bleibt die Frage wo steht die Zahl denn nun ^^
 
M

maki

Gast
Bleibt die Frage wo steht die Zahl denn nun ^^
zB. im manifest, in einer Propertydatei (welche ausgelen wird und zB. im About dialog angezeigt wird), per Keyword substitution in den einzelnen Quelldateien, in der web.xml, etc. pp.

wenn diese Informationen (Version) nicht automatischv erwerted werden wie bei Maven und OSGi, ist es eigentlich egal ;)
 
G

Gast2

Gast
wenn diese Informationen (Version) nicht automatischv erwerted werden wie bei Maven und OSGi, ist es eigentlich egal ;)

Was ist denn Best Pratice? (xml, properties, txt, ...?)

Ich tendiere auch zu einer externen Datei. Dort könnte die aktuelle Version als auch die Versions History abgelegt sein.

Der Rest der Software greift dann auf die Infos zu. (z.B. About Dialog).
 

tfa

Top Contributor
Was ist denn Best Pratice? (xml, properties, txt, ...?)
Das ist doch praktisch alles gleichwertig. Mach es so, wie es dir gefällt.
Ich habe z.B. eine Property-Datei, in die von Jenkins per Skript die Versionsnummer und das Datum geschrieben werden. Die Property kann ich dann auslesen und in der GUI anzeigen.
 

Ähnliche Java Themen


Oben