pure::variants – Коннектор для
Руководство по управлению исходным кодом
Параметрические Технологии ГмбХ
Версия 6.0.7.685 для pure::variants 6.0
Авторские права © 2003-2024 Parametric Technology GmbH
2024
Введение
pure::variants Connector for Source Code Management (Connector) позволяет разработчикам управлять изменчивостью исходного кода с помощью pure::variants. Source Code Management pure::variants предоставляет гибкую возможность синхронизации структур каталогов и исходного кода files легко с моделями pure::variants. Таким образом, управление вариантами может быть применено практически даже к сложным программным проектам. Кроме того, связи между функциями pure::variants и исходным кодом могут быть проще управляемы с помощью конструктора и легкодоступны через Source Code Management.
1.1. Требования к программному обеспечению
Коннектор pure::variants для управления исходным кодом — это расширение для pure::variants, доступное на всех поддерживаемых платформах.
1.2. Установка
Пожалуйста, обратитесь к разделу pure::variants Connectors в руководстве по установке pure::variants для получения подробной информации о том, как установить коннектор (меню Help -> Help Contents и затем pure::variants Setup Guide -> pure::variants Connectors).
1.3. О данном руководстве
Ожидается, что читатель имеет базовые знания и опыт работы с pure::variants. Перед прочтением этого руководства ознакомьтесь с его вводным материалом. Руководство доступно в виде онлайн-справки, а также в формате PDF для печати здесь.
Использование соединителя
2.1. Запуск pure::variants
В зависимости от используемого метода установки либо запустите Eclipse с поддержкой pure::variants, либо в Windows выберите пункт pure::variants в меню программы.
Если перспектива «Управление вариантами» еще не активирована, сделайте это, выбрав ее в меню «Открыть перспективу» -> «Другое…» в меню «Окно».
2.2 Импорт дерева каталогов в модель семейства
Перед импортом дерева каталогов в модель семейства необходимо создать проект вариантов. Также желательно иметь уже определенные в модели функций функции. Пожалуйста, обратитесь к документации pure::variants за помощью по этим шагам.
Фактический импорт запускается выбором действия Импорт… либо в контекстном меню Проектов view или с помощью меню Импорт… в File Меню. Выберите Variant Models или Projects из категории Variant Management и нажмите Next. На следующей странице выберите Import a Family Model из исходных папок и снова нажмите Next.
Выберите тип исходного кода для импорта
Появится мастер импорта (см. Рисунок 1, «Страница мастера импорта для выбора типа исходного кода, который может быть импортирован»). Выберите тип проекта для импорта и нажмите «Далее». Каждый тип содержит предопределенный набор file типы для импорта в модель.
Рисунок 1. Страница мастера импорта для выбора типа исходного кода, который может быть импортированВыберите источник и цель
На следующей странице мастера (Рисунок 2. «Страница мастера импорта для выбора источника и цели импорта») необходимо указать исходный каталог и целевую модель.
Нажмите кнопку Browse…, чтобы выбрать каталог, в котором находится исходный код, который следует импортировать. По умолчанию выбирается текущая рабочая область, поскольку это может быть полезной точкой для начала навигации.
Ниже вы можете указать шаблон включения и исключения. Эти шаблоны должны быть регулярными выражениями Java. Каждый входной путь относительно исходной корневой папки проверяется с помощью этих шаблонов. Если шаблон включения совпадает, папка импортируется, если шаблон исключения не совпадает. Это означает, что шаблон включения предварительно выбирает папки для импорта, шаблон исключения ограничивает этот предварительный выбор.
После выбора каталога исходного кода необходимо определить целевую модель. Поэтому выберите вариант проекта или папку, в которой должна храниться модель, и введите имя модели. file Имя автоматически расширяется расширением .ccfm, если оно не указано в этом диалоговом окне. По умолчанию оно будет установлено на то же имя, что и само имя модели. Это рекомендуемая настройка.
После указания подходящей исходной папки и желаемого имени модели диалог может быть завершен нажатием кнопки Finish. Если нажать кнопку Next, откроется следующая страница, на которой можно выполнить дополнительные настройки.
Рисунок 2. Страница мастера импорта для выбора источника и цели импортаИзменить настройки импорта
На последней странице мастера (Рисунок 3, «Страница мастера импорта для определения индивидуальной конфигурации»») существуют параметры, которые можно задать для настройки поведения импорта для импортируемого программного проекта.
На странице диалога отображается таблица, в которой file определены типы, которые будут учитываться в процессе импорта.
Каждая строка состоит из четырех полей.
- Поле «Описание» содержит краткий описательный текст для идентификации file тип.
- The File Поле шаблона имени используется для выбора files для импорта, когда они соответствуют значению поля. Поле использует следующий синтаксис:
- Наиболее распространенным вариантом использования может быть file расширение. Обычный синтаксис — .EXT, где EXT — желаемое file расширение (например, .java).
- Другая распространенная ситуация – это особая file, как сделатьfile. Таким образом, можно сопоставить точное file имя. Для этого просто введите file имя в поле (например, build.xml).
- В некоторых случаях требования к отображению более конкретны, поэтому только files, которые соответствуют специальному шаблону, должны быть импортированы. Чтобы соответствовать этому требованию, можно использовать регулярные выражения в File поле шаблона имени.
Описание синтаксиса регулярных выражений выходит за рамки этой справки. Пожалуйста, обратитесь к разделу регулярных выражений в справочной главе в руководстве пользователя pure::variants (например, .*).
- Поле «Тип сопоставленного элемента» устанавливает сопоставление между file тип и тип элемента семейства pure::variants. Тип элемента семейства является дескриптором для источника file для предоставления дополнительной информации отображенному элементу в импортированной модели. Типичные варианты выбора — ps:class или ps:makefile.
- Нанесенный на карту file Поле типа устанавливает соответствие между file тип и чистый::варианты file Тип. file тип в pure::variants — это дескриптор источника file для предоставления дополнительной информации отображенному элементу в импортированной модели. Типичные варианты выбора — impl для реализаций или def для определения files.
Рисунок 3. Страница мастера импорта для определения индивидуальной конфигурацииНовый file Типы могут быть добавлены с помощью кнопки Добавить сопоставление. Все поля заполняются значением undefined и должны быть заполнены пользователем. Чтобы изменить значение в поле, просто щелкните по полю мышью. Значение становится редактируемым и может быть изменено. Изменить значение по умолчанию невозможно file шаблоны имен таблицы. Чтобы сделать настройку гибкой, можно снять выделение file введите, сняв выделение со строки. file Шаблоны имен остаются в конфигурации, но не будут использоваться импортером. Определяется пользователем file типы можно удалить снова с помощью кнопки «Удалить сопоставление».
По умолчанию Другое files file Имя шаблона доступно в таблице, но не выбрано. Обычно не требуется импортировать все files, но это можно легко изменить, выбрав соответствующую строку.
Существует три основных параметра импорта, позволяющих настроить поведение импортера.
- Не импортируйте каталоги без соответствия files (например, каталоги CVS).
Если импортер находит каталог, в котором нет соответствующих file находится в нем и где нет подкаталога, соответствующего file, каталог не будет импортирован. Это часто бывает полезно, если проекты управляются системами управления версиями, такими как CVS. Для CVS каждый релевантный каталог содержит CVS-каталог, где нерелевантные files сохраняются. Если эта опция выбрана и CVS-files не соответствуют ни одному file тип, определенный выше, каталог не будет импортирован как компонент в модель семейства. - Сортировать files и каталоги.
Включите эту опцию для сортировки files и каталоги в алфавитном порядке. - Обработка пути импорта.
Для дальнейшей синхронизации импортеру необходимо сохранить исходный путь всех импортированных элементов в модели.
Во многих случаях модели семейства используются совместно с другими пользователями. Структура каталогов может быть разной для каждого пользователя. Для поддержки наиболее распространенных сценариев использования импортер может работать в разных режимах:
Абсолютный | Абсолютный путь к импортированному элементу будет сохранен в модели. Для последующей синхронизации и во время преобразования files необходимо разместить точно в том же месте, что и при первом импорте. |
Относительно рабочего пространства | Пути хранятся относительно папки рабочей области. Для синхронизации files должен быть частью рабочей области Eclipse. Преобразование должно использовать рабочую область Eclipse в качестве входного каталога. |
Относительно проекта | Пути хранятся относительно проекта. Для синхронизации files являются частью проекта внутри Eclipse. Преобразование должно использовать папку проекта в качестве входного каталога. |
Относительно пути | Пути хранятся относительно указанного пути. Для синхронизации files должны быть размещены в том же самом месте. Входной каталог преобразования совпадает с относительным путем во время импорта. |
Все настройки этого диалога сохраняются постоянно. Персональные настройки не должны переделываться каждый раз при запуске импорта. Это делает рабочий процесс импорта простым и быстрым.
2.3 Обновление моделей из дерева каталогов
Нажмите кнопку «Синхронизировать». для синхронизации импортированной модели с ее путем к каталогу. Корневой путь проекта хранится в модели, поэтому он будет синхронизироваться с тем же каталогом, что и раньше. Чтобы включить кнопку Синхронизировать, откройте модель и выберите любой элемент. После нажатия кнопки Синхронизировать открывается Редактор сравнения, в котором текущая Модель семейства и модель текущей структуры каталогов сопоставлены (см. Рисунок 4, «Обновление модели из дерева каталогов в Редакторе сравнения»).
Рисунок 4. Обновление модели из дерева каталогов в редакторе сравнения Редактор сравнения используется во всем pure::variants для сравнения версий модели, но в этом случае он используется для сравнения физической структуры каталогов (отображается в нижней правой части) с текущей моделью pure::variants (нижняя левая часть). Все изменения перечислены как отдельные элементы в верхней части редактора, упорядоченные по затронутым элементам.
Выбор элемента в этом списке выделяет соответствующее изменение в обеих моделях. В бывшемample, добавленный элемент отмечен рамкой с правой стороны и связан с его допустимым положением в модели с левой стороны. Панель инструментов Merge между верхним и нижним окнами редактора предоставляет инструменты для копирования отдельных или даже всех (неконфликтующих) изменений целиком из модели дерева каталогов в Feature Model.
Примечание
Синхронизация выполняется с последними использованными настройками импортера. Это позволяет обновить модель с другими настройками, сделанными во время импорта.
Использование индексатора отношений
Коннектор для управления исходным кодом улучшает отношения View с информацией о связях между элементами модели pure::variants и исходным кодом. Связи добавляются для функций, которые используются в условиях элементов ps:condxml и ps:condtext.
Для ps:flag и ps:flagfile элементы расположение констант препроцессора в исходном коде C/C++ files показаны. Кроме того, для выбранного признака показаны местоположения соответствующих констант препроцессора с использованием сопоставления между уникальными именами признаков и константами препроцессора.
3.1 Добавление индексатора отношений в проект
Индексатор отношений можно активировать на специальной странице свойств проекта. Выберите проект и выберите пункт Свойства в контекстном меню. В появившемся диалоговом окне выберите страницу Индексатор отношений.
Рисунок 5. Страница свойств проекта для индексатора отношений
Индексатор отношений активируется для проекта выбором опции Включить индексатор отношений (1). После включения индексатора есть еще несколько опций для определения поведения, специфичного для проекта. Индексация условий pure::variants и констант препроцессора C/C++ может быть активирована отдельно (2). Список с file Шаблоны имен (3) используются для выбора files для индексации. Только files, которые соответствуют одному из шаблонов, сканируются. Добавьте «*» как шаблон, чтобы сканировать все fileпроекта.
После активации индексатора для проекта в проект добавляется строитель. Этот строитель сканирует измененные files для новых отношений с элементами модели pure::variants автоматически.
3.2. Отношения к исходному коду
С активированным индексатором отношений отношения View содержит дополнительные записи. Эти записи показывают имя file и номер строки варианта точки. Подсказка показывает соответствующий раздел file. Двойным щелчком по записи file будет открыт в редакторе.
чистые::варианты Условия
Условие pure::variants можно использовать для включения или исключения разделов file в зависимости от выбора функции. Индексатор условий сканирует такие правила и извлекает ссылочные функции. Если такая функция выбрана в редакторе, то Отношения View покажет все files и линии, где находится условие с выбранным признаком (см. Рисунок 6, «Представление условия в отношениях View»).
Рисунок 6. Представление состояния в отношениях ViewЧтобы получить подробное объяснение того, как определять условия, обратитесь к разделу ps:condtext главы 9.5.7 Руководства пользователя pure::variants (Ссылка–>Предопределенные типы исходных элементов–>ps:condtext).
Константы препроцессора C/C++
Индексатор препроцессора C/C++ сканирует files для констант, используемых в правилах препроцессора (например, #ifdef, #ifndef, …).
Если ps:flag или ps:flagfile элемент выбран Отношения 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: FeatureA |
Имя | Уникальное имя выбранного объекта | FLAG_{Имя} – FLAG_FeatureA |
ИМЯ | заглавное уникальное имя выбранного объекта | FLAG_{NAME} – FLAG_FEATUREA |
имя | уникальное имя выбранного объекта в нижнем регистре | flag_{name} – flag_featurea |
Документы/Ресурсы
![]() |
pure-systems 2024 Коннектор для программного обеспечения управления исходным кодом [pdf] Руководство пользователя 2024, 2024 Connector for Source Code Management Software, Connector for Source Code Management Software, Source Code Management Software, Management Software, Software |