Ziva kushandisa flatten-maven-plugin kurerutsa shanduro mumapurojekiti maven

Nezvedu

Pa1C isu tinokudziridza kwete chikuva chete 1C: Bhizinesi pamusoro C ++ ΠΈ JavaScript, asiwo maapplication eJava - kunyanya nharaunda nyowani yekuvandudza Enterprise Development Tools zvichibva paEclipse uye sevha yevatumwa yakanyatsobatanidzwa nepuratifomu - Kudyidzana Systems.

kupinda

Isu tinowanzo shandisa maven senge yekuvaka system yeJava application, uye mune ino pfupi chinyorwa tinoda kutaura nezve rimwe rematambudziko ataifanira kutarisana nawo mukuronga budiriro, uye nezve nzira iyo yakatibvumira kukunda izvi. dambudziko.

Zvinodiwa uye mafambiro ebasa

Nekuda kweiyo chaiyo yebudiriro mumapurojekiti edu e maven, isu tinoshandisa akawanda akawanda mamodule, kutsamira uye mapurojekiti evana. Nhamba yepom mafaira mumuti mumwe inogona kuva mumakumi kana kunyange mazana.

Ziva kushandisa flatten-maven-plugin kurerutsa shanduro mumapurojekiti maven

Zvingaita sekuti: hapana chinhu chikuru, vakachigadzira kamwechete uye vakakanganwa nezvazvo. Kana iwe uchida kushandura kana kuwedzera chimwe chinhu mumafaira ese kamwechete, kune akawanda maturusi ari nyore mupepeti uye maIDE. Ndeipi inonyanyo chinja ku pom.xml? Isu tinotenda kuti shanduko mushanduro dzeprojekiti uye zvinoenderana. Zvichida mumwe munhu angada kukakavadzana neizvi, asi izvi ndizvo chaizvo mamiriro ezvinhu kwatiri. Chikonzero chiri muchokwadi chekuti, pamwe chete nekernel, isu tiri kugadzira akawanda emaraibhurari edu panguva imwe chete, uye nekuda kwekugara kudhindwa kwekuvaka uye mhedzisiro yekuyedza, kushandiswa kwemifananidzo hakuratidzike kwatiri nzira iri nyore. Nechikonzero ichi, zvinodikanwa kusimudza iyo vhezheni nhamba mumapurojekiti ane imwe neimwe kuvaka.

Zvakare, nguva nenguva, mugadziri anofanirwa kuvaka rake rebazi reraibhurari uye atarise mashandiro ayo achipokana nezvose zvinotsamira, izvo zvaanofanirwa kushandura nemaoko shanduro yavo yese.

Mhinduro yekutanga

Nekuchinja kwakadaro uye kwakawanda vhezheni, ini ndoda kurerutsa uye otomatiki maitiro mukati meCI. Apa ndipo panouya yakanakira, inozivikanwa plugin kuzonunura. shanduro-maven-plugin - batanidza uye utange

mvn -N shanduro:set -DnewVersion=2.0.1

uye Maven ichaita zvese sezvainofanirwa: ichamhanya kuburikidza nehumambo kubva kumusoro kusvika pasi, ichitsiva ese mavhezheni - runako! Iye zvino chasara kusimudza chikumbiro chekudhonza, vatinoshanda navo vanoongorora shanduko, uye iwe unogona kukurumidza kujoina hunde. Nokukurumidza? Hazvinei kuti zvaita sei. Mazana maviri pom.xml yekuongorora, uye izvi hazvisi kuverenga kodhi. Mukuwedzera, hapana munhu akachengeteka kubva pakubatanidza kukakavara nehuwandu hwakakura hwemafaira akachinjwa. Izvo zvinofanirwa kucherechedzwa pano kuti muCI maitiro, shanduko yeshanduro inoitika otomatiki pamwe nekuchinja kwekushanda, uye kwete neimwe nzira zvakasiyana.

Zvitsva zvinhu

Kwekanguva takadzikama uye, tasiya basa, takagara takadaro kusvika vakomana kubva Maven Apache Project Kutanga kubva mushanduro 3.5.0-beta-1, Maven haana kusanganisira tsigiro yevanodaidzwa kuti "nzvimbo". Hunhu hwezvitsivi izvi ndehwekuti pom.xml pachinzvimbo chechiratidzo chaicho cheshanduro yeprojekiti, zvinoshanduka zvinoshandiswa ${revision}, ${sha1} ΠΈ ${changelist}. Hunhu hweizvi zvivakwa pachahwo hwakaiswa chero muchinhudzimba>, kana ivo vanogona kutsanangurwa kuburikidza nesystem system

mvn -Drevision=2.0.0 pasuru yakachena

Sistimu yezvivakwa kukosha inotungamira pamusoro pemitengo inotsanangurwa mukatidzimba>.

Mubereki

  4.0.0
  
    org.apache
    apache
    18
  
  org.apache.maven.ci
  ci-mubereki
  Kutanga CI Hushamwari
  ${revision}${sha1}${changelist}
  ...
  
    1.3.1
    -SNAPSHOT
    
  


Descendant

  4.0.0
  
    org.apache.maven.ci
    ci-mubereki
    ${revision}${sha1}${changelist}
  
  org.apache.maven.ci
  ci-mwana
   ...

Kana iwe uchida kuvaka shanduro 2.0.0-SNAPSHOT, saka ingoshandisa

    mvn -Drevision=2.0.0 pasuru yakachena

Kana iwe uchida kuburitsa, saka ingo gadzirisa SNAPSHOT

    mvn -Dchangelist= yakachena package

*Mienzaniso iri pamusoro inotorwa kubva zvinyorwa paMaven Apache Project webhusaiti

Hasha chokwadi

Zvose zvakanaka uye zvine utano, inguva yekunzwa pfungwa yekugutsikana, asi kwete. Zvinoitika kuti nzira iyi haishande pakumisikidza uye kuendesa, nekuti haizotsiviwa mune tsananguro dzezvakagadzirwa zvakaburitswa mune repository. ${revision} pane zvazvinoreva uye maven haachanzwisise zvazvinoreva.


    org.apache
    apache
    ${revision}

Chiedza mumagumo emugero

Tinofanira kutsvaga mhinduro kudambudziko. Angadai akaponesa mamiriro acho flatten-maven-plugin. Iyi plugin inogadzirisa zvese zvinosiyana mupom, asi panguva imwe chete inocheka kunze kwakawanda yerumwe ruzivo rwunongodiwa panguva yegungano uye haidiwi pakupinza zvinhu zvakadhindwa mune mamwe mapurojekiti. Iyo plugin zvakare "inoruramisa" zvese zvinotsamira pamubereki-mwana, uye semhedzisiro, iwe unowana flat pom inosanganisira zvese zvaunoda. Kusagadzikana kwaive kwekuti inocheka yakawandisa "yakawedzera", iyo isina kuenderana nesu zvachose. Mushure mekudzidza ruzivo rwekuvandudzwa kweiyi plugin, zvakazoitika kuti isu hatisi isu chete mune zvakasikwa, uye kumashure muna Nyamavhuvhu 2018, chikumbiro chekudhonza-chakagadzirwa paGithub mune plugin repository nechishuwo chekuita kuti zviitike. kuti tione pachedu kuti tinga "spoil" sei pom.xml. Vagadziri vakateerera manzwi evaya vanotambura, uye kare muna December, nekubudiswa kweshanduro itsva 1.1.0, nzira itsva, kugadzirisaCiFriendliesOnly, yakaonekwa mu flatten-maven-plugin, iyo yakanga yakakodzera kupfuura kare - inosiya. pom.xml sezvazviri, kunze kwechinhu uye inobvumira ${revision}, ${sha1} ΠΈ ${changelist}.

Kuwedzera plugin kupurojekiti


  
    org.codehaus.mojo
    flatten-maven-plugin
    1.1.0
    
      chokwadi
      gadzirisaCiFriendliesOnly
    
    
      
        flatten
        process-zviwanikwa
        
          flatten
        
      
      
        flatten.clean
        yakachena
        
          yakachena
        
      
    
  

Yakaitwa!

Kupera kunofadza

Kubva zvino zvichienda mberi, kuitira kuti uchinje vhezheni yeprojekiti yese uye ita kuti zvese zvinotsamira zvizive nezvazvo, isu tinongoda kugadzirisa chinhu.revision> mumudzi chete pom.xml. Kwete zana kana maviri emafaira aya ane shanduko yakafanana anosvika pakuongororwa, asi imwe. Zvakanaka, hapana chikonzero chekushandisa shanduro-maven-plugin.

Source: www.habr.com

Voeg