Facebook ir atvēris DotSlash projekta kodu

Facebook paziņoja par atvērtā avota dotslash, komandrindas utilīta, kas paredzēta, lai atvieglotu izpildāmo failu kopas izplatīšanu dažādām platformām. Lietderība ir paredzēta skriptu palaišanai, kas automatizē pašreizējai platformai piemērota izpildāmā faila lejupielādi, pārbaudot tā integritāti un izpildi. Lietderības kods ir rakstīts Rust un tiek izplatīts saskaņā ar MIT un Apache 2.0 licencēm.

Lietderība atrisina problēmas, kas ir līdzīgas čaulas skriptiem, lai palaistu izpildāmos failus pašreizējā platformā, taču tajā pašā laikā tiek novērsta nepieciešamība pakotnē iekļaut izpildāmos failus visām atbalstītajām platformām. DotSlash arī ļauj repozitorijā kopā ar kodu glabāt informāciju par savāktajiem izpildāmajiem failiem, vienlaikus ievietojot pašus failus atsevišķos sāknēšanas serveros, kas ļauj izvairīties no repozitorija lieluma pieauguma un samazina ievades/izvades sistēmas slodzi izpildes laikā. klonēšanas operācijas.

Izmantojot DotSlash, platformai raksturīgo izpildāmo failu kopa tiek aizstāta ar vienu skriptu, kas ietver izpildāmā faila atlases loģikas aprakstu saistībā ar atbalstītajām platformām. Pēc DotSlash skripta palaišanas pašreizējai platformai nepieciešamais izpildāmais fails tiek dinamiski lejupielādēts, izsaiņots, pārbaudīts pret kriptogrāfisko jaucējkodu un saglabāts vietējā kešatmiņā turpmākajām palaišanas reizēm. Faili tiek pārsūtīti saspiestā veidā. DotSlash skriptus var ģenerēt automātiski GitHub publicētajiem laidieniem.

DotSlash skripta piemērs Node.js 18.19.0 būvējumu izplatīšanai macOS ARM64, macOS x86_64 un Linux x86_64 platformām: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ platformas: { "macos-aarch64": { "izmērs": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ffc "556347atzc3",98 "ceļš": " node- v347 -darwin-arm34/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin-arm18.19.0. tar.gz" } ] }, "macos-x18.19.0_64": { "izmērs": 86, "hash": "blake64", "digest": "42202872e3f37521058114e7de71fe0c3fa8042e8c7908305fa9115488e6c29c514b9fc2 : "tar.gz", "ceļš" : "node-v24 .18.19.0-darwin-x64/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin- x64.tar.gz " } ] }, "linux-x86_64": { "izmērs": 44694523, "hash": "blake3", "digest": "72b81fc3a30b7bedc1a09a3fafc4478a1b02d5b0b04b15b23dc3b at": "tar.gz", " ceļš ": "node -v9-linux-x89212/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64- linux-x18.19.0.tar .gz" } ] } } }

Avots: opennet.ru

Pievieno komentāru