[Java lista] Válasz: Re: Válasz: Re: Egy NB6.8-as buildAll script keszitese

Zsombor gzsombor at gmail.com
2010. Már. 29., H, 19:00:52 CEST


2010/3/29 Auth Gábor <auth.gabor at javaforum.hu>

> HalihĂł!
>
> > 1, repositorynak meg lehessen adni egy lokális könyvtárt, relativan a
> > projekthez, mindezt a pom-ban, s ne valami {user.home}/.m2/settings.xml
> >  -ben
>
>   Ennek mi az értelme? Pont a Maven lényege veszne el, vagyis az, hogy van
> egy
> központi bináris repód valahol, és nem helyben van valami izé, ahonnan
> dolgozol. Ettől lesz igazán reprodukálhatatlan a build, ha legalább két
> fejlesztő dolgozik.
>
>
Éppen, hogy az volt a tapasztalat, hogy két gépen csak akkor reprodukálható
egy build, ha előtte az ember törli a cachet, a lokális repót, a home
könyvtárban levő settings.xml-t, ezért lenne jó, ha egy svn-ben tárolt, lib,
pardon "repo" könyvtárat meg lehetne adni, hogy itt van az összes függőség,
máshoz ne forduljon.




> >  2, le lehessen tiltani az összes többi repository elérését
>
>   Lásd első pont. :)
>
> > 3, a cache használatának letiltása. (Azt nonszensznek tartom, hogy
> > reprodukálható build létrehozásánál az a tanács, hogy előtte töröljük a
> > cachet)
>
>   Ez meg -U paraméter, ha jól értem mire gondolsz.
>
> >  Ha ezek megvalĂłsĂ­thatĂłak, akkor fogom azt majd elhinni, hogy egy svn
> > repoból, vagy egy lementett snapshotból bármikor a távoli jövőben, egy
> java
> > vm + maven segítségével újra építhetem egy mavent használó projektet.
>
>   Egy svn repóból ÉS egy bináris Maven repóból bármikor...
>
> >  Személy szerint több alkalommal futottam neki, hogy kisebb nagyobb
> > projekteket maven-esítsek, eddig mérsékelt sikerrel. Hol ott kattantam
> meg,
> > amikor valami triviális hiányzó dependenciához kerestem repositoryt -
> végül
> > maradtam egy becsekkelt jar + shell script kombinációnál, ami
> beinjektálta
> >  a lokális repóba a hiányzó függőségeket
>
>   Én Nexus-t használok erre... és szerintem sokan mások is. :D
>


Ha lokálisan futtatod, akkor azzal a többi fejlesztő nem lesz kisegítve,
annyival vagy előrébb, hogy ahelyett, hogy azt mondanád, hogy futtasd le a
"mvn install:jar -DgroupId=... -Dfile=..." -t azt Ă­rod le, hogy telepits
nexus-t, aztán oda töltsd fel ezt a jar-t ilyen névvel. Ha jól értem a
válaszodat.



>
> >  - hol amikor, a generált
> >  javadoc-ot szerettem volna kicsit customizálni, vagy amikor a build
> során
> >  egy java toolt kellett volna meghivni, ami végig nézi a java forrásokat
> Ă©s
> >  újabbakat generál - xdoclet-szerüség, csak saját fejlesztés, ezt végül
> >  kiraktam ant scriptbe, némi classpath mágiával megfejelve, hol amikor
> >  platform függő tar.gz/zip releaseket próbáltam készíteni.
>
>   Erre meg Maven plugint lehet írni, amit aztán a bináris repódban tartasz.
>
>  Amikor 10-20 fejlesztő dolgozik egy projekten, sokat egyszerűsít a Maven,
> mert nem kell kézről-kézre járnia egy build környezetnek, illetve nem kell
> teletűzdelni az svn repót verziózott jar fájlokkal.
>
>
Szeretem ha a build környezet verziózva van, és minden ami változhat. Az svn
repóban tárolt jar fileok problémáját nem teljesen értem. Természetesen nem
az eredmény artifactokra gondolok, hanem az inputra.



>  Kis projekthez nem éri meg a Maven, de én már kényelemből azzal csinálok
> mindent, mert megvan hozzá az archetype, ami legyártja a projektet. Nagy
> projekthez nem állnék neki ant alapokon, volt benne részem, igen borzalmas
> tud
> lenni a dependency hell.
>


Nem a modularitás ellen vagyok, azt nagyon is tudom értékelni, még a maven
alap könyvtár strukturáját is jó ötletnek tartom. Személy szerint inkább
szoktam egy common-build.xml-t csinálni, alap targetekkel és makró
definiciókkal, aztán a modulokban levő build.xml szinte copy paste,
minimális customizálásokkal, illetve a tényleges cél megadásával. Jó,
végűlis lehet azt mondani, hogy írtam egy egyszerűbb maven-t :)
 Köszönöm, hogy elmondhattam :D


Zs
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20100329/77f392fc/attachment.html 


További információk a(z) Javalist levelezőlistáról