Ezmûna karanîna flatten-maven-plugin ji bo hêsankirina guhertoya di projeyên maven de

Derbarê me

Li 1C em ne tenê platformek pêşdixin 1C: Enterprise li ser C ++ и JavaScript, lê di heman demê de serîlêdanên Java jî - bi taybetî jîngeha pêşkeftina nû Amûrên Pêşveçûna Enterprise li ser bingeha Eclipse û serverek peyamberek ku bi platformê re kûr ve girêdayî ye - Pergalên Têkilî.

entry

Em pir caran maven wekî pergalek çêkirinê ji bo serîlêdanên Java-yê bikar tînin, û di vê gotara kurt de em dixwazin li ser yek ji wan pirsgirêkên ku di pêvajoya organîzekirina pêşkeftinê de pê re rû bi rû mane, û li ser nêzîkatiya ku destûr da me ku em vê yekê derbas bikin bipeyivin. pirsegirêk.

Şert û mercên xebatê

Ji ber taybetmendiyên pêşkeftinê di projeyên meyên maven de, em pir modul, girêdayî û projeyên zarokan bikar tînin. Hejmara pelên pom di yek darê de dikare bi dehan an jî bi sedan be.

Ezmûna karanîna flatten-maven-plugin ji bo hêsankirina guhertoya di projeyên maven de

Wusa dixuye: ne tiştek mezin e, wan ew yek carî afirandin û ew ji bîr kirin. Heke hûn hewce ne ku di yek carî de di hemî pelan de tiştek biguhezînin an lê zêde bikin, di edîtor û IDE-yan de gelek amûrên hêsan hene. Guhertina birêkûpêk a herî gelemperî ya pom.xml çi ye? Em bawer dikin ku di guhertoyên projeyê û girêdayîbûnê de guhertin. Dibe ku kesek bixwaze bi vê yekê re nîqaş bike, lê bi rastî rewşa me ev e. Sedem di vê yekê de ye ku, digel kernelê, em di heman demê de gelek pirtûkxaneyên xwe pêşdixin, û ji bo dubarekirina domdar a encamên çêkirin û ceribandinê, karanîna wêneyan ji me re nêzîkatiyek hêsan xuya nake. Ji ber vê yekê, pêdivî ye ku bi her çêkirinê re jimareya guhertoyê di projeyan de zêde bike.

Di heman demê de, dem bi dem, pêşdebirek pêdivî ye ku şaxek pirtûkxaneyek xwe ava bike û fonksiyona wê li hember hemî girêdanan kontrol bike, ji bo vê yekê ew neçar e ku guhertoya hemî wan bi destan biguhezîne.

Çareseriya destpêkê

Bi guhertoyên wusa pir caran û pirjimar, ez dixwazim pêvajoyê di hundurê CI de hêsan bikim û otomatîk bikim. Li vir pêvekek rehet, naskirî tê alîkariyê. versions-maven-plugin - wê ve girêdin û dest pê bikin

mvn -N versions:set -DnewVersion=2.0.1

û Maven dê her tiştî wekî ku divê bike: ew ê di nav hiyerarşiyê de ji serî heta binî bimeşe, li şûna hemî guhertoyan - bedewiyê! Naha ya ku dimîne ev e ku hûn daxwazek kişandinê bilind bikin, hevkar dê guheztinan binirxînin, û hûn dikarin zû tev li çolê bibin. Zû? Çawa dibe bila bibe. Çend sed pom.xml ji bo vekolînê, û ev kod nayê hesibandin. Digel vê yekê, tu kes ji pevçûnên hevgirtinê bi hejmareke mezin a pelên guhezbar re ne ewle ye. Pêdivî ye ku li vir were zanîn ku di pêvajoya CI-ê de, guhertinên guhertoyê bixweber digel guheztinên fonksiyonê pêk tê, û ne bi rengek cûda.

Derfetên nû

Demekê em xwe hênik kirin û ji ber ku em îstifa kirin, heya xortan me wisa jiya Projeya Maven Apache Ji guhertoya 3.5.0-beta-1 dest pê dike, Maven piştgirî ji bo bi navê "cihgirên cîhan" negirt. Esasê van cîgir ew e pom.xml li şûna nîşanek taybetî ya guhertoya projeyê, guhêrbar têne bikar anîn ${revision}, ${sha1} и ${changelist}. Nirxên van taybetmendiyan bixwe di hêmanê de têne danîntaybetmendiyên>, an jî ew dikarin bi taybetmendiyek pergalê ve bêne diyar kirin

mvn -Drevision=2.0.0 pakêta paqij

Nirxên milkê pergalê pêşî li nirxên ku tê de hatine destnîşan kirin digirintaybetmendiyên>.

Parent

  4.0.0
  
    org.apache
    apache
    18
  
  org.apache.maven.ci
  ci-bav
  Yekem CI Friendly
  ${revision}${sha1}${changelist}
  ...
  
    1.3.1
    -ŞÎN
    
  


Nebî

  4.0.0
  
    org.apache.maven.ci
    ci-bav
    ${revision}${sha1}${changelist}
  
  org.apache.maven.ci
  ci-zarok
   ...

Heke hûn dixwazin guhertoya 2.0.0-SNAPSHOT ava bikin, wê hingê tenê bikar bînin

    mvn -Drevision=2.0.0 pakêta paqij

Heke hûn dixwazin serbestberdanek çêbikin, wê hingê tenê SNAPSHOT ji nû ve saz bikin

    mvn -Dchangelist= pakêta paqij

*Mînakên li jor ji hatine girtin gotar li ser malpera Projeya Maven Apache

Rastiya dijwar

Her tişt baş û tendurist e, dem e ku meriv hestek dilxweşiyê hîs bike, lê na. Derket holê ku ev rêbaz dê ji bo sazkirin û bicîhkirinê nexebite, ji ber ku ew ê di danasînên hunerên ku di depoyê de hatine weşandin de neyê guheztin. ${revision} li ser wateya wê û maven wê êdî fahm bike ku ew çi ye.


    org.apache
    apache
    ${revision}

Ronahîyek di dawiya tunelekê de

Divê em li çareseriya pirsgirêkê bigerin. Dikaribû rewşê xilas bikira flatten-maven-plugin. Ev pêvek hemî guhêrbarên di pom de çareser dike, lê di heman demê de gelek agahdariya din ên ku tenê di dema berhevkirinê de hewce ne û ne hewce ne dema ku hunerên çapkirî di nav projeyên din de vediguhezîne qut dike. Pêvek di heman demê de hemî girêdayiyên dêûbav-zarok jî "rast dike", û wekî encamek, hûn pomek guncan digirin ku her tiştê ku hûn hewce ne vedihewîne. Nerehetî ev bû ku ew pir "zêde" qut dike, ku qet ne li gorî me bû. Piştî lêkolîna agahdariya li ser pêşkeftina vê pêvekê, derket holê ku em di gerdûnê de ne tenê ne, û dîsa di Tebaxa 2018-an de, li ser Github-ê di depoya pêvekê de daxwazek vekişînê hate afirandin bi xwestek ku wê gengaz bike. ku em bi xwe diyar bikin ka meriv çawa pom.xml "xirab bike". Pêşdebiran guh da dengê kesên ku diêşiyan, û jixwe di Kanûnê de, bi berdana guhertoya nû 1.1.0, modek nû, solveCiFriendliesOnly, di pêveka flatten-maven-ê de xuya bû, ku ji her demê maqûltir bû - ew derdikeve. pom.xml wek e, ji bilî hêmanê û destûrê dide ${revision}, ${sha1} и ${changelist}.

Zêdekirina pêvekek li projeyê


  
    org.codehaus.mojo
    flatten-maven-plugin
    1.1.0
    
      rast
      çareserCiFriendliesOnly
    
    
      
        pankirin
        pêvajoyê-çavkaniyên
        
          pankirin
        
      
      
        hejandin.paqij
        pak
        
          pak
        
      
    
  

Done!

Dawiya we pîroz be

Ji niha û pê ve, ji bo ku em guhertoya tevahîya projeyê biguhezînin û hemî pêvedan jê zanibin, em tenê hewce ne ku hêmanê biguherînin.guhertin> tenê di kokê de pom.xml. Ji van dosyayan ne sed an du dosya bi heman guherînê digihêje lêkolînê, lê yek. Erê, ne hewce ye ku bikar bînin versions-maven-plugin.

Source: www.habr.com

Add a comment