kreator piva razvija novi menadžer paketa čaja

Max Howell, autor popularnog macOS sistema za upravljanje paketima brew (Homebrew), razvija novi menadžer paketa pod nazivom Tea, pozicioniran kao nastavak razvoja brew-a, koji nadilazi paket menadžera i nudi objedinjenu infrastrukturu za upravljanje paketima koja funkcionira sa decentralizovanim repozitorijumima. Projekat se u početku razvija kao multi-platformski projekat (trenutno su podržani macOS i Linux, podrška za Windows je u razvoju). Kod projekta je napisan u TypeScript-u i distribuiran pod licencom Apache 2.0 (brew je napisan u Ruby-u i distribuiran pod BSD licencom).

Tea konceptualno nije poput tradicionalnih menadžera paketa i umjesto paradigme "želim da instaliram paket", koristi paradigmu "želim da koristim paket". Konkretno, Tea nema naredbu za instaliranje paketa kao takvog, već umjesto toga koristi generiranje okruženja da izvrši sadržaj paketa koji se ne preklapa sa trenutnim sistemom. Paketi se stavljaju u poseban ~/.tea direktorij i nisu vezani za apsolutne putanje (mogu se premještati).

Predviđena su dva glavna načina rada: odlazak na komandnu ljusku sa pristupom okruženju sa instaliranim paketima i direktno pozivanje komandi vezanih za paket. Na primjer, prilikom izvršavanja "tea +gnu.org/wget", upravitelj paketa će preuzeti uslužni program wget i sve potrebne ovisnosti, a zatim će omogućiti pristup ljusci u okruženju u kojem je instalirani wget uslužni program dostupan. Druga opcija uključuje direktno 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 nedostaju wget i glow, oni će biti instalirani): tea + gnu.org/wget wget -qO- https:///tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - ili možete koristiti jednostavniju sintaksu: tea -X wget -qO- tea.xyz/white-paper | čaj -X sjaj —

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

Kako ne bi svaki put pozivali komandu tea, moguće je povezati je kao univerzalni menadžer virtuelnih okruženja i rukovalac za programe koji nedostaju. U tom slučaju, ako pokrenuti program nije dostupan, on će biti instaliran, a ako je prethodno instaliran, biće pokrenut u svom okruženju. $ deno zsh: komanda 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 su sakupljeni u dvije kolekcije - pantry.core i pantry.extra, koje uključuju metapodatke koji opisuju izvore preuzimanja paketa, skripte za izgradnju i zavisnosti. Kolekcija pantry.core uključuje glavne biblioteke i uslužne programe, koje se ažuriraju i testiraju od strane Tea programera. Pantry.extra sadrži pakete koji nisu dovoljno stabilizirani ili koje su predložili članovi zajednice. Za navigaciju kroz pakete postoji web sučelje.

Proces kreiranja paketa za Tea je znatno pojednostavljen i svodi se na kreiranje jedne univerzalne datoteke package.yml (primjer), koja ne zahtijeva prilagođavanje paketa za svaku novu verziju. Paket se može povezati na GitHub kako bi otkrio nove verzije i preuzeo njihov kod. Datoteka također opisuje zavisnosti i pruža skripte za izgradnju za podržane platforme. Instalirane zavisnosti su nepromjenjive (verzija je fiksna), što eliminira ponavljanje situacija sličnih incidentu s lijevom podlogom.

U budućnosti se planira kreiranje decentralizovanih repozitorija koji nisu vezani ni za jednu posebnu pohranu i koriste distribuirani blockchain za metapodatke, te decentraliziranu infrastrukturu za pohranu paketa. Izdanja će biti certificirana direktno od strane održavatelja i pregledana od strane zainteresiranih strana. Moguće je distribuirati tokene kriptovalute za doprinos održavanju, podršci, distribuciji i verifikaciji paketa.

kreator piva razvija novi menadžer paketa čaja


izvor: opennet.ru

Dodajte komentar