Kev paub siv flatten-maven-plugin kom yooj yim versioning hauv maven tej yaam num

О нас

Ntawm 1C peb tsim tsis yog lub platform xwb 1 C: Enterprise rau C++ ΠΈ JavaScript, tab sis kuj Java daim ntawv thov - tshwj xeeb tshaj yog qhov chaw tsim kho tshiab Enterprise Development Tools raws li dab noj hnub thiab tus neeg xa xov liaison sib sib zog nqus nrog lub platform - Kev sib tham sib Systems.

nkag

Peb feem ntau siv maven ua ib qho kev tsim rau Java daim ntawv thov, thiab hauv tsab xov xwm luv luv no peb xav tham txog ib qho ntawm cov teeb meem uas peb yuav tsum tau ntsib nyob rau hauv tus txheej txheem ntawm kev txhim kho, thiab txog txoj hauv kev uas tso cai rau peb kov yeej qhov no. teeb meem.

Yam yuavtsum tau kawm uantej thiab kev ua haujlwm

Vim yog qhov tshwj xeeb ntawm kev txhim kho hauv peb cov haujlwm maven, peb siv ntau cov qauv, kev vam khom thiab cov haujlwm me me. Tus naj npawb ntawm cov ntaub ntawv pom hauv ib tsob ntoo tuaj yeem nyob hauv kaum lossis ntau pua.

Kev paub siv flatten-maven-plugin kom yooj yim versioning hauv maven tej yaam num

Nws yuav zoo li: tsis muaj teeb meem loj, lawv tsim nws ib zaug thiab tsis nco qab txog nws. Yog tias koj xav hloov lossis ntxiv ib yam dab tsi hauv txhua cov ntaub ntawv ib zaug, muaj ntau cov cuab yeej yooj yim hauv cov neeg kho thiab IDEs. Dab tsi yog qhov kev hloov pauv ntau tshaj plaws rau pom.xml? Peb ntseeg tias kev hloov pauv hauv qhov project versions thiab kev vam khom. Tej zaum ib tug neeg yuav xav sib cav nrog qhov no, tab sis qhov no yog qhov xwm txheej nrog peb. Yog vim li cas nyob rau hauv qhov tseeb hais tias, nrog rau cov ntsiav, peb ib txhij tsim ntau ntawm peb tus kheej lub tsev qiv ntawv, thiab rau lub reproducibility tas li ntawm kev tsim thiab kev soj ntsuam tau, kev siv cov snapshots tsis zoo rau peb ib tug yooj yim mus kom ze. Vim li no, nws yog ib qho tsim nyog los tsa tus lej version hauv cov haujlwm nrog txhua qhov tsim.

Tsis tas li ntawd, qee zaum, tus tsim tawm yuav tsum tsim nws tus kheej ceg ntawm lub tsev qiv ntawv thiab tshawb xyuas nws cov haujlwm tiv thaiv txhua qhov kev vam khom, uas nws yuav tsum hloov pauv ntawm txhua tus ntawm lawv.

Thawj qhov kev daws teeb meem

Nrog xws li kev hloov pauv ntau zaus thiab ntau yam, kuv xav kom yooj yim thiab siv cov txheej txheem hauv CI. Qhov no yog qhov yooj yim, paub zoo plugin los cawm. versions-maven-plugin - Txuas nws thiab tso nws

mvn -N versions:set -DnewVersion=2.0.1

thiab Maven yuav ua txhua yam raws li nws yuav tsum tau: nws yuav khiav los ntawm hierarchy los ntawm sab saum toj mus rau hauv qab, hloov tag nrho cov versions - kev zoo nkauj! Tam sim no txhua yam uas tseem tshuav yog txhawm rau rub daim ntawv thov, cov npoj yaig yuav tshuaj xyuas cov kev hloov pauv, thiab koj tuaj yeem koom nrog lub cev sai. Ceev ceev? Txawm li cas los xij. Ob peb puas pom xml rau kev tshuaj xyuas, thiab qhov no tsis suav cov cai. Tsis tas li ntawd, tsis muaj leej twg muaj kev nyab xeeb los ntawm kev sib koom ua ke tsis sib haum xeeb nrog ntau cov ntaub ntawv hloov pauv. Nws yuav tsum raug sau tseg ntawm no tias nyob rau hauv cov txheej txheem CI, cov kev hloov pauv hloov pauv tshwm sim nrog rau kev hloov pauv hauv kev ua haujlwm, thiab tsis yog qee qhov sib cais.

Tshiab nta

Ib pliag peb thiaj li nyob ntsiag to thiab, tau tawm ntawm peb tus kheej, peb nyob zoo li ntawd mus txog thaum cov txiv neej los Maven Apache Project Pib los ntawm version 3.5.0-beta-1, Maven tsis suav nrog kev txhawb nqa rau qhov hu ua "placeholders". Lub ntsiab ntawm cov kev hloov pauv no yog qhov ntawd pom xml es tsis txhob ntawm ib qho kev qhia tshwj xeeb ntawm qhov project version, hloov pauv tau siv ${revision}, ${sha1} ΠΈ ${changelist}. Cov txiaj ntsig ntawm cov khoom no lawv tus kheej tau teeb tsa hauv lub caijzog>, los yog lawv tuaj yeem txhais tau los ntawm cov cuab yeej system

mvn -Drevision = 2.0.0 huv pob

Cov cuab yeej cuab tam qhov tseem ceeb ua ntej tshaj qhov tseem ceeb uas tau teev tseg hauvzog>.

Niam txiv

  4.0.0 Nws
  
    org.apache
    apache
    18 ib
  
  org.apache.maven.ci
  ci-niam
  Thawj CI phooj ywg
  ${revision}${sha1}${changelist}
  ...
  
    1.3.1
    -SNAPSHOT
    
  


xeeb ntxwv

  4.0.0 Nws
  
    org.apache.maven.ci
    ci-niam
    ${revision}${sha1}${changelist}
  
  org.apache.maven.ci
  ci-tus txiv
   ...

Yog tias koj xav tsim version 2.0.0-SNAPSHOT, ces tsuas yog siv

    mvn -Drevision = 2.0.0 huv pob

Yog tias koj xav ua kom tso tawm, ces rov pib dua SNAPSHOT

    mvn -Dchangelist = pob huv si

* Cov piv txwv saum toj no yog muab los ntawm lus ntawm Maven Apache Project lub vev xaib

Nyuaj kev muaj tiag

Txhua yam yog qhov zoo thiab noj qab haus huv, nws yog lub sijhawm los xav tias muaj kev txaus siab, tab sis tsis yog. Nws hloov tawm tias txoj kev no yuav tsis ua haujlwm rau kev teeb tsa thiab xa tawm, vim nws yuav tsis raug hloov pauv hauv cov lus piav qhia ntawm cov khoom qub uas luam tawm hauv lub chaw cia khoom. ${revision} ntawm nws lub ntsiab lus thiab maven yuav tsis nkag siab tias nws yog dab tsi.


    org.apache
    apache
    ${revision}

Lub teeb nyob rau hauv qhov kawg ntawm lub qhov

Peb yuav tsum nrhiav kev daws teeb meem. Muaj peev xwm cawm tau qhov xwm txheej flatten-maven-plugin. Qhov plugin no daws txhua qhov hloov pauv hauv pom, tab sis tib lub sijhawm txiav tawm ntau cov ntaub ntawv tsuas yog xav tau thaum sib dhos thiab tsis xav tau thaum xa cov khoom cuav rau hauv lwm cov haujlwm. Lub plugin kuj "ncaj tawm" tag nrho cov niam txiv-me nyuam kev vam khom, thiab yog li ntawd, koj tau txais lub tiaj tus pom uas suav nrog txhua yam koj xav tau. Qhov tsis yooj yim yog tias nws txiav tawm ntau dhau "ntxiv", uas tsis haum peb txhua. Tom qab kawm cov ntaub ntawv ntawm kev txhim kho ntawm qhov plugin no, nws tau pom tias peb tsis yog tib leeg nyob hauv lub ntiaj teb, thiab rov qab rau lub Yim Hli 2018, rub-thov tau tsim ntawm Github hauv plugin repository nrog lub siab xav ua kom nws ua tau. los txiav txim rau peb tus kheej yuav ua li cas "spoil" pom.xml. Cov neeg tsim khoom tau mloog cov suab ntawm cov kev txom nyem, thiab twb nyob rau lub Kaum Ob Hlis, nrog rau kev tso tawm tshiab version 1.1.0, ib hom tshiab, daws teeb meemCiFriendliesOnly, tau tshwm sim nyob rau hauv lub flatten-maven-plugin, uas yog tsim nyog dua puas tau - nws tawm. pom.xml raws li yog, tsuas yog rau lub caij thiab tso cai ${revision}, ${sha1} ΠΈ ${changelist}.

Ntxiv ib lub plugin rau qhov project


  
    org.codehaus.mojo
    flatten-maven-plugin
    1.1.0 ib
    
      muaj tseeb
      daws teeb meemCiFriendliesOnly
    
    
      
        tiaj tus
        txheej txheem-peev txheej
        
          tiaj tus
        
      
      
        flatten. huv
        huv si
        
          huv si
        
      
    
  

Ua tiav!

Zoo siab kawg

Txij ntawm no mus, txhawm rau hloov pauv cov qauv ntawm tag nrho cov phiaj xwm thiab qhia txhua qhov kev vam meej paub txog nws, peb tsuas yog yuav tsum hloov kho lub caij.kho dua tshiab> hauv paus xwb pom xml. Tsis yog ib puas lossis ob ntawm cov ntaub ntawv no nrog tib qhov kev hloov pauv tuaj txog ntawm kev tshuaj xyuas, tab sis ib qho. Zoo, tsis tas yuav siv versions-maven-plugin.

Tau qhov twg los: www.hab.com

Ntxiv ib saib