մաքուր::տարբերակներ – Միակցիչ համար
Աղբյուրի կոդի կառավարման ձեռնարկ
Parametric Technology GmbH
6.0.7.685 տարբերակը մաքուր::տարբերակներ 6.0-ի համար
Հեղինակային իրավունք © 2003-2024 Parametric Technology GmbH
2024
Ներածություն
Pure::variants Միակցիչը աղբյուրի կոդերի կառավարման համար (Connector) թույլ է տալիս ծրագրավորողներին կառավարել աղբյուրի կոդերի փոփոխականությունը՝ օգտագործելով մաքուր::տարբերակներ: Pure::variants-ի Source Code Management-ը ճկուն հնարավորություն է տալիս համաժամեցնել գրացուցակի կառուցվածքները և սկզբնական կոդը: fileհեշտ է մաքուր::variants մոդելներով: Այսպիսով, տարբերակների կառավարումը կարող է կիրառվել նույնիսկ բարդ ծրագրային նախագծերի համար: Ավելին, մաքուր::տարբերակների գործառույթների և սկզբնական կոդի միջև կապերը կարող են ավելի հեշտ կառավարվել շինարարի հետ և շատ հասանելի են Աղբյուրի կոդերի կառավարման միջոցով:
1.1. Ծրագրային ապահովման պահանջներ
Մաքուր::variants միակցիչը աղբյուրի կոդերի կառավարման համար ընդլայնում է մաքուր::տարբերակների համար և հասանելի է բոլոր աջակցվող հարթակներում:
1.2. Տեղադրում
Խնդրում ենք ծանոթանալ մաքուր::variants Միակցիչների բաժնին pure::variants Setup Guide-ում, մանրամասն տեղեկությունների համար, թե ինչպես տեղադրել միակցիչը (մենյու Help -> Help Contents և ապա pure::variants Setup Guide -> pure::variants Միակցիչներ):
1.3. Այս ձեռնարկի մասին
Ակնկալվում է, որ ընթերցողն ունենա հիմնական գիտելիքներ և փորձառություններ մաքուր::տարբերակների վերաբերյալ: Խնդրում ենք ծանոթանալ դրա ներածական նյութին, նախքան այս ձեռնարկը կարդալը: Ձեռնարկը հասանելի է առցանց օգնության, ինչպես նաև տպագրվող PDF ձևաչափով այստեղ:
Օգտագործելով միակցիչ
2.1. Սկսած մաքուր::տարբերակներ
Կախված տեղադրման եղանակից, կա՛մ սկսեք մաքուր::variants միացված Eclipse-ը, կա՛մ Windows-ի տակ ծրագրի ընտրացանկից ընտրեք մաքուր::variants տարրը:
Եթե Variant Management հեռանկարը դեռ ակտիվացված չէ, դա արեք՝ ընտրելով այն Open Perspective->Other… պատուհանի ընտրացանկում:
2.2. Ներմուծեք գրացուցակի ծառը ընտանեկան մոդելի մեջ
Նախքան տեղեկատուի ծառը ընտանեկան մոդել ներմուծելը, պետք է ստեղծվի տարբերակների նախագիծ: Նաև խորհուրդ է տրվում ունենալ առանձնահատկություններ արդեն սահմանված Feature Model-ում: Այս քայլերի վերաբերյալ օգնության համար դիմեք մաքուր::variants փաստաթղթերին:
Փաստացի ներմուծումը սկսվում է՝ ընտրելով Ներմուծում… գործողությունը կամ Ծրագրերի համատեքստի ընտրացանկից view կամ Ներմուծում… մենյուով File մենյու. Ընտրեք Տարբերակային մոդելներ կամ Նախագծեր Տարբերակների կառավարում կատեգորիայից և սեղմեք Հաջորդը: Հաջորդ էջում ընտրեք Ներմուծեք ընտանեկան մոդելը աղբյուրի թղթապանակներից և կրկին սեղմեք Հաջորդը:
Ներմուծելու համար ընտրեք սկզբնաղբյուրի տեսակը
Ներմուծման հրաշագործը հայտնվում է (տե՛ս Նկար 1, «Ներմուծման հրաշագործի էջը՝ ընտրելու ելակետային կոդի տեսակը, որը կարող է ներմուծվել»): Ներմուծելու համար ընտրեք նախագծի տեսակը և սեղմեք Հաջորդը: Յուրաքանչյուր տեսակ պարունակում է նախապես սահմանված մի շարք file մոդելի ներմուծման տեսակները:
Նկար 1. Ներմուծման հրաշագործի էջ՝ ընտրելու ելակետային կոդի տեսակը, որը կարող է ներմուծվելԸնտրեք Աղբյուր և թիրախ
Հաջորդ կախարդի էջում (Նկար 2, «Ներմուծման հրաշագործի էջ՝ ներմուծման աղբյուրը և թիրախը ընտրելու համար») պետք է նշվեն աղբյուրի գրացուցակը և թիրախային մոդելը:
Սեղմեք Թերթել… կոճակը՝ ընտրելու այն գրացուցակը, որտեղ առկա է սկզբնական կոդը, որը պետք է ներմուծվի: Լռելյայնորեն ընթացիկ աշխատանքային տարածքն ընտրված է, քանի որ սա կարող է օգտակար կետ լինել նավարկելու համար:
Ստորև կարող եք նշել ներառել և բացառել օրինակը: Այս օրինաչափությունները պետք է լինեն java-ի կանոնավոր արտահայտություններ: Յուրաքանչյուր մուտքագրման ուղի, համեմատած սկզբնաղբյուրի արմատային թղթապանակի հետ, ստուգվում է այս օրինակով: Եթե ներառման ձևանմուշը համընկնում է, թղթապանակը ներմուծվում է, եթե բացառման նախշը չի համընկնում: Նշանակում է ներառման ձևանմուշը նախապես ընտրում է ներմուծման համար նախատեսված թղթապանակները, բացառման ձևանմուշը սահմանափակում է այս նախնական ընտրությունը:
Աղբյուրի կոդը ընտրելուց հետո պետք է սահմանվի թիրախային մոդել: Հետևաբար ընտրեք տարբերակային նախագիծ կամ թղթապանակ, որտեղ մոդելը պետք է պահվի և մուտքագրեք մոդելի անունը: Այն file անունը ընդլայնվում է ավտոմատ կերպով .ccfm ընդլայնմամբ, եթե այն տրված չէ այս երկխոսության մեջ: Լռելյայնորեն այն սահմանվելու է նույն անունով, ինչ մոդելի անունը: Սա առաջարկվող կարգավորումն է:
Նպատակահարմար աղբյուրի թղթապանակը և ցանկալի մոդելի անվանումը նշելուց հետո երկխոսությունը կարող է ավարտվել՝ սեղմելով Ավարտել: Եթե սեղմված է «Հաջորդ» կոճակը, բացվում է նոր էջ, որտեղ կարող են կատարվել լրացուցիչ կարգավորումներ:
Նկար 2. Ներմուծման հրաշագործի էջ՝ ներմուծման աղբյուրը և թիրախը ընտրելու համարՓոխել ներմուծման նախապատվությունները
Վերջին հրաշագործի էջում (Նկար 3, «Ներմուծման հրաշագործի էջ՝ անհատական կոնֆիգուրացիա սահմանելու համար») կան նախապատվություններ, որոնք կարելի է անել ներմուծված ծրագրային նախագծի համար ներմուծման վարքագիծը հարմարեցնելու համար:
Երկխոսության էջը ցույց է տալիս աղյուսակ, որտեղ file Սահմանված են տեսակներ, որոնք կդիտարկվեն ներմուծման գործընթացում։
Յուրաքանչյուր տող բաղկացած է չորս դաշտից:
- Նկարագրություն դաշտը պարունակում է կարճ նկարագրական տեքստ՝ նույնականացնելու համար file տեսակը.
- Այն File Ընտրելու համար օգտագործվում է անվան ձևաչափի դաշտը files-ը պետք է ներմուծվի, երբ դրանք համապատասխանեն դաշտերի արժեքին: Դաշտը օգտագործում է հետևյալ շարահյուսությունը.
- Ամենատարածված օգտագործման դեպքը կարող է լինել ա file երկարաձգում։ Սովորական շարահյուսությունը .EXT է, որտեղ EXT-ը ցանկալին է file ընդլայնում (օրինակ՝ .java):
- Մեկ այլ ընդհանուր իրավիճակ հատուկ է file, մակնիշի նմանfile. Հետևաբար, հնարավոր է ճշգրիտ համընկնում file անունը։ Դա անելու համար պարզապես մուտքագրեք file անվանել դաշտում (օրինակ՝ build.xml):
- Որոշ դեպքերում քարտեզագրման ցանկությունները ավելի կոնկրետ են, ուստի միայն fileԱյն, որոնք համապատասխանում են հատուկ օրինակին, պետք է ներմուծվեն: Այս պահանջին համապատասխանելու համար հնարավոր է օգտագործել կանոնավոր արտահայտություններ File անվանման օրինաչափության դաշտ:
Կանոնավոր արտահայտությունների շարահյուսությունը նկարագրելը կգերազանցի այս օգնության նպատակը: Խնդրում ենք ծանոթանալ տեղեկանքի գլխի կանոնավոր արտահայտությունների բաժինը մաքուր::տարբերակներ օգտագործողի ուղեցույցում (օրինակ՝ .*):
- Mapped element type դաշտը սահմանում է քարտեզագրումը a file տեսակ և մաքուր::variants ընտանիքի տարրի տեսակ: Ընտանիքի տարրի տեսակը աղբյուրի նկարագրիչ է file ներմուծված մոդելի քարտեզագրված տարրին լրացուցիչ տեղեկատվություն տրամադրելու համար: Տիպիկ ընտրանքներն են ps:class կամ ps:makefile.
- Քարտեզագրված file type դաշտը սահմանում է քարտեզագրումը a-ի միջև file տեսակ և մաքուր::տարբերակներ file տեսակը։ Այն file type in pure::variants-ը սկզբնաղբյուրի նկարագրիչ է file ներմուծված մոդելի քարտեզագրված տարրին լրացուցիչ տեղեկատվություն տրամադրելու համար: Տիպիկ ընտրությունը ներառում է իրագործման համար կամ սահմանում՝ սահմանման համար files.
Նկար 3. Ներմուծման հրաշագործի էջ՝ անհատական կոնֆիգուրացիա սահմանելու համարՆոր file տեսակները կարող են ավելացվել՝ օգտագործելով «Ավելացնել քարտեզագրում» կոճակը: Բոլոր դաշտերը լրացվում են չսահմանված արժեքով և պետք է լրացվեն օգտագործողի կողմից: Դաշտում արժեքը խմբագրելու համար պարզապես մկնիկի օգնությամբ սեղմեք դաշտի մեջ: Արժեքը դառնում է խմբագրելի և կարող է փոխվել: Հնարավոր չէ փոխել լռելյայնը file աղյուսակի անունների նախշերը. Անհատականացումը ճկուն դարձնելու համար հնարավոր է ապաընտրել a file մուտքագրեք՝ հեռացնելով տողը: Ապաընտրված է file Անվան նախշերը մնում են կազմաձևում, բայց չեն օգտագործվի ներմուծողի կողմից: Օգտագործողի կողմից սահմանված է file տեսակները կարող են կրկին հեռացվել՝ օգտագործելով Remove Mapping կոճակը:
Լռելյայն այլ files file Անվան օրինակը հասանելի է աղյուսակում, բայց չընտրված է: Սովորաբար այն չի ցանկանում ներմուծել բոլորը files, բայց դա կարելի է հեշտությամբ փոխել՝ ընտրելով համապատասխան տողը:
Ներմուծման երեք ընդհանուր տարբերակ կա ներմուծողի վարքագիծը հարմարեցնելու համար:
- Մի ներմուծեք գրացուցակներ առանց համապատասխանության files (օրինակ՝ CVS դիրեկտորիաներ):
Եթե ներմուծողը գտնում է գրացուցակ, որտեղ համընկնում չկա file գտնվում է դրանում, և որտեղ ոչ մի ենթացանց չունի համապատասխանություն file, գրացուցակը չի ներմուծվի: Սա հաճախ օգտակար է, եթե նախագծերը կառավարվում են տարբերակների կառավարման համակարգերով, ինչպիսին է CVS-ը: CVS-ի համար յուրաքանչյուր համապատասխան գրացուցակ պարունակում է CVS գրացուցակ, որտեղ անտեղի է files պահվում են. Եթե ընտրված է այս տարբերակը և CVS-fileչեն համընկնում որևէ մեկի հետ file վերևում սահմանված տիպը, գրացուցակը որպես բաղադրիչ չի ներմուծվի ընտանեկան մոդել: - Տեսակավորել files և դիրեկտորիաներ:
Միացնել այս տարբերակը տեսակավորելու համար files և տեղեկատուներ՝ յուրաքանչյուրը այբբենական կարգով: - Ներմուծման ուղիների մշակում:
Հետագա համաժամացման համար ներմուծողը պետք է մոդելի մեջ պահի բոլոր ներմուծված տարրերի սկզբնական ուղին:
Շատ դեպքերում Ընտանեկան մոդելները կիսվում են այլ օգտատերերի հետ: Գրացուցակի կառուցվածքը կարող է տարբեր լինել յուրաքանչյուր օգտագործողի համար: Օգտագործման ամենատարածված սցենարներին աջակցելու համար ներմուծողը կարող է աշխատել տարբեր ռեժիմներով.
Բացարձակ | Ներմուծված տարրի բացարձակ ուղին կպահվի մոդելում: Հետագայում համաժամացման և վերափոխման ընթացքում files-ը պետք է տեղադրվի ճիշտ նույն տեղում, ինչ առաջին ներմուծման ժամանակ: |
Աշխատանքային տարածքի համեմատ | Ճանապարհները պահվում են աշխատանքային տարածքի թղթապանակի համեմատ: Համաժամացման համար files-ը պետք է լինի Eclipse աշխատանքային տարածքի մի մասը: Փոխակերպումը պետք է օգտագործի Eclipse աշխատանքային տարածքը որպես մուտքագրման գրացուցակ: |
Նախագծի համեմատ | Ճանապարհները պահվում են նախագծի համեմատ: Համաժամացման համար files-ը Eclipse-ի ներսում նախագծի մի մասն է: Փոխակերպումը պետք է օգտագործի նախագծի թղթապանակը որպես մուտքագրման գրացուցակ: |
Ճանապարհի համեմատ | Ճանապարհները պահվում են տվյալ ուղու համեմատ: Համաժամացման համար fileդրանք պետք է տեղադրվեն ճիշտ նույն տեղում: Փոխակերպման մուտքագրման գրացուցակը նույնն է, ինչ ներմուծման ժամանակ հարաբերական ուղին: |
Այս երկխոսության բոլոր նախապատվությունները մշտապես պահվում են: Անձնական կարգավորումները չպետք է վերափոխվեն ամեն անգամ, երբ ներմուծումն իրականացվում է: Սա հեշտ և արագ է դարձնում ներմուծման աշխատանքային հոսքը:
2.3. Մոդելների թարմացում տեղեկատու ծառից
Սեղմեք «Սինխրոնիզացնել» կոճակը ներմուծված մոդելը համաժամեցնել իր գրացուցակի ուղու հետ: Ծրագրի արմատային ուղին պահվում է մոդելում, այնպես որ այն կհամաժամեցվի նույն գրացուցակի հետ, ինչ նախկինում: Համաժամացման կոճակը միացնելու համար բացեք մոդելը և ընտրեք ցանկացած տարր: Համաժամեցում կոճակը սեղմելուց հետո բացվում է Համեմատել խմբագիր, որտեղ ներկա Ընտանեկան մոդելը և ընթացիկ գրացուցակի կառուցվածքի մոդելը հակադրվում են (տես Նկար 4, «Մոդելի թարմացում տեղեկատու ծառից՝ համեմատական խմբագրիչում»):
Գծապատկեր 4. Մոդելի թարմացում Directory Tree-ից Compare Editor-ում Համեմատելու խմբագիրն օգտագործվում է մաքուր::տարբերակներում մոդելի տարբերակները համեմատելու համար, սակայն այս դեպքում օգտագործվում է ֆիզիկական գրացուցակի կառուցվածքը (ցուցադրված է ներքևի աջ կողմում) ընթացիկ մաքուր::տարբերակներ մոդելի հետ համեմատելու համար (ներքևի ձախ կողմում): Բոլոր փոփոխությունները թվարկված են որպես առանձին տարրեր խմբագրի վերին մասում, որոնք դասավորված են ազդեցության ենթակա տարրերի կողմից:
Այս ցանկում որևէ տարր ընտրելը ընդգծում է երկու մոդելների համապատասխան փոփոխությունը: ՆախկինումampԲացի այդ, ավելացված տարրը նշվում է աջ կողմում գտնվող տուփով և կապված է ձախ կողմի մոդելում իր հնարավոր դիրքի հետ: Միաձուլման գործիքագոտին վերին և ստորին խմբագրիչի պատուհանների միջև տրամադրում է գործիքներ՝ մեկ կամ նույնիսկ բոլոր (ոչ հակասական) փոփոխություններն ամբողջությամբ պատճենելու համար՝ գրացուցակի ծառի մոդելից մինչև Feature Model:
Նշում
Համաժամացումը կատարվում է վերջին օգտագործված ներմուծողի կարգավորումներով: Սա հնարավորություն է տալիս թարմացնել մոդելը այլ կարգավորումներով, ինչպես արվել է ներմուծման ընթացքում:
Օգտագործելով Relation Indexer
Կոդերի կառավարման միակցիչը ուժեղացնում է հարաբերությունները View Pure::variants մոդելի տարրերի և սկզբնական կոդի միջև կապերի մասին տեղեկություններով: Հարաբերություններ են ավելացվել այն հատկանիշների համար, որոնք օգտագործվում են ps:condxml և ps:condtext տարրերի պայմաններում:
ps:flag-ի և ps:flag-ի համարfile տարրեր C/C++ աղբյուրում նախապրոցեսորային հաստատունների գտնվելու վայրը fileցուցադրվում են ս. Բացի այդ, ընտրված հատկանիշի համար ցուցադրվում են համապատասխան նախապրոցեսորային հաստատունների գտնվելու վայրը՝ օգտագործելով հատկանիշի եզակի անունների և նախապրոցեսորի հաստատունների միջև քարտեզագրումը:
3.1. Նախագծին հարաբերությունների ինդեքսատորի ավելացում
Հարաբերությունների ինդեքսատորը կարող է ակտիվացվել հատուկ նախագծի սեփականության էջում: Ընտրեք նախագիծը և ընտրեք «Հատկություններ» կետը համատեքստի ընտրացանկում: Առաջիկա երկխոսության մեջ ընտրեք Relation Indexer էջը:
Նկար 5. Ծրագրի հատկությունների էջ հարաբերությունների ինդեքսատորի համար
Հարաբերությունների ինդեքսատորն ակտիվացվում է նախագծի համար՝ ընտրելով Enable Relation Indexer տարբերակը (1): Ինդեքսատորը միացնելուց հետո կան ևս մի քանի տարբերակներ՝ նախագծի հատուկ վարքագիծը սահմանելու համար: Մաքուր::տարբերակներ Պայմանների և C/C++ նախնական պրոցեսորային հաստատունների ինդեքսավորումը կարելի է առանձին ակտիվացնել (2): Ցուցակը հետ file Անվան նախշերը (3) օգտագործվում է ընտրելու համար files ինդեքսավորման համար: Միայն fileՍկանավորվում են այնները, որոնք համապատասխանում են օրինաչափություններից մեկին: Ավելացրեք «*»-ը որպես օրինակ՝ բոլորը սկանավորելու համար fileնախագծի s.
Նախագծի համար ինդեքսատորն ակտիվացնելուց հետո նախագծին ավելացվում է շինարար: Այս շինարարական սկանավորումները փոխվել են files նոր հարաբերությունների համար մաքուր::variants մոդելի տարրերի ինքնաբերաբար:
3.2. Կապը աղբյուրի կոդի հետ
Ակտիվացված հարաբերությունների ինդեքսավորմամբ Relations-ը View պարունակում է լրացուցիչ գրառումներ: Այս գրառումները ցույց են տալիս անունը file և տարբերակի կետի տողի համարը: Գործիքի ծայրը ցույց է տալիս համապատասխան հատվածը file. Կրկնակի սեղմելով մուտքի վրա file կբացվի խմբագրի մեջ:
մաքուր::տարբերակներ Պայմաններ
Մաքուր::տարբերակներ պայմանը կարող է օգտագործվել a-ի բաժինները ներառելու կամ բացառելու համար file կախված առանձնահատկությունների ընտրությունից: Condition Indexer-ը սկանավորում է նման կանոնները և քաղում նշված հատկանիշները: Եթե խմբագրում ընտրված է նման հատկություն, ապա Relations View ցույց կտա բոլորը files և տողեր, որտեղ գտնվում է ընտրված հատկանիշով պայմանը (տես Նկար 6, «Պայմանի ներկայացում հարաբերություններում View»):
Նկար 6. Պայմանների ներկայացում հարաբերություններում ViewՊայմանները սահմանելու մասին մանրամասն բացատրություն ստանալու համար այցելեք մաքուր::տարբերակներ Օգտագործողի ուղեցույցի ps:condtext գլխի 9.5.7 բաժինը (Reference–> Predefined Source Element Types–> ps:condtext):
C/C++ Preprocessor Constants
C/C++ Preprocessor Indexer-ը սկանավորում է files հաստատունների համար, որոնք օգտագործվում են նախապրոցեսորի կանոններում (օրինակ՝ #ifdef, #ifndef, ...):
Եթե ps:flag կամ ps:flagfile տարրը ընտրված է Relations View ցույց է տալիս սահմանված նախապրոցեսորային հաստատունի օգտագործումը:
Հարաբերություններ View նաև ցույց է տալիս նախապրոցեսորի հաստատունները, որոնք կապված են առանձնահատկությունների հետ՝ օգտագործելով քարտեզագրման օրինաչափությունները: Դրա համար օրինաչափությունները ընդլայնվում են ընտրված հատկանիշի տվյալներով: Ստացված սիմվոլներն օգտագործվում են համապատասխան նախապրոցեսորի հաստատունների որոնման համար: Նկար 7, «C/C++ նախապրոցեսորային հաստատունի ներկայացումը հարաբերություններում View», ցույց է տալիս նախկինample օրինաչափության համբավով{Name}: Կաղապարն ընդլայնվել է հատկանիշի եզակի անունով՝ դառնալով fameNative: Ինդեքսավորված կոդում կա 76 տեղ, որտեղ օգտագործվում է նախապրոցեսորային հաստատուն fameNative-ը:
Այս վայրերը ցուցադրված են Հարաբերություններում View. Կաղապարները կարող են սահմանվել նախապատվություններում (տես Բաժին 3.3, «Նախապատվությունները»):
Նկար 7. C/C++ նախապրոցեսորային հաստատունի ներկայացում հարաբերություններում View
3.3. Նախապատվությունները
Ինդեքսատորի լռելյայն վարքագիծը փոխելու համար բացեք Eclipse-ի նախապատվությունները և ընտրեք Relation Indexer էջը Variant Management կատեգորիայում: Էջը ցույց է տալիս երկու ցուցակ:
Նկար 8. Relation Indexer Preference էջՎերին ցանկը պարունակում է լռելյայն file ինդեքսատորի նախշեր (1): Այս ցանկը օրինաչափության սկզբնական կարգավորումն է նոր միացված նախագծերի համար:
Ստորին ցանկը պարունակում է առանձնահատկությունների և նախապրոցեսորի հաստատունների միջև քարտեզագրում (2): Այս քարտեզագրումն օգտագործվում է բոլոր նախագծերի համար: Աղյուսակ 1, «Աջակցվող քարտեզագրման փոխարինումներ» ցույց է տալիս բոլոր հնարավոր փոխարինումները:
Աղյուսակ 1. Աջակցված քարտեզագրման փոխարինումներ
Wildcard | Նկարագրություն | Example: Առանձնահատկություն Ա |
Անուն | ընտրված հատկանիշի եզակի անունը | FLAG_{Name} – FLAG_FeatureA |
ԱՆՈՒՆ | Ընտրված հատկանիշի եզակի անվանումը մեծատառով | FLAG_{NAME} – FLAG_FEATUREA |
անունը | Ընտրված հատկանիշի փոքրատառ եզակի անունը | flag_{name} – flag_featurea |
Փաստաթղթեր / ռեսուրսներ
![]() |
pure-systems 2024 միակցիչ աղբյուրի կոդերի կառավարման ծրագրային ապահովման համար [pdf] Օգտագործողի ձեռնարկ 2024, 2024 Միակցիչ աղբյուրի կոդերի կառավարման ծրագրաշարի համար, միակցիչ աղբյուրի կոդերի կառավարման համար, աղբյուրի կոդերի կառավարման ծրագրակազմ, կառավարման ծրագրակազմ, ծրագրակազմ |