Π Π½Π°Ρ
Ing 1C, kita ora mung ngembangake platform
entri
Kita paling kerep nggunakake maven minangka sistem mbangun kanggo aplikasi Java, lan ing artikel cendhak iki kita arep kanggo pirembagan bab salah siji masalah sing kudu kita ngadhepi ing proses ngatur pembangunan, lan bab pendekatan sing ngidini kita kanggo ngatasi iki. masalah.
Prasyarat lan alur kerja
Amarga spesifik pangembangan ing proyek maven, kita nggunakake cukup akeh modul, dependensi lan proyek anak. Jumlah file pom ing siji wit bisa puluhan utawa malah atusan.
Iku bakal katon: ora masalah gedhe, padha digawe iku sapisan lan lali bab iku. Yen sampeyan kudu ngganti utawa nambah soko ing kabeh file bebarengan, ana akeh alat trep ing editors lan IDE. Apa owah-owahan biasa sing paling umum kanggo pom.xml? Kita pitados bilih owah-owahan ing versi project lan dependensi. Mbok menawa ana wong sing pengin mbantah babagan iki, nanging iki persis karo kahanan kita. AlesanΓ© dumunung ing kasunyatan sing, bebarengan karo kernel, kita bebarengan ngembangaken akeh perpustakaan kita dhewe, lan kanggo reproducibility pancet saka mbangun lan asil testing, nggunakake jepretan ora katon kanggo kita pendekatan trep. Mulane, perlu ngunggahake nomer versi ing proyek kanthi saben mbangun.
Kajaba iku, saka wektu kanggo wektu, pangembang kudu mbangun cabang perpustakaan dhewe lan mriksa fungsine marang kabeh dependensi, kang kudu kanthi manual ngganti versi kabeh mau.
Solusi wiwitan
Kanthi owah-owahan versi sing kerep lan akeh, aku pengin nyederhanakake lan ngotomatisasi proses ing CI. Iki minangka plugin sing trep lan kondhang teka kanggo ngluwari. versi-maven-plugin - nyambung lan miwiti
mvn -N versi: nyetel -DnewVersion = 2.0.1
lan Maven bakal nindakake kabeh minangka ngirim: bakal mbukak liwat hirarki saka ndhuwur kanggo ngisor, ngganti kabeh versi - kaendahan! Saiki sing isih ana yaiku ngunggahake panjaluk tarik, kolega bakal mriksa owah-owahan kasebut, lan sampeyan bisa kanthi cepet gabung karo trunk. Cepet? Ora ketompo carane iku. Saperangan atus pom.xml kanggo review, lan iki ora ngetang kode. Kajaba iku, ora ana sing aman saka konflik gabungan karo file sing diganti akeh. Perlu dicathet ing kene yen ing proses CI, owah-owahan versi kedadeyan kanthi otomatis bebarengan karo owah-owahan fungsi, lan ora kanthi kapisah.
Fitur anyar
Kanggo sawetara wektu kita tenang lan, sawise mundur, kita urip kaya ngono nganti wong lanang
mvn -Drevision = 2.0.0 paket resik
Nilai properti sistem luwih dhisik tinimbang nilai sing ditemtokake ingsitus>.
Tiyang sepah
4.0.0
org.apache
apache
18
org.apache.maven.ci
ci-wong tuwa
First CI Friendly
${revisi}${sha1}${changelist}
...
1.3.1
- GAMBAR
Keturunan
4.0.0
org.apache.maven.ci
ci-wong tuwa
${revisi}${sha1}${changelist}
org.apache.maven.ci
ci-bocah
...
Yen sampeyan pengin mbangun versi 2.0.0-SNAPSHOT, banjur mung nggunakake
mvn -Drevision = 2.0.0 paket resik
Yen sampeyan pengin nggawe release, banjur mung ngreset SNAPSHOT
mvn -Dchangelist= paket resik
*Conto ing ndhuwur dijupuk saka
kasunyatan atos
Kabeh apik lan sehat, wektune kanggo ngrasakake rasa marem, nanging ora. Pranyata cara iki ora bisa digunakake kanggo nginstal lan nyebarake, amarga ora bakal diganti ing deskripsi artefak sing diterbitake ing gudang. ${revisi} ing makna lan maven ora bakal ngerti maneh apa iku.
org.apache
apache
${revisi}
A cahya ing mburi trowongan
Kita kudu golek solusi kanggo masalah kasebut. Bisa nylametake kahanan
Nambahake plugin menyang proyek kasebut
org.codehaus.mojo
flatten-maven-plugin
1.1.0
bener
resolveCiFriendliesOnly
rata
proses-sumber daya
rata
rata.resik
resik
resik
Rampung!
happy ending
Wiwit saiki, kanggo ngganti versi kabeh proyek lan supaya kabeh dependensi ngerti babagan iki, kita mung kudu ngowahi unsur kasebut.Revisi> mung ing oyod pom.xml. Ora satus utawa loro file kasebut kanthi owah-owahan sing padha teka ing review, nanging siji. Inggih, ora perlu nggunakake versi-maven-plugin.
Source: www.habr.com