Ƙwarewa ta amfani da flatten-maven-plugin don sauƙaƙe siga a cikin ayyukan maven

О нас

A 1C muna haɓaka ba kawai dandamali ba 1C: kasuwanci a kan C ++ и JavaScript, amma kuma aikace-aikacen Java - musamman sabon yanayin ci gaba Kayayyakin Ci gaban Kasuwanci dangane da Eclipse da sabar saƙo mai zurfi tare da dandamali - Tsarin Sadarwa.

Gabatarwa

Sau da yawa muna amfani da maven a matsayin tsarin ginawa don aikace-aikacen Java, kuma a cikin wannan ɗan gajeren labarin za mu so yin magana game da ɗaya daga cikin matsalolin da muke fuskanta wajen tsara ci gaba, da kuma hanyar da ta ba mu damar shawo kan wannan. matsala.

Abubuwan da ake buƙata da aikin aiki

Saboda ƙayyadaddun ci gaba a cikin ayyukanmu na maven, muna amfani da kayayyaki da yawa, abubuwan dogaro da ayyukan yara. Adadin fayilolin pom a cikin bishiya ɗaya na iya zama cikin dubun ko ma ɗaruruwa.

Ƙwarewa ta amfani da flatten-maven-plugin don sauƙaƙe siga a cikin ayyukan maven

Zai yi kama da: ba babban abu ba, sun ƙirƙira shi sau ɗaya kuma sun manta da shi. Idan kana buƙatar canzawa ko ƙara wani abu a cikin duk fayiloli a lokaci ɗaya, akwai kayan aiki masu yawa masu dacewa a cikin masu gyara da IDEs. Menene canjin yau da kullun na yau da kullun zuwa pom.xml? Mun yi imanin cewa canje-canje a cikin sigogin aikin da abin dogaro. Wataƙila wani zai so yin jayayya da wannan, amma wannan shine ainihin halin da muke ciki. Dalilin ya ta'allaka ne a cikin gaskiyar cewa, tare da kwaya, a lokaci guda muna haɓaka yawancin ɗakunan karatu namu, kuma ga ci gaba da sake fasalin ginin da sakamakon gwaji, amfani da hotuna ba ya kama mu da wata hanya mai dacewa. A saboda wannan dalili, yana da mahimmanci don haɓaka lambar sigar a cikin ayyukan tare da kowane ginin.

Har ila yau, daga lokaci zuwa lokaci, mai haɓakawa yana buƙatar gina reshensa na ɗakin karatu tare da duba ayyukansa a kan duk wani abin dogaro, wanda zai canza fasalin duka da hannu.

Magani na farko

Tare da irin waɗannan sauye-sauyen juzu'i da yawa, Ina so in sauƙaƙe da sarrafa tsari a cikin CI. Wannan shine inda dacewa, sanannen plugin ya zo don ceto. versions-maven-plugin - haɗa shi kuma kaddamar da shi

mvn -N iri: saita -DnewVersion = 2.0.1

kuma Maven zai yi duk abin da ya kamata: zai gudana cikin matsayi daga sama zuwa ƙasa, yana maye gurbin duk nau'ikan - kyakkyawa! Yanzu duk abin da ya rage shine tada buƙatun ja, abokan aiki za su sake duba canje-canje, kuma zaku iya shiga cikin akwati da sauri. Da sauri? Ko yaya abin yake. Biyu dari fansa.xml don bita, kuma wannan baya kirga lambar. Bugu da ƙari, babu wanda ke da aminci daga rikice-rikicen haɗuwa tare da irin wannan babban adadin fayilolin da aka canza. Ya kamata a lura a nan cewa a cikin tsarin CI, canje-canjen sigar na faruwa ta atomatik tare da canje-canje a cikin ayyuka, kuma ba ko ta yaya daban ba.

Sabbin kayan aiki

Na ɗan lokaci mun natsu kuma, muka yi murabus, muna rayuwa haka har sai samari daga Maven Apache Project Maven, wanda ya fara da sigar 3.5.0-beta-1, bai haɗa da goyan baya ga abin da ake kira “masu wuri” na sigogin ba. Asalin wadannan madogaran shi ne fansa.xml maimakon takamaiman nuni na sigar aikin, ana amfani da masu canji ${bita}, ${sha1} и ${jerin canji}. An saita ƙimar waɗannan kaddarorin kansu ko dai a cikin kashiProperties>, ko kuma ana iya siffanta su ta hanyar mallakar tsarin

mvn -Drevision=2.0.0 fakiti mai tsabta

Ƙimar kadarorin tsarin suna fifiko akan ƙimar da aka ayyana a cikiProperties>.

Iyaye

  4.0.0
  
    org.apache
    apache
    18
  
  org.apache.maven.ci
  uba
  Farkon CI Friendly
  ${bita}${sha1}${masu canji}
  ...
  
    1.3.1
    - TSAFIYA
    
  


Zuriya

  4.0.0
  
    org.apache.maven.ci
    uba
    ${bita}${sha1}${masu canji}
  
  org.apache.maven.ci
  ci-yaro
   ...

Idan kuna son gina sigar 2.0.0-SNAPSHOT, to kawai kuyi amfani da

    mvn -Drevision=2.0.0 fakiti mai tsabta

Idan kuna son yin saki, to kawai sake saita SNAPSHOT

    mvn -Dchangelist= fakiti mai tsabta

*Misalan da ke sama an dauko su ne daga labarai akan gidan yanar gizon Maven Apache Project

m gaskiya

Komai yana da kyau da lafiya, lokaci ya yi da za a ji jin dadi, amma a'a. Ya bayyana cewa wannan hanyar ba za ta yi aiki ba don shigarwa da turawa, tun da ba za a maye gurbin shi ba a cikin kwatancin kayan tarihi da aka buga a cikin ma'ajin. ${bita} akan ma'anarsa kuma maven ba zai ƙara fahimtar abin da ke tattare da shi ba.


    org.apache
    apache
    ${bita}

Haske a ƙarshen rami

Muna bukatar mu nemo hanyar magance matsalar. Da an ceci lamarin flatten-maven-plugin. Wannan plugin yana warware duk masu canji a cikin pom, amma a lokaci guda yana yanke wasu bayanai masu yawa waɗanda kawai ake buƙata yayin taro kuma ba a buƙata lokacin shigo da kayan tarihi da aka buga a cikin wasu ayyukan. Har ila yau, plugin ɗin yana "daidaita" duk abin dogara ga iyaye-yara, kuma a sakamakon haka, kuna samun lebur pom wanda ya haɗa da duk abin da kuke buƙata. Rashin jin daɗi shine ya yanke "karin" da yawa, wanda bai dace da mu ba ko kaɗan. Bayan nazarin bayanin game da haɓaka wannan plugin ɗin, ya juya cewa ba mu kaɗai ba ne a cikin sararin samaniya, kuma a cikin watan Agusta 2018, an ƙirƙiri buƙatun ja akan Github a cikin ma'ajin kayan aikin tare da sha'awar sanya shi yiwuwa. don sanin kanmu yadda za a "lalata" pom.xml. Masu haɓakawa sun saurari muryoyin waɗanda ke shan wahala, kuma tuni a cikin Disamba, tare da sakin sabon sigar 1.1.0, sabon yanayin, warwareCiFriendliesOnly, ya bayyana a cikin flatten-maven-plugin, wanda ya fi dacewa fiye da kowane lokaci - ya fita. pom.xml kamar yadda yake, ban da kashi da damar ${bita}, ${sha1} и ${jerin canji}.

Ƙara plugin zuwa aikin


  
    org.codehaus.mojo
    flatten-maven-plugin
    1.1.0
    
      gaskiya
      warwareCiFriendlies Kawai
    
    
      
        daidaita
        tsari-albarkatun
        
          daidaita
        
      
      
        daidaitacce.tsaftace
        mai tsabta
        
          mai tsabta
        
      
    
  

Anyi!

Kyakkyawan karshen

Daga yanzu, don canza sigar gabaɗayan aikin kuma bari duk masu dogara su sani game da shi, kawai muna buƙatar gyara kashi.sake dubawa> a cikin tushen kawai fansa.xml. Ba ɗari ko biyu na waɗannan fayiloli tare da canji iri ɗaya ba sun isa wurin bita, amma ɗaya. To, babu buƙatar amfani versions-maven-plugin.

source: www.habr.com

Add a comment