alaus kūrėjas sukuria naują arbatos pakuočių tvarkyklę

Populiarios macOS paketų valdymo sistemos brew („Homebrew“) autorius Maxas Howellas kuria naują paketų tvarkyklę „Tea“, kuri yra „brew“ kūrimo tęsinys, neapsiribojant paketų tvarkytuve ir siūlanti vieningą veikiančią paketų valdymo infrastruktūrą. su decentralizuotomis saugyklomis. Iš pradžių projektas kuriamas kaip kelių platformų projektas (šiuo metu palaikomos „macOS“ ir „Linux“, kuriamas „Windows“ palaikymas). Projekto kodas parašytas TypeScript ir platinamas pagal Apache 2.0 licenciją (brew buvo parašytas Ruby ir platinamas pagal BSD licenciją).

Arbata konceptualiai nepanaši į tradicines paketų tvarkykles ir vietoj „noriu įdiegti paketą“ paradigmos naudoja paradigmą „noriu naudoti paketą“. Konkrečiai, Tea neturi komandos įdiegti paketą kaip tokį, bet naudoja aplinkos generavimą, kad paleistų paketo turinį, kuris nesutampa su dabartine sistema. Paketai dedami į atskirą ~/.tea katalogą ir nėra susieti su absoliučiais keliais (juos galima perkelti).

Numatyti du pagrindiniai veikimo režimai: eiti į komandų apvalkalą su prieiga prie aplinkos su įdiegtais paketais ir tiesiogiai iškviesti su paketu susijusias komandas. Pavyzdžiui, vykdant „tea +gnu.org/wget“, paketų tvarkyklė atsisiųs wget įrankį ir visas būtinas priklausomybes, o tada suteiks apvalkalo prieigą aplinkoje, kurioje yra įdiegta wget programa. Antroji parinktis apima tiesioginį paleidimą - „tea +gnu.org/wget wget https://some_webpage“, kurioje wget programa bus įdiegta ir nedelsiant paleista atskiroje aplinkoje. Galima sudaryti sudėtingas grandines, pavyzdžiui, atsisiųsti white-paper.pdf failą ir apdoroti jį su glow programa, galite naudoti tokią konstrukciją (jei trūksta wget ir glow, jie bus įdiegti): arbata + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | arbata +charm.sh/glow glow – arba galite naudoti paprastesnę sintaksę: tea -X wget -qO- tea.xyz/white-paper | arbata -X švytėjimas -

Panašiu būdu galite tiesiogiai paleisti scenarijus, kodo pavyzdžius ir vieno eilutes, automatiškai įkeldami įrankius, reikalingus jų veikimui. Pavyzdžiui, paleidus „tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow“, bus įdiegtas „Go“ įrankių rinkinys ir paleistas scenarijus colours.go su argumentu „-yellow“.

Kad arbatos komanda neiškviestų kiekvieną kartą, ją galima prijungti kaip universalų virtualių aplinkų tvarkyklę ir trūkstamų programų tvarkyklę. Tokiu atveju, jei veikiančios programos nėra, ji bus įdiegta, o jei buvo įdiegta anksčiau, ji bus paleista savo aplinkoje. $ deno zsh: komanda nerasta: deno $ cd mano projektas $ deno tea: diegiama deno.land^1.22 deno 1.27.0 > ^D

Dabartinės formos „Tea“ paketai yra renkami į dvi kolekcijas – pantry.core ir pantry.extra, kurios apima metaduomenis, apibūdinančius paketų atsisiuntimo šaltinius, kūrimo scenarijus ir priklausomybes. Pantry.core kolekcijoje yra pagrindinės bibliotekos ir komunalinės paslaugos, atnaujinamos ir išbandytos arbatos kūrėjų. Pantry.extra yra paketų, kurie nėra pakankamai stabilizuoti arba kuriuos siūlo bendruomenės nariai. Pateikiama žiniatinklio sąsaja, skirta naršyti po paketus.

„Tea“ paketų kūrimo procesas yra labai supaprastintas ir sukuriamas vienas universalus paketas.yml failas (pavyzdys), kuriam nereikia pritaikyti paketo kiekvienai naujai versijai. Paketas gali susieti su „GitHub“, kad atrastų naujas versijas ir atsisiųstų jų kodą. Failas taip pat aprašo priklausomybes ir pateikia palaikomų platformų kūrimo scenarijus. Įdiegtos priklausomybės yra nekintamos (versija yra fiksuota), o tai pašalina situacijų, panašių į kairiojo bloknoto incidentą, pasikartojimą.

Ateityje planuojama sukurti decentralizuotas saugyklas, kurios nebūtų susietos su jokia atskira saugykla ir naudotų paskirstytą blokų grandinę metaduomenims bei decentralizuotą infrastruktūrą paketams saugoti. Leidimus tiesiogiai sertifikuos prižiūrėtojai ir peržiūrės suinteresuotosios šalys. Galima platinti kriptovaliutų žetonus už įnašus į paketų priežiūrą, palaikymą, platinimą ir tikrinimą.

alaus kūrėjas sukuria naują arbatos pakuočių tvarkyklę


Šaltinis: opennet.ru

Добавить комментарий