Brew Creator-ը մշակում է թեյի փաթեթավորման նոր մենեջեր

Մաքս Հաուելը, հանրահայտ macOS փաթեթների կառավարման համակարգի պատրաստման (Homebrew) հեղինակը մշակում է նոր փաթեթի մենեջեր, որը կոչվում է Tea, որը դիրքավորվում է որպես եփուկի զարգացման շարունակություն՝ դուրս գալով փաթեթների կառավարիչից և առաջարկելով փաթեթների կառավարման միասնական ենթակառուցվածք, որն աշխատում է: ապակենտրոնացված պահոցներով: Նախագիծն ի սկզբանե մշակվում է որպես բազմահարթակ նախագիծ (այժմ աջակցվում են macOS-ը և Linux-ը, Windows-ի աջակցությունը մշակման փուլում է): Ծրագրի կոդը գրված է TypeScript-ով և տարածվում է Apache 2.0 լիցենզիայի ներքո (brew-ը գրվել է Ruby-ով և տարածվել է BSD լիցենզիայի ներքո):

Թեյը կոնցեպտուալ առումով նման չէ ավանդական փաթեթների կառավարիչներին և «Ես ուզում եմ տեղադրել փաթեթ» պարադիգմի փոխարեն այն օգտագործում է «Ես ուզում եմ օգտագործել փաթեթ» պարադիգմը: Մասնավորապես, Tea-ն փաթեթը որպես այդպիսին տեղադրելու հրաման չունի, այլ դրա փոխարեն օգտագործում է միջավայրի ստեղծում՝ փաթեթի բովանդակությունը գործարկելու համար, որը չի համընկնում ընթացիկ համակարգի հետ: Փաթեթները տեղադրվում են առանձին ~/.tea գրացուցակում և կապված չեն բացարձակ ուղիների հետ (դրանք կարող են տեղափոխվել):

Գործողության երկու հիմնական եղանակ է տրամադրվում՝ մուտք դեպի հրամանի վահանակ՝ տեղադրված փաթեթներով միջավայր մուտք գործելու համար և ուղղակիորեն զանգահարում փաթեթի հետ կապված հրամաններ: Օրինակ, «tea +gnu.org/wget» գործարկելիս փաթեթի կառավարիչը կներբեռնի wget կոմունալ ծրագիրը և բոլոր անհրաժեշտ կախվածությունները, այնուհետև կապահովի կեղևի հասանելիություն այն միջավայրում, որտեղ հասանելի է տեղադրված wget կոմունալը: Երկրորդ տարբերակը ներառում է ուղղակի գործարկում՝ «tea +gnu.org/wget wget https://some_webpage», որում wget կոմունալը կտեղադրվի և անմիջապես կգործարկվի առանձին միջավայրում: Հնարավոր է բարդ շղթաներ կազմել, օրինակ՝ white-paper.pdf ֆայլը ներբեռնելու և այն հղկվող կոմունալով մշակելու համար, կարող եք օգտագործել հետևյալ կառուցվածքը (եթե wget-ը և փայլը բացակայում են, դրանք կտեղադրվեն). gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | թեյ +charm.sh/glow glow - կամ կարող եք օգտագործել ավելի պարզ շարահյուսություն՝ tea -X wget -qO- tea.xyz/white-paper | թեյ -X փայլ —

Նմանապես, դուք կարող եք ուղղակիորեն գործարկել սկրիպտներ, կոդերի օրինակներ և մեկ գծեր՝ ավտոմատ կերպով բեռնելով դրանց գործարկման համար անհրաժեշտ գործիքները: Օրինակ՝ «tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow»-ի գործարկումը կտեղադրի Go Toolkit-ը և կկատարվի Colors.go սկրիպտը՝ «-yellow» արգումենտով:

Որպեսզի ամեն անգամ չանչեք թեյի հրամանը, հնարավոր է միացնել այն որպես վիրտուալ միջավայրերի ունիվերսալ կառավարիչ և բացակայող ծրագրերի մշակող։ Այս դեպքում, եթե գործող ծրագիրը հասանելի չէ, այն կտեղադրվի, իսկ եթե նախկինում տեղադրվել է, կգործարկվի իր միջավայրում։ $ deno zsh. հրամանը չի գտնվել. deno $ cd my-project $ deno tea. տեղադրում է deno.land^1.22 deno 1.27.0 > ^D

Իր ներկայիս տեսքով, Tea-ի համար հասանելի փաթեթները հավաքվում են երկու հավաքածուում՝ pantry.core և pantry.extra, որոնք ներառում են մետատվյալներ, որոնք նկարագրում են փաթեթի ներբեռնման աղբյուրները, build-ի սցենարները և կախվածությունները: Pantry.core հավաքածուն ներառում է հիմնական գրադարաններն ու կոմունալ ծառայությունները, որոնք թարմացված են և փորձարկված Tea-ի մշակողների կողմից: Pantry.extra-ն պարունակում է փաթեթներ, որոնք բավականաչափ կայունացված չեն կամ առաջարկված են համայնքի անդամների կողմից: Փաթեթների միջով նավարկելու համար տրամադրվում է վեբ ինտերֆեյս:

Tea-ի համար փաթեթներ ստեղծելու գործընթացը շատ պարզեցված է և հանգում է մեկ ունիվերսալ package.yml ֆայլի ստեղծմանը (օրինակ), որը չի պահանջում փաթեթի հարմարեցում յուրաքանչյուր նոր տարբերակի համար: Փաթեթը կարող է կապվել GitHub-ին՝ նոր տարբերակները հայտնաբերելու և դրանց կոդը ներբեռնելու համար: Ֆայլը նաև նկարագրում է կախվածությունները և տրամադրում է կառուցման սցենարներ աջակցվող հարթակների համար: Տեղադրված կախվածությունները անփոփոխ են (տարբերակը ֆիքսված է), ինչը վերացնում է ձախ ներդիրի միջադեպի նման իրավիճակների կրկնությունը։

Ապագայում նախատեսվում է ստեղծել ապակենտրոնացված պահոցներ, որոնք կապված չեն որևէ առանձին պահեստի հետ և կօգտագործեն բաշխված բլոկչեյն՝ մետատվյալների համար, և ապակենտրոնացված ենթակառուցվածք՝ փաթեթների պահպանման համար։ Թողարկումները կհավաստագրվեն անմիջականորեն սպասարկողների կողմից և կվերանայվեն շահագրգիռ կողմերի կողմից: Հնարավոր է բաշխել կրիպտոարժույթի նշաններ փաթեթների պահպանման, աջակցության, բաշխման և ստուգման համար ներդրումների համար:

Brew Creator-ը մշակում է թեյի փաթեթավորման նոր մենեջեր


Source: opennet.ru

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