LostOblivion Skrevet 10. oktober 2011 Del Skrevet 10. oktober 2011 (endret) Heisann, Jeg har drevet en del på med maven i det siste, typisk sammen med svn, og har undret litt på hvordan versjonering fungerer. Nå mener jeg hvordan softwaren blir versjonert, ikke subversion. Det jeg vil, er f eks å enkelt kunne hente ut en string-resource på en måte hvor major, minor, og revision blir hentet fra en pom.xml fra maven og build automatisk blir incremented hver gang jeg bygger prosjektet, slik at jeg f eks kan printe ut "Versjon 3.0.8 Build 3421" et eller annet sted, men at det altså skjer rimelig automatisk. 1. Hva er den vanlige måten å gjøre dette på? Har maven noe innebygget funksjonalitet for nettopp dette? 2. Hvordan henter jeg ut en slik automatisk string? 3. I maven sine pom.xml-er, hva betyr det som står etter versjonen, f eks SNAPSHOT, under <version>3.0.8-SNAPSHOT</version>, og har dette noe med saken min å gjøre? Takk for svar! Endret 10. oktober 2011 av LostOblivion Lenke til kommentar
Kiff Skrevet 11. oktober 2011 Del Skrevet 11. oktober 2011 (endret) Edit: For build nummer er det sikkert best å se på en Continuous Integration Server som Hudson, Apache Continuum etc, og kanskje en Maven Repository Manager som Nexus. 1 og 2: Jeg har sett dette blitt gjort, er ikke helt sikker på detaljene. Du bruker en maven plugin (f.eks maven-jar-plugin) til å lage manifest med versjonsinformasjon (http://download.oracle.com/javase/tutorial/deployment/jar/packageman.html) og henter versjonen med this.getClass().getPackage().getImplementationVersion(); Merk at strengen du får der kan være null, og sannsynligvis er det under utvikling. (Manifestet blir laget når maven pakker jar filen) 3: SNAPSHOT er maven sin default måte å versjonere utviklingsversjoner på. Når du kjører en maven release fjernes snapshot fra release versjonen og neste versjon økes. Det er litt arbeid å sette dette opp første gang, men når alt er på plass kan maven lage tag i svn, laste opp filer til et repository og håndtere versjonering med en enkelt kommando. Dokumentasjonen på Maven release manager har detaljer rundt dette. Endret 11. oktober 2011 av Kiff Lenke til kommentar
LostOblivion Skrevet 12. oktober 2011 Forfatter Del Skrevet 12. oktober 2011 (endret) Takk for svar, Kiff. Finnes det virkelig ikke noen enklere måte å gjøre dette på? Alt jeg ønsker er en måte å hente ut f.eks. 3.0.3.2549 under runtime, hvor 3.0.3 er hentet fra versjonen i pom-en og 2549 er automatisk og unikt generert hver gang jeg kjører en build. Trodde dette var noe som var standard i ethvert prosjekthåndteringsverktøy som f.eks. maven. :S Endret 12. oktober 2011 av LostOblivion Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå