О нама
У 1Ц развијамо не само платформу на и , али и Јава апликације – посебно ново развојно окружење базиран на Ецлипсе-у и серверу за поруке који је дубоко интегрисан са платформом - .
Улазак
Мавен најчешће користимо као буилд систем за Јава апликације, а у овом кратком чланку желимо да говоримо о једном од проблема са којима смо морали да се суочимо у процесу организовања развоја, као ио приступу који нам је омогућио да ово превазиђемо. проблем.
Предуслови и ток рада
Због специфичности развоја у нашим мавен пројектима, користимо доста модула, зависности и подређених пројеката. Број пом фајлова у једном стаблу може бити у десетинама или чак стотинама.

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