Ni iriri nipa lilo flatten-maven-plugin lati jẹ ki ẹya rọrun ni awọn iṣẹ akanṣe maven

О нас

Ni 1C a ṣe idagbasoke kii ṣe pẹpẹ nikan 1C: Idawọlẹ on C ++ и JavaScript, ṣugbọn tun awọn ohun elo Java - ni pataki agbegbe idagbasoke tuntun Awọn Irinṣẹ Idagbasoke Idawọle da lori Eclipse ati olupin ojiṣẹ ti o jinlẹ jinlẹ pẹlu pẹpẹ - Awọn ọna ibaraenisepo.

Ifihan

Nigbagbogbo a lo maven bi eto kikọ fun awọn ohun elo Java, ati ninu nkan kukuru yii a yoo fẹ lati sọrọ nipa ọkan ninu awọn iṣoro ti a ni lati koju ninu ilana ti iṣeto idagbasoke, ati nipa ọna ti o fun wa laaye lati bori eyi. isoro.

Awọn ibeere ati ṣiṣan iṣẹ

Nitori awọn pato ti idagbasoke ninu wa maven ise agbese, a lo oyimbo kan pupo ti modulu, dependencies ati ọmọ ise agbese. Nọmba awọn faili pom ninu igi kan le wa ninu awọn mewa tabi paapaa awọn ọgọọgọrun.

Ni iriri nipa lilo flatten-maven-plugin lati jẹ ki ẹya rọrun ni awọn iṣẹ akanṣe maven

O yoo dabi: ko si nla ti yio se, nwọn si da o ni kete ti ati ki o gbagbe nipa o. Ti o ba nilo lati yipada tabi ṣafikun ohunkan ni gbogbo awọn faili ni ẹẹkan, ọpọlọpọ awọn irinṣẹ irọrun wa ninu awọn olootu ati awọn IDE. Kini iyipada deede ti o wọpọ julọ si pom.xml? A gbagbọ pe awọn iyipada ninu awọn ẹya akanṣe ati awọn igbẹkẹle. Boya ẹnikan yoo fẹ lati jiyan pẹlu eyi, ṣugbọn eyi ni ipo gangan pẹlu wa. Idi naa wa ni otitọ pe, pẹlu ekuro, a n ṣe idagbasoke ọpọlọpọ awọn ile-ikawe tiwa ni nigbakannaa, ati fun atunṣe igbagbogbo ti kikọ ati awọn abajade idanwo, lilo awọn aworan aworan ko dabi si wa ọna irọrun. Fun idi eyi, o jẹ dandan lati gbe nọmba ẹya soke ni awọn iṣẹ akanṣe pẹlu kikọ kọọkan.

Pẹlupẹlu, lati igba de igba, olupilẹṣẹ nilo lati kọ ẹka tirẹ ti ile-ikawe kan ati ṣayẹwo iṣẹ ṣiṣe rẹ lodi si gbogbo awọn igbẹkẹle, eyiti o ni lati yi ẹya ti gbogbo wọn pada pẹlu ọwọ.

Ojutu akọkọ

Pẹlu iru loorekoore ati awọn iyipada ẹya pupọ, Mo fẹ lati ṣe simplify ati adaṣe ilana laarin CI. Eyi ni ibi ti irọrun, ohun itanna ti a mọ daradara wa si igbala. awọn ẹya-maven-afikun - so o ati ki o lọlẹ o

mvn -N awọn ẹya: ṣeto -DnewVersion = 2.0.1

ati Maven yoo ṣe ohun gbogbo bi o ti yẹ: yoo ṣiṣẹ nipasẹ awọn logalomomoise lati oke de isalẹ, rọpo gbogbo awọn ẹya - ẹwa! Bayi gbogbo ohun ti o ku ni lati gbe ibeere fifa soke, awọn ẹlẹgbẹ yoo ṣe atunyẹwo awọn ayipada, ati pe o le yara darapọ mọ ẹhin mọto naa. Ni kiakia? Ko si bi o ti jẹ. A tọkọtaya ti ọgọrun pom.xml fun awotẹlẹ, ki o si yi ti a ko ti kika koodu. Ni afikun, ko si ẹnikan ti o ni aabo lati awọn ija idapọ pẹlu iru nọmba nla ti awọn faili ti o yipada. O yẹ ki o ṣe akiyesi nibi pe ninu ilana CI, awọn iyipada ẹya waye laifọwọyi pẹlu awọn ayipada ninu iṣẹ ṣiṣe, kii ṣe ni ọna lọtọ.

Awọn anfani tuntun

Fun kan nigba ti a tunu mọlẹ ati, ntẹriba resigned ara wa, a ti gbé bi ti titi ti awọn enia buruku lati Maven Apache Project Bibẹrẹ lati ẹya 3.5.0-beta-1, Maven ko pẹlu atilẹyin fun ohun ti a pe ni “awọn oniduro”. Koko ti awọn aropo wọnyi ni pe pom.xml dipo itọkasi kan pato ti ikede akanṣe, awọn oniyipada lo ${àtúnyẹ̀wò}, ${sha1} и ${akojọ iyipada}. Awọn iye ti awọn ohun-ini wọnyi funrararẹ ti ṣeto boya ninu nkan naaawọn ini>, tabi ti won le wa ni telẹ nipasẹ ohun ini eto

mvn -Drevision = 2.0.0 package mimọ

Awọn iye ohun-ini eto gba iṣaaju lori awọn iye ti asọye ninuawọn ini>.

Òbí

  4.0.0
  
    org.apache
    apache
    18
  
  org.apache.maven.ci
  obi-obi
  First CI Friendly
  ${àtúnyẹ̀wò}${sha1}${akojọ àtúnṣe}
  ...
  
    1.3.1
    -SAPSHOT
    
  


Iran-iran

  4.0.0
  
    org.apache.maven.ci
    obi-obi
    ${àtúnyẹ̀wò}${sha1}${akojọ àtúnṣe}
  
  org.apache.maven.ci
  ci-ọmọ
   ...

Ti o ba fẹ kọ ẹya 2.0.0-SNAPSHOT, lẹhinna o kan lo

    mvn -Drevision = 2.0.0 package mimọ

Ti o ba fẹ ṣe idasilẹ, lẹhinna kan tun SNAPSHOT to

    mvn -Dchangelist= package mimọ

* Awọn apẹẹrẹ loke wa ni ya lati awọn nkan lori oju opo wẹẹbu Maven Apache Project

Otitọ lile

Ohun gbogbo ni o dara ati ilera, o to akoko lati ni imọlara itẹlọrun, ṣugbọn rara. O wa ni pe ọna yii kii yoo ṣiṣẹ fun fifi sori ẹrọ ati imuṣiṣẹ, nitori kii yoo rọpo ni awọn apejuwe ti awọn ohun-ọṣọ ti a tẹjade ni ibi ipamọ. ${àtúnyẹ̀wò} lori awọn oniwe-itumo ati maven yoo ko to gun ni oye ohun ti o ni gbogbo nipa.


    org.apache
    apache
    ${àtúnyẹ̀wò}

Imọlẹ kan ni opin oju eefin kan

A nilo lati wa ojutu si iṣoro naa. Le ti fipamọ ipo naa alapin-maven-afikun. Ohun itanna yii ṣe ipinnu gbogbo awọn oniyipada ninu pom, ṣugbọn ni akoko kanna gige ọpọlọpọ alaye miiran ti o nilo nikan lakoko apejọ ati pe ko nilo nigbati o gbe awọn ohun-ọṣọ ti a tẹjade sinu awọn iṣẹ akanṣe miiran. Ohun itanna naa tun “tọ jade” gbogbo awọn igbẹkẹle obi-ọmọ, ati bi abajade, o gba pom alapin ti o pẹlu ohun gbogbo ti o nilo. Irọrun ni pe o ge “afikun” pupọ ju, eyiti ko baamu wa rara. Lẹhin ikẹkọ alaye lori idagbasoke ti ohun itanna yii, o han pe a kii ṣe awọn nikan ni agbaye, ati sẹhin ni Oṣu Kẹjọ ọdun 2018, a ṣẹda ibeere fifa lori Github ni ibi ipamọ ohun itanna pẹlu ifẹ lati jẹ ki o ṣee ṣe. lati pinnu lori ara wa bawo ni a ṣe le ṣe "ikogun" pom.xml. Awọn Difelopa tẹtisi awọn ohun ti awọn ti n jiya, ati pe tẹlẹ ni Oṣu kejila, pẹlu itusilẹ ti ẹya tuntun 1.1.0, ipo tuntun kan, resolveCiFriendliesOnly, ti han ni fifẹ-maven-plugin, eyiti o dara julọ ju lailai - o lọ kuro pom.xml bi o ṣe jẹ, ayafi fun eroja ati laaye ${àtúnyẹ̀wò}, ${sha1} и ${akojọ iyipada}.

Fifi ohun itanna si ise agbese na


  
    org.codehaus.mojo
    alapin-maven-afikun
    1.1.0
    
      ooto
      yanjuCiFriendliesNikan
    
    
      
        pẹlẹbẹ
        ilana-awọn orisun
        
          pẹlẹbẹ
        
      
      
        alapin.o mọ
        mọ
        
          mọ
        
      
    
  

Ṣe!

Ipari ayo

Lati isisiyi lọ, lati yi ẹya ti gbogbo iṣẹ akanṣe pada ki o jẹ ki gbogbo awọn igbẹkẹle mọ nipa rẹ, a kan nilo lati ṣatunkọ nkan naaAtunwo> ni o kan root pom.xml. Kii ṣe ọgọrun tabi meji ninu awọn faili wọnyi pẹlu iyipada kanna ti de ni atunyẹwo, ṣugbọn ọkan. O dara, ko si ye lati lo awọn ẹya-maven-afikun.

orisun: www.habr.com

Fi ọrọìwòye kun