Facebook on avanud DotSlashi projekti koodi

Facebook teatas avatud lähtekoodiga dotslashist, käsurea utiliidist, mis on loodud erinevate platvormide jaoks käivitatavate failide komplekti levitamise hõlbustamiseks. Utiliit on loodud skriptide käitamiseks, mis automatiseerivad praegusele platvormile sobiva käivitatava faili allalaadimise, kontrollides selle terviklikkust ja täitmist. Utiliidi kood on kirjutatud Rusti keeles ja seda levitatakse MIT ja Apache 2.0 litsentside all.

Utiliit lahendab praegusel platvormil käivitatavate täitmisfailide käivitamisel sarnaseid shelliskriptidega probleeme, kuid samal ajal välistab vajaduse lisada paketti kõigi toetatud platvormide täitmisfailid. DotSlash võimaldab ka salvestada kogutud käivitatavate failide kohta teavet hoidlas koos koodiga, paigutades samal ajal failid eraldi alglaadimisserveritesse, mis väldib hoidla suuruse kasvu ja vähendab sisend/väljundsüsteemi koormust täitmisel. kloonimise operatsioonid.

DotSlashi kasutamisel asendatakse platvormipõhiste käivitatavate failide komplekt ühe skriptiga, mis sisaldab käivitatava faili valimise loogika kirjeldust seoses toetatud platvormidega. Pärast DotSlash-skripti käivitamist laaditakse praeguse platvormi jaoks vajalik käivitatav fail dünaamiliselt alla, pakitakse lahti, kontrollitakse krüptograafilise räsi alusel ja salvestatakse kohalike vahemällu järgmisteks käitamisteks. Failid edastatakse tihendatud kujul. DotSlashi skripte saab automaatselt genereerida GitHubis avaldatud väljaannete jaoks.

Näide DotSlash-skriptist Node.js 18.19.0 järge levitamiseks platvormidele macOS ARM64, macOS x86_64 ja Linux x86_64: #!/usr/bin/env dotslash { "nimi": "node-v18.19.0", " platvormid”: { "macos-aarch64": { "suurus": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ffc "556347"c3",98 "tee": " node- v347 -darwin-arm34/bin/node", "pakkujad": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin-arm18.19.0. tar.gz" } ] }, "macos-x18.19.0_64": { "suurus": 86, "räsi": "blake64", "digest": "42202872e3f37521058114e7de71fe0c3fa8042e8c7908305fa9115488e6fc29c514b9atfc2 : "tar.gz", "tee" : "node-v24 .18.19.0-darwin-x64/bin/node", "pakkujad": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin- x64.tar.gz " } ] }, "linux-x86_64": { "suurus": 44694523, "räsi": "blake3", "digest": "72b81fc3a30b7bedc1a09a3fafc4478a1b02dd5b0effa04b15d23" at": "tar.gz", " path ": "node -v3-linux-x9/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v89212/node-v18.19.0- linux-x64.tar .gz" } ] } } }

Allikas: opennet.ru

Lisa kommentaar