pure::variants – Конектор за
Ръководство за управление на изходния код
Parametric Technology GmbH
Версия 6.0.7.685 за чисти::варианти 6.0
Авторско право © 2003-2024 Parametric Technology GmbH
2024
Въведение
pure::variants Connector за управление на изходния код (Connector) позволява на разработчиците да управляват променливостта на изходния код с помощта на pure::variants. Управлението на изходния код на pure::variants предоставя гъвкава възможност за синхронизиране на структури на директории и изходен код fileе лесно с модели pure::variants. По този начин управлението на варианти може да се приложи дори към сложни софтуерни проекти. Освен това връзките между функциите на чисти::варианти и изходния код могат да се управляват по-лесно с компилатора и са много достъпни чрез управлението на изходния код.
1.1. Софтуерни изисквания
Конекторът pure::variants за управление на изходния код е разширение за pure::variants и се предлага на всички поддържани платформи.
1.2. Монтаж
Моля, направете справка с раздел pure::variants Конектори в pure::variants Ръководството за настройка за подробна информация как да инсталирате конектора (меню Помощ -> Помощно съдържание и след това pure::variants Ръководство за настройка -> pure::variants Конектори).
1.3. Относно това ръководство
От читателя се очаква да има основни познания и опит с чисти::варианти. Моля, консултирайте се с уводния материал, преди да прочетете това ръководство. Ръководството е достъпно в онлайн помощ, както и в PDF формат за печат тук.
Използване на конектор
2.1. Стартиране на чисти::варианти
В зависимост от използвания метод на инсталиране или стартирайте Eclipse с активиран pure::variants, или под Windows изберете елемента pure::variants от менюто на програмата.
Ако перспективата за управление на варианти все още не е активирана, направете го, като я изберете от Open Perspective->Other… в менюто Window.
2.2. Импортирайте дърво на директории в семеен модел
Преди да импортирате дърво на директории в семеен модел, трябва да се създаде проект за варианти. Също така е препоръчително функциите вече да са дефинирани в модел на функции. Моля, консултирайте се с документацията на pure::variants за помощ относно тези стъпки.
Действителното импортиране се стартира чрез избиране на действието Импортиране… в контекстното меню на Проектите view или с менюто Импортиране… в File меню. Изберете Вариантни модели или проекти от категория Управление на варианти и натиснете Напред. На следващата страница изберете Импортиране на семеен модел от изходни папки и натиснете отново Напред.
Изберете тип изходен код за импортиране
Появява се съветникът за импортиране (вижте Фигура 1, „Страница на съветника за импортиране за избор на типа изходен код, който може да бъде импортиран“). Изберете тип проект за импортиране и натиснете Напред. Всеки тип съдържа предварително дефиниран набор от file типове за импортиране в модела.
Фигура 1. Страница на съветника за импортиране за избор на типа изходен код, който може да бъде импортиранИзберете Източник и Цел
На следващата страница на съветника (Фигура 2, „Страница на съветника за импортиране за избор на източника и целта за импортиране“) директорията източник и целевият модел трябва да бъдат посочени.
Натиснете бутона Преглед…, за да изберете директорията, където съществува изходният код, който трябва да бъде импортиран. По подразбиране текущото работно пространство е избрано, защото това може да е полезна точка за започване на навигация.
По-долу можете да посочите модел за включване и изключване. Тези шаблони трябва да са регулярни изрази на Java. Всеки входен път, спрямо изходната главна папка, се проверява с този модел. Ако шаблонът за включване съвпада, се импортира папка, ако шаблонът за изключване не съвпада. Което означава, че шаблонът за включване предварително избира папките за импортиране, моделът за изключване ограничава този предварителен избор.
След като изберете директорията на изходния код, трябва да се дефинира целеви модел. Затова изберете вариантен проект или папка, където да се съхранява моделът, и въведете име на модела. The file името се разширява автоматично с разширението .ccfm, ако не е дадено в този диалогов прозорец. По подразбиране ще бъде зададено същото име като името на самия модел. Това е препоръчителната настройка.
След като са посочени целесъобразна папка източник и желаното име на модел, диалоговият прозорец може да бъде завършен с натискане на Finish. Ако се натисне бутонът Напред, ще се появи друга страница, където могат да се направят допълнителни настройки.
Фигура 2. Страница на съветника за импортиране за избор на източника и целта за импортиранеПромяна на предпочитанията за импортиране
На последната страница на съветника (Фигура 3, „Страница на съветника за импортиране за дефиниране на индивидуална конфигурация”) има предпочитания, които могат да бъдат направени, за да персонализирате поведението при импортиране за импортирания софтуерен проект.
Диалоговата страница показва таблица, където file са определени типове, които ще бъдат взети предвид от процеса на импортиране.
Всеки ред се състои от четири полета.
- Полето Описание съдържа кратък описателен текст за идентифициране на file тип.
- The File полето за модел на име се използва за избор fileда бъдат импортирани, когато съответстват на стойността на полетата. Полето използва следния синтаксис:
- Най-честият случай на употреба може да бъде a file разширение. Обичайният синтаксис е .EXT, където EXT е желаното file разширение (напр. .java).
- Друга често срещана ситуация е специална file, като маркаfile. Следователно е възможно да се съпостави точно file име. За да направите това, просто въведете file име в полето (напр. build.xml).
- В някои случаи желанията за картографиране са по-специфични, така че само fileкоито съответстват на специален шаблон, трябва да бъдат импортирани. За да се изпълни това изискване е възможно да се използват регулярни изрази в File поле за модел на име.
Описването на синтаксиса на регулярните изрази би надхвърлило целта на тази помощ. Моля, направете справка с раздела за регулярни изрази в референтната глава в ръководството за потребителя pure::variants (напр. .*).
- Полето Mapped element type задава съпоставянето между a file тип и тип елемент на семейство pure::variants. Типът елемент на семейството е дескриптор за източника file за предоставяне на допълнителна информация на картографирания елемент в импортирания модел. Типичните селекции са ps:class или ps:makefile.
- Картографираният file тип поле задава съпоставянето между a file тип и чисти::варианти file тип. The file type in pure::variants е дескриптор за източника file за предоставяне на допълнителна информация на картографирания елемент в импортирания модел. Типичните селекции са impl за реализации или def за дефиниция files.
Фигура 3. Страница на съветника за импортиране за дефиниране на индивидуална конфигурацияНов file типове могат да се добавят с помощта на бутона Add Mapping. Всички полета се попълват със стойност undefined и трябва да се попълнят от потребителя. За да редактирате стойност в поле, просто щракнете върху полето с мишката. Стойността става редактируема и може да се променя. Не е възможно да се промени настройката по подразбиране file модели на имена на таблицата. За да направите персонализирането гъвкаво, е възможно да премахнете отметката от a file въведете, като премахнете отметката от реда. Отменен избор file моделите на имена остават в конфигурацията, но няма да се използват от вносителя. Дефиниран от потребителя file типовете могат да бъдат премахнати отново с помощта на бутона Премахване на картографирането.
По подразбиране Друго files file моделът на име е наличен в таблицата, но не е избран. Обикновено не се иска да се импортират всички files, но това може лесно да се промени чрез избиране на съответния ред.
Има три общи опции за импортиране, за да персонализирате поведението на импортера.
- Не импортирайте директории без съвпадение files (например CVS директории).
Ако вносителят намери директория, в която няма съвпадение file е в него и където никоя поддиректория няма съвпадение file, директорията няма да бъде импортирана. Това често е полезно, ако проектите се управляват от системи за управление на версии като CVS. За CVS всяка подходяща директория съдържа CVS-директория, където това не е от значение files се съхраняват. Ако тази опция е избрана и CVS-files не съвпадат с нито един file тип, дефиниран по-горе, директорията няма да се импортира като компонент в семейния модел. - Сортиране files и директории.
Активирайте тази опция, за да сортирате files и директории всяка по азбучен ред. - Обработка на пътя на импортиране.
За по-нататъшна синхронизация вносителят трябва да съхрани оригиналния път на всички импортирани елементи в модела.
В много случаи семейните модели се споделят с други потребители. Структурата на директорията може да е различна за всеки потребител. За да поддържа повечето обичайни сценарии на използване, вносителят може да работи в различни режими:
Абсолютно | Абсолютният път до импортирания елемент ще бъде съхранен в модела. За по-късна синхронизация и по време на трансформацията fileтрябва да се поставят на точно същото място, както при първото импортиране. |
Спрямо работното пространство | Пътищата се съхраняват спрямо папката на работното пространство. За синхронизиране на files трябва да бъде част от работното пространство на Eclipse. Трансформацията трябва да използва работното пространство на Eclipse като входна директория. |
Относно проекта | Пътеките се съхраняват спрямо проекта. За синхронизиране на fileса част от проекта в Eclipse. Трансформацията трябва да използва папката на проекта като входна директория. |
Отнесено към Path | Пътищата се съхраняват спрямо дадения път. За синхронизиране на fileтрябва да бъдат поставени на точно същото място. Входната директория за трансформация е същата като относителния път по време на импортирането. |
Всички предпочитания на този диалог се съхраняват постоянно. Личните персонализации не трябва да се преправят всеки път, когато се изпълнява импортирането. Това прави процеса на импортиране лесен и бърз.
2.3. Актуализиране на модели от дървото на директориите
Натиснете бутона Синхронизиране за синхронизиране на импортиран модел с пътя към неговата директория. Основният път на проекта се съхранява в модела, така че той ще се синхронизира в същата директория, както преди. За да активирате бутона Синхронизиране, отворете модела и изберете произволен елемент. След натискане на бутона Синхронизиране се отваря Редактор за сравняване, където се противопоставят текущият модел на семейството и моделът на текущата структура на директория (вижте Фигура 4, „Актуализация на модела от дървото на директорията в редактора за сравнение“).
Фигура 4. Актуализация на модела от дървото на директориите в редактора за сравнение Редакторът за сравнение се използва в pure::variants за сравняване на версиите на модела, но в този случай се използва за сравняване на структурата на физическата директория (показана в долната дясна страна) с текущия модел pure::variants (долната лява страна). Всички промени са изброени като отделни елементи в горната част на редактора, подредени по засегнатите елементи.
Избирането на елемент в този списък подчертава съответната промяна и в двата модела. В изхample, добавеният елемент е маркиран с кутия от дясната страна и е свързан с възможната му позиция в модела от лявата страна. Лентата с инструменти за сливане между горния и долния прозорец на редактора предоставя инструменти за копиране на единични или дори на всички (неконфликтни) промени като цяло от модела на дървото на директорията в модела на функциите.
Забележка
Синхронизирането се извършва с последните използвани настройки на импортера. Това прави възможно актуализирането на модела с други настройки, направени по време на импортирането.
Използване на индексатор на релации
Конекторът за управление на изходния код подобрява връзките View с информация за връзките между елементите на модела pure::variants и изходния код. Добавят се релации за функции, които се използват в условията на елементите ps:condxml и ps:condtext.
За ps: флаг и ps: флагfile елементи местоположението на константите на препроцесора в източника на C/C++ files са показани. Освен това местоположенията на съвпадащите константи на препроцесора се показват за избрана характеристика чрез използване на картографирането между уникалните имена на характеристиките и константите на препроцесора.
3.1. Добавяне на релационния индексатор към проект
Индексаторът на релации може да се активира на специална страница със свойства на проекта. Изберете проекта и изберете елемента Свойства в контекстното меню. В предстоящия диалогов прозорец изберете страницата Relation Indexer.
Фигура 5. Страница със свойства на проекта за индексатора на релации
Индексаторът на релации се активира за проекта чрез избиране на опцията Активиране на индексатор на релации (1). След като активирате индексатора, има още няколко опции за определяне на конкретното поведение на проекта. Индексирането на pure::variants Conditions и C/C++ Preprocessor Constants може да се активира отделно (2). Списъкът с file шаблони на имена (3) се използва за избор на files за индексиране. само fileкоито съответстват на един от шаблоните, се сканират. Добавете „*“ като модел, за да сканирате всички files на проект.
След активиране на индексатора за проект към проекта се добавя строител. Сканирането на този конструктор е променено files за нови релации към елементите на модела pure::variants автоматично.
3.2. Връзките с изходния код
С активиран индексатор на релации Relations View съдържа допълнителни записи. Тези записи показват името на file и номера на линията на вариантната точка. Подсказката показва съответния раздел на file. Чрез двукратно щракване върху записа file ще се отвори в редактор.
pure::variants Условия
Условието pure::variants може да се използва за включване или изключване на секции от a file в зависимост от избора на функция. Condition Indexer сканира за такива правила и извлича посочените функции. Ако такава функция е избрана в редактора, Relations View ще покаже всички files и редове, където се намира условие с избраната характеристика (вижте Фигура 6, „Представяне на условие в релациите View“).
Фигура 6. Представяне на условие в релациите ViewЗа да получите подробно обяснение как да дефинирате условия, вижте раздела ps:condtext от глава 9.5.7 на pure::variants Ръководството на потребителя (Справка–>Предварително дефинирани типове изходни елементи–>ps:condtext).
C/C++ предпроцесорни константи
C/C++ Preprocessor Indexer сканира files за константи, използвани в правилата на препроцесора (напр. #ifdef, #ifndef, …).
Ако ps: флаг или ps: флагfile елемент е избран Релациите View показва използването на дефинираната константа на препроцесора.
Отношенията View също така показва константи на предпроцесора, свързани с функции чрез използване на шаблони за картографиране. За тази цел моделите се разширяват с данните на избраната характеристика. Получените символи се използват за търсене на съответстващи константи на предпроцесора. Фигура 7, „Представяне на C/C++ препроцесорна константа в релациите View” показва бившample с шаблона fame{Name}. Моделът се разширява с уникалното име на функцията до fameNative. В индексирания код има 76 места, където се използва константата на препроцесора fameNative.
Тези местоположения са показани в Релациите View. Моделите могат да бъдат дефинирани в предпочитанията (вижте раздел 3.3, „Предпочитания“).
Фигура 7. Представяне на C/C++ препроцесорна константа в релациите View
3.3. Предпочитанията
За да промените поведението по подразбиране на индексатора, отворете предпочитанията на Eclipse и изберете страницата Relation Indexer в категорията Variant Management. Страницата показва два списъка.
Фигура 8. Страница с предпочитания за индексатор на релацииГорният списък съдържа стойността по подразбиране file шаблони за индексатора (1). Този списък е първоначалната настройка на шаблон за новоактивирани проекти.
Долният списък съдържа съпоставянето между характеристиките и константите на препроцесора (2). Това картографиране се използва за всички проекти. Таблица 1, „Поддържани замествания за картографиране“ показва всички възможни замествания.
Таблица 1. Поддържани замествания на картографиране
Заместващ знак | Описание | Example: Характеристика A |
Име | уникалното име на избраната функция | FLAG_{Име} – FLAG_FeatureA |
ИМЕ | главни букви Уникално име на избраната характеристика | FLAG_{NAME} – FLAG_FEATUREA |
име | с малки букви Уникално име на избраната функция | флаг_{име} – флаг_характеристика |
Документи / Ресурси
![]() |
pure-systems 2024 Connector за софтуер за управление на изходния код [pdf] Ръководство за потребителя 2024, 2024 Конектор за софтуер за управление на изходен код, Конектор за софтуер за управление на изходен код, Софтуер за управление на изходен код, Софтуер за управление, Софтуер |