brew creator razvija novi upravitelj paketa čaja

Max Howell, autor popularnog macOS sustava za upravljanje paketima brew (Homebrew), razvija novi upravitelj paketa pod nazivom Tea, pozicioniran kao nastavak razvoja brew-a, nadilazeći upravitelj paketima i nudeći objedinjenu infrastrukturu za upravljanje paketima koja funkcionira s decentraliziranim spremištima. Projekt se u početku razvija kao višeplatformski projekt (trenutačno su podržani macOS i Linux, podrška za Windows je u razvoju). Kôd projekta napisan je u TypeScriptu i distribuiran pod licencom Apache 2.0 (brew je napisan u Rubyju i distribuiran pod licencom BSD).

Tea konceptualno nije poput tradicionalnih upravitelja paketima i umjesto paradigme "Želim instalirati paket", koristi paradigmu "Želim koristiti paket". Konkretno, Tea nema naredbu za instaliranje paketa kao takvog, već umjesto toga koristi generiranje okruženja za izvođenje sadržaja paketa koji se ne preklapaju s trenutnim sustavom. Paketi su smješteni u poseban ~/.tea direktorij i nisu vezani za apsolutne staze (mogu se pomicati).

Omogućena su dva glavna načina rada: odlazak u naredbenu ljusku s pristupom okruženju s instaliranim paketima i izravno pozivanje naredbi vezanih uz paket. Na primjer, prilikom izvršavanja "tea +gnu.org/wget", upravitelj paketa će preuzeti uslužni program wget i sve potrebne ovisnosti, a zatim omogućiti pristup ljusci u okruženju u kojem je dostupan uslužni program wget. Druga opcija uključuje izravno pokretanje - “tea +gnu.org/wget wget https://some_webpage”, u kojem će se uslužni program wget instalirati i odmah pokrenuti u zasebnom okruženju. Moguće je sastaviti složene lance, na primjer, preuzeti datoteku white-paper.pdf i obraditi je uslužnim programom glow, možete koristiti sljedeću konstrukciju (ako wget i glow nedostaju, bit će instalirani): tea + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | čaj +charm.sh/glow sjaj - ili možete koristiti jednostavniju sintaksu: tea -X wget -qO- tea.xyz/white-paper | čaj -X sjaj —

Na sličan način, možete izravno pokretati skripte, primjere koda i one-linere, automatski učitavajući alate potrebne za njihov rad. Na primjer, pokretanje "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" instalirat će alat Go i izvršiti skriptu colors.go s argumentom "-yellow".

Kako se naredba tea ne bi pozivala svaki put, moguće ju je spojiti kao univerzalni upravitelj virtualnih okruženja i rukovatelj nedostajućim programima. U tom slučaju, ako pokrenuti program nije dostupan, bit će instaliran, a ako je već instaliran, pokrenut će se u svom okruženju. $ deno zsh: naredba nije pronađena: deno $ cd moj-projekt $ deno tea: instaliranje deno.land^1.22 deno 1.27.0 > ^D

U svom trenutnom obliku, paketi dostupni za Tea prikupljeni su u dvije zbirke - pantry.core i pantry.extra, koje uključuju metapodatke koji opisuju izvore preuzimanja paketa, skripte za izgradnju i ovisnosti. Pantry.core kolekcija uključuje glavne biblioteke i pomoćne programe, ažurne i testirane od strane Tea programera. Pantry.extra sadrži pakete koji nisu dovoljno stabilizirani ili su predloženi od strane članova zajednice. Osigurano je web sučelje za navigaciju kroz pakete.

Proces izrade paketa za Tea uvelike je pojednostavljen i svodi se na izradu jedne univerzalne datoteke package.yml (primjer), koja ne zahtijeva prilagođavanje paketa za svaku novu verziju. Paket se može povezati s GitHubom za otkrivanje novih verzija i preuzimanje njihovog koda. Datoteka također opisuje ovisnosti i pruža skripte za izgradnju za podržane platforme. Instalirane ovisnosti su nepromjenjive (verzija je fiksna), što eliminira ponavljanje situacija sličnih incidentu s lijevom tipkom.

U budućnosti je planirano stvaranje decentraliziranih repozitorija koji nisu vezani ni za kakvu zasebnu pohranu i koriste distribuirani blockchain za metapodatke, te decentraliziranu infrastrukturu za pohranjivanje paketa. Izdanja će izravno certificirati održavatelji i pregledavati dionici. Moguće je distribuirati tokene kriptovalute za doprinose održavanju, podršci, distribuciji i provjeri paketa.

brew creator razvija novi upravitelj paketa čaja


Izvor: opennet.ru

Dodajte komentar