о нама
У 1Ц развијамо не само платформу
Улазак
Мавен најчешће користимо као буилд систем за Јава апликације, а у овом кратком чланку желимо да говоримо о једном од проблема са којима смо морали да се суочимо у процесу организовања развоја, као ио приступу који нам је омогућио да ово превазиђемо. проблем.
Предуслови и ток рада
Због специфичности развоја у нашим мавен пројектима, користимо доста модула, зависности и подређених пројеката. Број пом фајлова у једном стаблу може бити у десетинама или чак стотинама.
Рекло би се: ништа страшно, једном су га створили и заборавили. Ако треба да промените или додате нешто у свим датотекама одједном, постоји много згодних алата у уређивачима и ИДЕ-овима. Која је најчешћа редовна промена пом.кмл? Верујемо да су промене у верзијама пројекта и зависности. Можда ће неко хтети да се о томе расправља, али код нас је управо таква ситуација. Разлог лежи у чињеници да, заједно са кернелом, истовремено развијамо многе сопствене библиотеке, а за сталну поновљивост резултата изградње и тестирања, употреба снимака нам се не чини погодним приступом. Из тог разлога, потребно је повећати број верзије у пројектима са сваком изградњом.
Такође, с времена на време, програмер треба да направи сопствену грану библиотеке и провери њену функционалност у односу на све зависности, за шта мора ручно да промени верзију свих њих.
Почетно решење
Са тако честим и вишеструким променама верзија, желим да поједноставим и аутоматизујем процес унутар ЦИ. Овде у помоћ долази згодан, добро познати додатак. версионс-мавен-плугин - повежите га и покрените
мвн -Н версионс:сет -ДневВерсион=2.0.1
а Мавен ће учинити све како треба: проћи ће кроз хијерархију од врха до дна, замењујући све верзије - лепоту! Сада остаје само да поднесете захтев за повлачење, колеге ће прегледати измене, а ви можете брзо да се придружите пртљажнику. Брзо? Како год да је. Пар стотина пом.кмл за преглед, а то се не рачуна код. Поред тога, нико није сигуран од сукоба спајања са тако великим бројем промењених датотека. Овде треба напоменути да се у ЦИ процесу промене верзије дешавају аутоматски заједно са променама у функционалности, а не некако одвојено.
Нове функције
Неко време смо се смирили и, помиривши се, тако смо живели све док момци из
мвн -Древисион=2.0.0 чист пакет
Вредности системских својстава имају предност над вредностима дефинисаним усвојства>.
Родитељ
4.0.0
орг.апацхе
апацхе
18
орг.апацхе.мавен.ци
ци-родитељ
Фирст ЦИ Фриендли
${ревисион}${сха1}${цхангелист}
...
1.3.1
-СНАПСХОТ
Потомак
4.0.0
орг.апацхе.мавен.ци
ци-родитељ
${ревисион}${сха1}${цхангелист}
орг.апацхе.мавен.ци
ци-дете
...
Ако желите да направите верзију 2.0.0-СНАПСХОТ, само користите
мвн -Древисион=2.0.0 чист пакет
Ако желите да објавите, само ресетујте СНАПСХОТ
мвн -Дцхангелист= чист пакет
*Горе наведени примери су преузети из
сурова реалност
Све је добро и здраво, време је да осетите задовољство, али не. Испоставило се да овај метод неће радити за инсталацију и примену, јер неће бити замењен у описима артефаката објављеним у спремишту ${ревисион} на њено значење и Мавен више неће разумети о чему се ради.
орг.апацхе
апацхе
${ревисион}
Светло на крају тунела
Морамо тражити решење проблема. Могао је спасити ситуацију
Додавање додатка у пројекат
орг.цодехаус.мојо
флаттен-мавен-плугин
1.1.0
истина
ресолвеЦиФриендлиесОнли
спљоштити
процес-ресурси
спљоштити
изравнати.чистити
чист
чист
Готово!
Срећан крај
Од сада, да бисмо променили верзију целог пројекта и обавестили све зависности о томе, само треба да уредимо елементревизија> само у корену пом.кмл. На преглед не стиже сто или две ових фајлова са истом изменом, већ један. Па, нема потребе да се користи версионс-мавен-плугин.
Извор: ввв.хабр.цом