Meneja wa Kifurushi cha Umoja

Umoja ni jukwaa ambalo limekuwepo kwa muda mrefu na linaendelea kubadilika. Hata hivyo, unapofanya kazi na miradi kadhaa kwa wakati mmoja, bado unaweza kukabiliana na matatizo katika kutumia vyanzo vya kawaida (.cs), maktaba (.dll) na mali nyingine (picha, sauti, mifano, prefabs). Katika nakala hii, tutazungumza juu ya uzoefu wetu na suluhisho asilia kwa shida kama hiyo kwa Umoja.

Meneja wa Kifurushi cha Umoja

Mbinu za Usambazaji wa Rasilimali Zilizoshirikiwa

Kuna zaidi ya njia moja ya kutumia rasilimali zilizoshirikiwa kwa miradi tofauti, lakini kila mbinu ina faida na hasara zake.

1. Rudufu - "kwa mkono" tunaiga rasilimali kati ya miradi.

Faida:

  • Inafaa kwa kila aina ya rasilimali.
  • Hakuna masuala ya utegemezi.
  • Hakuna shida na GUID za mali.

Minus:

  • Hifadhi kubwa.
  • Hakuna chaguo kwa toleo.
  • Ugumu wa kufuatilia mabadiliko kwenye rasilimali zilizoshirikiwa.
  • Ugumu wa kusasisha rasilimali zilizoshirikiwa.

2. Sehemu ndogo za Git - usambazaji wa rasilimali zilizoshirikiwa kupitia moduli ndogo za nje.

Faida:

  • Unaweza kufanya kazi na vyanzo.
  • Unaweza kusambaza mali.
  • Hakuna masuala ya utegemezi.

Minus:

  • Ujuzi wa Git unahitajika.
  • Git sio rafiki sana na faili za binary - lazima ujumuishe LFS.
  • Udhibiti wa ufikiaji wa hazina.
  • Ugumu wa kuboresha na kupunguza.
  • Migongano ya GUID inawezekana na hakuna tabia isiyo na utata kwa upande wa Umoja ili kuyasuluhisha.

3. NuGet - usambazaji wa maktaba zilizoshirikiwa kupitia vifurushi vya NuGet.

Faida:

  • Kazi rahisi na miradi ambayo haitegemei Umoja.
  • Utayarishaji rahisi na azimio la utegemezi.

Minus:

  • Umoja haujui jinsi ya kufanya kazi na vifurushi vya NuGet nje ya boksi (unaweza kupata Meneja wa Kifurushi cha NuGet kwa Unity kwenye GitHub, ambayo hurekebisha hii, lakini kuna nuances).
  • Ugumu katika kusambaza aina zingine za mali.

4. Kidhibiti Kifurushi cha Umoja - usambazaji wa rasilimali zilizoshirikiwa kupitia suluhisho asili la Umoja.

Faida:

  • Kiolesura asili cha kufanya kazi na vifurushi.
  • Ulinzi dhidi ya kubatilisha faili za .meta katika vifurushi iwapo kutatokea migongano ya GUID.
  • Uwezo wa utayarishaji.
  • Uwezo wa kusambaza kila aina ya rasilimali kwa Umoja.

Minus:

  • Mizozo ya GUID bado inaweza kutokea.
  • Hakuna nyaraka za utekelezaji.

Njia ya mwisho ina faida zaidi kuliko hasara. Hata hivyo, si maarufu sana sasa kutokana na ukosefu wa nyaraka, na kwa hiyo tutakaa juu yake kwa undani.

Meneja wa Kifurushi cha Umoja

Kidhibiti cha Kifurushi cha Umoja (hapa kinajulikana kama UPM) ni zana ya usimamizi wa kifurushi. Iliongezwa katika Unity 2018.1 na ilitumiwa tu kwa vifurushi vilivyotengenezwa na Unity Technologies. Walakini, kuanzia na toleo la 2018.3, iliwezekana kuongeza vifurushi maalum.

Meneja wa Kifurushi cha Umoja
Kiolesura cha Kidhibiti cha Kifurushi cha Umoja

Vifurushi haviishii kwenye vyanzo vya mradi (saraka ya Mali). Ziko kwenye saraka tofauti. %projectFolder%/Library/PackageCache na usiathiri mradi kwa njia yoyote, kutaja kwao pekee katika nambari ya chanzo iko kwenye faili packages/manifest.json.

Meneja wa Kifurushi cha Umoja
Vifurushi katika mfumo wa faili wa mradi

Vyanzo vya kifurushi

UPM inaweza kutumia vyanzo kadhaa vya kifurushi:

1. Mfumo wa faili.

Faida:

  • Kasi ya utekelezaji.
  • Haihitaji zana za wahusika wengine.

Minus:

  • ugumu wa utayarishaji.
  • Ufikiaji wa pamoja wa mfumo wa faili unahitajika kwa kila mtu anayefanya kazi na mradi huo.

2. Hifadhi ya Git.

Faida:

  • Unachohitaji ni hazina ya Git.

Minus:

  • Huwezi kubadili kati ya matoleo kupitia dirisha la UPM.
  • Haifanyi kazi na hazina zote za Git.

3. hifadhi ya npm.

Faida:

  • Inaauni utendakazi wa UPM kikamilifu na hutumiwa kusambaza vifurushi rasmi vya Unity.

Minus:

  • Kwa sasa inapuuza matoleo yote ya mfuatano wa vifurushi isipokuwa "-preview".

Tutaangalia utekelezaji wa UPM + npm hapa chini. Kifurushi hiki ni rahisi kwa sababu hukuruhusu kufanya kazi na aina yoyote ya rasilimali na kudhibiti matoleo ya vifurushi, na pia inasaidia kikamilifu kiolesura asili cha UPM.

Kama hazina ya npm, unaweza kutumia Verdaccio. Ina maelezo ya kina nyaraka, na inachukua amri kadhaa ili kuiendesha.

Mpangilio wa mazingira

Kwanza unahitaji kufunga node.js.

Unda kifurushi

Ili kuunda kifurushi, unahitaji kuweka faili package.json, ambayo itaelezea, kwa saraka na yaliyomo kwenye kifurushi hiki. Unahitaji kufanya yafuatayo:

Nenda kwenye saraka ya mradi ambayo tunataka kutengeneza kifurushi.

Endesha npm init amri na uweke maadili yanayohitajika wakati wa mazungumzo. Kwa jina, taja jina katika umbizo la kikoa cha kinyume, kwa mfano, com.plarium.somepackage.
Kwa onyesho linalofaa la jina la kifurushi, ongeza sifa ya displayName kwenye package.json na ujaze.

Kwa kuwa npm imeelekezwa kwa js, faili ina sifa kuu na maandishi ambayo hatuitaji, ambayo Umoja hautumii. Ni bora kuwaondoa ili usifunge maelezo ya kifurushi. Faili inapaswa kuonekana kama hii:

  1. Nenda kwenye saraka ya mradi ambayo tunataka kutengeneza kifurushi.
  2. Endesha npm init amri na uweke maadili yanayohitajika wakati wa mazungumzo. Kwa jina, taja jina katika umbizo la kikoa cha kinyume, kwa mfano, com.plarium.somepackage.
  3. Kwa onyesho linalofaa la jina la kifurushi, ongeza sifa ya displayName kwenye package.json na ujaze.
  4. Kwa kuwa npm imeelekezwa kwa js, faili ina sifa kuu na maandishi ambayo hatuitaji, ambayo Umoja hautumii. Ni bora kuwaondoa ili usifunge maelezo ya kifurushi. Faili inapaswa kuonekana kama hii:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. Fungua Unity na uzalishe faili ya .meta ya package.json (Unity haioni vipengee bila faili za .meta, Vifurushi vya Unity hufunguliwa kusoma tu).

Inatuma kifurushi

Ili kutuma kifurushi, unahitaji kuendesha amri: npm publish --registry *адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²*.

Kusakinisha na kusasisha vifurushi kupitia Kidhibiti cha Kifurushi cha Umoja

Ili kuongeza kifurushi kwenye mradi wa Umoja, unahitaji:

  1. Andika kwa faili manifest.json habari kuhusu chanzo cha vifurushi. Ili kufanya hivyo, unahitaji kuongeza mali scopedRegistries na uonyeshe mawanda na anwani ya chanzo ambayo mawanda mahususi yatatafutwa.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. Nenda kwa Umoja na ufungue dirisha la Meneja wa Kifurushi (kufanya kazi na vifurushi maalum sio tofauti na kufanya kazi na zilizojengwa).
  3. Chagua Vifurushi Vyote.
  4. Pata kifurushi kinachohitajika na uiongeze.

Meneja wa Kifurushi cha Umoja

Kufanya kazi na vyanzo na utatuzi

Ili vyanzo viunganishwe kwenye mradi, unahitaji kuunda Ufafanuzi wa Bunge kwa kifurushi.

Matumizi ya vifurushi haipunguzi wigo wa utatuzi. Walakini, wakati wa kufanya kazi na vifurushi katika Umoja, huwezi kwenda kwa IDE kwa kubonyeza kosa kwenye koni ikiwa kosa limetokea kwenye kifurushi. Hii ni kwa sababu Umoja hauoni hati kama faili tofauti, kwa sababu wakati wa kutumia Ufafanuzi wa Bunge, hukusanywa kwenye maktaba na kujumuishwa katika mradi. Wakati wa kufanya kazi na vyanzo kutoka kwa mradi, mpito wa kubofya hadi IDE unapatikana.

Hati katika mradi na kifurushi kilichounganishwa:

Meneja wa Kifurushi cha Umoja
Hati kutoka kwa kifurushi kilicho na sehemu ya kufanya kazi:

Meneja wa Kifurushi cha Umoja

Marekebisho ya haraka ya vifurushi

Vifurushi vya umoja vilivyoongezwa kwenye mradi vinasomwa tu, lakini vinaweza kuhaririwa kwenye kashe ya kifurushi. Kwa hili unahitaji:

  1. Nenda kwenye kifurushi kwenye kashe ya kifurushi.

    Meneja wa Kifurushi cha Umoja

  2. Fanya mabadiliko yanayohitajika.
  3. Sasisha toleo katika faili package.json.
  4. tuma kifurushi npm publish --registry *адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²*.
  5. Sasisha toleo la kifurushi hadi toleo lililosahihishwa kupitia kiolesura cha UPM.

Migogoro ya uingizaji wa kifurushi

Wakati wa kuingiza vifurushi, migogoro ifuatayo ya GUID inaweza kutokea:

  1. Kifurushi ni kifurushi. Ikiwa, wakati wa kuingiza kifurushi, itagundulika kuwa vifurushi vilivyoongezwa tayari vina mali na GUID sawa, mali zilizo na GUID zinazolingana kutoka kwa kifurushi kilichoagizwa hazitaongezwa kwenye mradi.
  2. Kifurushi ni mradi. Ikiwa, wakati wa kuagiza kifurushi, imegunduliwa kuwa mradi una mali na GUID zinazofanana, basi mali kutoka kwa kifurushi hazitaongezwa kwenye mradi. Hata hivyo, mali zinazotegemea zitaanza kutumia mali kutoka kwa mradi huo.

Kuhamisha mali kutoka kwa mradi hadi kwa kifurushi

Ukihamisha kipengee kutoka kwa mradi hadi kwa kifurushi wakati Unity imefunguliwa, basi utendakazi wake utahifadhiwa, na viungo katika vipengee tegemezi vitaanza kutumia mali kutoka kwa kifurushi.

Ni muhimu: Wakati wa kunakili kipengee kutoka kwa mradi hadi kifurushi, mzozo wa kifurushi-mradi uliofafanuliwa katika sehemu iliyo hapo juu utatokea.

Suluhu zinazowezekana za migogoro

  1. Kukabidhi upya GUID kulingana na algoriti zako wakati wa kuingiza vipengee vyote ili kuepuka migongano.
  2. Kuongeza mali zote kwa mradi mmoja na utenganisho wao wa baadaye katika vifurushi.
  3. Unda hifadhidata iliyo na GUID za mali zote na uthibitishe wakati wa kuwasilisha vifurushi.

Hitimisho

UPM ni suluhisho jipya la kusambaza rasilimali zilizoshirikiwa katika Umoja ambayo inaweza kuwa mbadala inayofaa kwa mbinu zilizopo. Mapendekezo yaliyoelezwa katika makala yalitoka kwa misingi ya kesi halisi. Tunatumahi utapata kuwa muhimu.

Chanzo: mapenzi.com

Kuongeza maoni