Umphathi wePakeji yoManyano

Umanyano liqonga esele likhona ixesha elide kwaye lihlala livela. Nangona kunjalo, xa usebenza kuyo kunye neeprojekthi ezininzi ngexesha elinye, usenokufumana ubunzima ekusebenziseni imithombo eqhelekileyo (.cs), amathala eencwadi (.dll) kunye nezinye izinto (imifanekiso, izandi, iimodeli, iiprefabs). Kweli nqaku siza kuthetha ngamava ethu ngesisombululo semveli kwingxaki enjalo yoManyano.

Umphathi wePakeji yoManyano

Iindlela zoSabelo lweZibonelelo ekwabelwana ngazo

Kukho ngaphezu kwendlela enye yokusebenzisa izixhobo ekwabelwana ngazo kwiiprojekthi ezahlukeneyo, kodwa indlela nganye ineenzuzo kunye nezibi.

1. Ukuphindaphinda - siphinda izixhobo phakathi kweeprojekthi "ngesandla."

Iinkonzo:

  • Ifanele zonke iintlobo zezibonelelo.
  • Akukho zingxaki zokuxhomekeka.
  • Akukho ngxaki ngee-asethi GUIDs.

Umgcini:

  • Oovimba abakhulu.
  • Akukho nokwenzeka kuguqulelo.
  • Ubunzima bokulandelela utshintsho kwizixhobo ekwabelwana ngazo.
  • Ubunzima bokuhlaziya izixhobo ekwabelwana ngazo.

2. Iimodyuli ezisezantsi zeGit - Ukusasazwa kwezibonelelo ekwabelwana ngazo ngeemodyuli zangaphandle.

Iinkonzo:

  • Ungasebenza kunye nemithombo.
  • Unokusasaza ii-asethi.
  • Akukho zingxaki zokuxhomekeka.

Umgcini:

  • Amava eGit ayafuneka.
  • I-Git ayinabuhlobo kakhulu kunye neefayile zokubini - kuya kufuneka udibanise iLFS.
  • Ulawulo lokufikelela kwiindawo zokugcina.
  • Ubunzima bokuphucula kunye nokwehlisa iinguqulelo.
  • Ungquzulwano lwe-GUID lunokwenzeka kwaye akukho kuziphatha kucacileyo kwicala loManyano lokuzisombulula.

3. I-NuGet - ukusasazwa kwamathala eencwadi ekwabelwana ngawo ngeepakethe zeNuGet.

Iinkonzo:

  • Ukusebenza ngokulula kunye neeprojekthi ezingaxhomekekanga kuManyano.
  • Uguqulelo olulula kunye nesisombululo sokuxhomekeka.

Umgcini:

  • Umanyano alukwazi ukusebenza kunye neepakethe ze-NuGet ngaphandle kwebhokisi (kwi-GitHub ungafumana uMphathi wePhakeji ye-NuGet yoManyano, elungisa oku, kodwa kukho ama-nuances athile).
  • Ubunzima ekusasazeni ezinye iintlobo ze-asethi.

4. Umphathi wePakeji yoBumbano - ukuhanjiswa kwezibonelelo ekwabelwana ngazo ngesisombululo sasekhaya soBumbano.

Iinkonzo:

  • Ujongano lwendalo lokusebenza ngeepakethi.
  • Ukukhuselwa ngokuchasene nokubhala ngaphezulu kweefayile zemeta kwiipakethe ngenxa yeengxabano ze-GUID.
  • Ukubakho koguqulelo.
  • Ukukwazi ukusasaza zonke iintlobo zemithombo yoBumbano.

Umgcini:

  • Iingxabano ze-GUID zisengenzeka.
  • Akukho maxwebhu okuphunyezwa.

Le ndlela yokugqibela ineengenelo ezininzi kunezingeloncedo. Nangona kunjalo, ayithandwa kakhulu ngoku ngenxa yokungabikho kwamaxwebhu, kwaye ngoko siya kuhlala kuyo ngokubanzi.

Umphathi wePakeji yoManyano

Umphathi wePakethe yoBumbano (UPM) sisixhobo sokulawula iphakheji. Yongezwa kwi-Unity 2018.1 kwaye yayisetyenziselwa kuphela iipakethi eziphuhliswe yi-Unity Technologies. Nangona kunjalo, ukuqala ngenguqulo 2018.3, kuye kwenzeka ukuba ungeze iipakethi zesiko.

Umphathi wePakeji yoManyano
Ujongano loMphathi wePakethi yoManyano

Iipakethe azipheli kwimithombo yeprojekthi (i-Assets directory). Bakuluhlu olwahlukileyo %projectFolder%/Library/PackageCache kwaye ayichaphazeli iprojekthi nangayiphi na indlela, ukukhankanywa kwabo kuphela kwikhowudi yomthombo kwifayile packages/manifest.json.

Umphathi wePakeji yoManyano
Iipakethi kwinkqubo yefayile yeprojekthi

Imithombo yepakethi

I-UPM inokusebenzisa imithombo yempahla emininzi:

1. Inkqubo yefayile.

Iinkonzo:

  • Isantya sophumezo.
  • Ayifuni izixhobo zomntu wesithathu.

Umgcini:

  • Ubunzima kuguqulelo.
  • Ukufikelela okwabelwanayo kwisixokelelwano sefayile kuyafuneka kuye wonke umntu osebenza neprojekthi.

2. Uvimba weGit.

Iinkonzo:

  • Ekuphela kwento oyifunayo yindawo yokugcina iGit.

Umgcini:

  • Awukwazi ukutshintsha phakathi kweenguqulelo ngefestile ye-UPM.
  • Ayisebenzi nazo zonke iindawo zokugcina zeGit.

3. indawo yokugcina ye-npm.

Iinkonzo:

  • Ixhasa ngokupheleleyo ukusebenza kwe-UPM kwaye isetyenziselwa ukuhambisa iipakethe ezisemthethweni ze-Unity.

Umgcini:

  • Okwangoku ayihoyi zonke iinguqulelo zeepakethe ngaphandle kwe-"-preview".

Ngezantsi siza kujonga ukuphunyezwa kwe-UPM + npm. Lo mthwalo ufanelekile kuba uvumela ukuba usebenze nalo naluphi na uhlobo lomthombo kwaye ulawule iinguqulelo zephakheji, kwaye ikwaxhasa ngokupheleleyo ujongano lwendalo lwe-UPM.

Ungayisebenzisa njengendawo yokugcina ye-npm Verdaccio. Kukho iinkcukacha amaxwebhu, kwaye imiyalelo embalwa nje efunekayo ukuyiqhuba.

Ukumisela okusingqongileyo

Okokuqala kufuneka ufake node.js.

Ukwenza ipakethe

Ukwenza ipakethe, kufuneka ubeke ifayile package.json, eya kuyichaza, kulawulo olunemixholo yale mpahla. Kufuneka wenze oku kulandelayo:

Yiya kuluhlu lweprojekthi esifuna ukwenza ipakethe.

Qhuba umyalelo we-npm init kwaye ungenise amaxabiso afunekayo ngexesha lencoko yababini. Ngegama, khankanya igama kwifomathi yesizinda esibuyela umva, umzekelo com.plarium.somepackage.
Ukubonisa ngokulula igama lepakethe, yongeza ipropathi yeDisplayName kwipakethe.json kwaye uyigcwalise.

Ekubeni i-npm i-js-oriented, ifayile iqulethe izinto eziphambili kunye nezikripthi esingazifuniyo, ezo Ubumbano olungasebenzisiyo. Kungcono ukuwasusa ukuze ungafaki inkcazo yephakheji. Ifayile kufuneka ijonge ngolu hlobo:

  1. Yiya kuluhlu lweprojekthi esifuna ukwenza ipakethe.
  2. Qhuba umyalelo we-npm init kwaye ungenise amaxabiso afunekayo ngexesha lencoko yababini. Ngegama, khankanya igama kwifomathi yesizinda esibuyela umva, umzekelo com.plarium.somepackage.
  3. Ukubonisa ngokulula igama lepakethe, yongeza ipropathi yeDisplayName kwipakethe.json kwaye uyigcwalise.
  4. Ekubeni i-npm i-js-oriented, ifayile iqulethe izinto eziphambili kunye nezikripthi esingazifuniyo, ezo Ubumbano olungasebenzisiyo. Kungcono ukuwasusa ukuze ungafaki inkcazo yephakheji. Ifayile kufuneka ijonge ngolu hlobo:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. Vula Ubumbano kwaye uvelise ifayile ye-.meta ye-package.json (Umanyano aluboni i-asethi ngaphandle kweefayile ze-.meta, iipakethe ze-Unity zivulwa ukufunda-kuphela).

Ukuthumela ipakethe

Ukuthumela ipakethe kufuneka usebenzise umyalelo: npm publish --registry *адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²*.

Ukufaka kunye nokuhlaziya iipakethe ngokusebenzisa uMphathi wePakeji yoBumbano

Ukongeza iphakheji kwiprojekthi yoBumbano, kufuneka:

  1. Yongeza kwifayile manifest.json ulwazi malunga nomthombo weepakethe. Ukwenza oku kufuneka udibanise ipropati scopedRegistries kwaye ubonise imida kunye nedilesi yomthombo apho imida ethile iya kukhangelwa.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. Yiya kuManyano kwaye uvule iwindow yoMphathi wePackage (ukusebenza kunye neepakethe zesiko akufani nokusebenza kunye nezakhelwe ngaphakathi).
  3. Khetha Zonke iipakethi.
  4. Fumana iphakheji oyifunayo kwaye uyongeze.

Umphathi wePakeji yoManyano

Ukusebenza ngemithombo kunye nokulungiswa kweempazamo

Ukuze imithombo iqhagamshelwe kwiprojekthi, kufuneka udale Inkcazo yeNdibano yephakheji.

Ukusebenzisa iipakethe akuthinteli ukhetho lwakho lolungiso. Nangona kunjalo, xa usebenza kunye neepakethe kwi-Unity, awukwazi ukuya kwi-IDE ngokunqakraza kwimpazamo kwi-console ukuba impazamo yenzekile kwiphakheji. Oku kubangelwa ukuba i-Unity ayiboni izikripthi njengeefayile ezihlukeneyo, ekubeni xa usebenzisa iNgcaciso yeNdibano ziqokelelwa kwilayibrari kwaye zifakwe kwiprojekthi. Xa usebenza ngemithombo evela kwiprojekthi, ukucofa kwi-IDE iyafumaneka.

Ushicilelo kwiprojekthi enephakheji eqhagamshelweyo:

Umphathi wePakeji yoManyano
Ushicilelo olusuka kwiphakheji enendawo yoqhawulo yokusebenza:

Umphathi wePakeji yoManyano

Ulungiso olungxamisekileyo kwiipakethe

Iipakethe zomanyano ezongezwe kwiprojekthi zifundwa kuphela, kodwa zinokuhlelwa kwi-cache yephakheji. Ukwenza oku kufuneka:

  1. Yiya kwiphakheji kwi-cache yephakheji.

    Umphathi wePakeji yoManyano

  2. Yenza utshintsho oluyimfuneko.
  3. Hlaziya inguqulelo kwifayile package.json.
  4. Thumela ipakethe npm publish --registry *адрСс Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²*.
  5. Hlaziya uguqulelo lwepakethe ukuya kwelungisiweyo ngokusebenzisa ujongano lwe-UPM.

Ungquzulwano lwepakethi yokungenisa

Olu ngquzulwano lulandelayo lwe-GUID lunokwenzeka xa kuthathwa ngaphandle imipakethe:

  1. Iphakheji - iphakheji. Ukuba, xa ungenisa ipakethe, kufunyaniswa ukuba iipakethe esele zongeziwe ziqulethe ii-asethi ezine-GUID efanayo, ii-asethi ezinee-GUID ezithelekisekayo ezivela kwiphakheji engeniswe ngaphandle aziyi kongezwa kwiprojekthi.
  2. Iphakheji yiprojekthi. Ukuba, xa ungenisa iphakheji, kufunyaniswa ukuba iprojekthi iqulethe i-asethi ene-GUIDs ehambelanayo, ngoko ke ii-asethi ezivela kwiphakheji aziyi kongezwa kwiprojekthi. Nangona kunjalo, ii-asethi ezixhomekeke kuzo ziya kuqalisa ukusebenzisa ii-asethi ezivela kwiprojekthi.

Ukuhanjiswa kwempahla ukusuka kwiprojekthi ukuya kwiphakheji

Ukuba udlulisela i-asethi ukusuka kwiprojekthi ukuya kwiphakheji ngelixa i-Unity ivuliwe, ukusebenza kwayo kuya kugcinwa, kwaye izixhumanisi kwii-asethi ezixhomekeke ziya kuqala ukusebenzisa i-asethi evela kwiphakheji.

ebalulekileyo: Xa ukopisha i-asethi ukusuka kwiprojekthi ukuya kwiphakheji, ingxabano "yePhakheji - iProjekthi" echazwe kwicandelo elingasentla iya kwenzeka.

Izisombululo ezinokubakho kwiingxabano

  1. Ukwabela ngokutsha ii-GUIDs kusetyenziswa ezethu iindlela xa singenisa yonke impahla ukuphelisa ukungqubana.
  2. Ukongeza zonke ii-asethi kwiprojekthi enye kwaye uzahlule kwiipakethi.
  3. Ukudala i-database equlethe ii-GUID zazo zonke ii-asethi kunye nokuqhuba ukuqinisekiswa xa kuthunyelwa iipakethe.

isiphelo

I-UPM isisombululo esitsha sokusasaza izibonelelo ezikwabelwana ngazo kwi-Unity, enokuba yinto efanelekileyo kwiindlela ezikhoyo. Iingcebiso ezichazwe kwinqaku zazisekelwe kwiimeko zangempela. Siyathemba ukuba uzifumana ziluncedo.

umthombo: www.habr.com

Yongeza izimvo