logo czystych systemówpure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowympure::variants – Łącznik dla
Podręcznik zarządzania kodem źródłowym
Parametric Technology GmbH
Wersja 6.0.7.685 dla pure::variants 6.0
Prawa autorskie © 2003-2024 Parametric Technology GmbH
2024

Wstęp

pure::variants Connector for Source Code Management (Connector) umożliwia programistom zarządzanie zmiennością kodu źródłowego za pomocą pure::variants. Source Code Management pure::variants zapewnia elastyczną możliwość synchronizacji struktur katalogów i kodu źródłowego files z modelami pure::variants. W ten sposób zarządzanie wariantami może być stosowane praktycznie nawet w przypadku złożonych projektów oprogramowania. Ponadto połączenia między funkcjami pure::variants i kodem źródłowym mogą być zarządzane łatwiej za pomocą konstruktora i są łatwo dostępne za pośrednictwem Source Code Management.
1.1. Wymagania dotyczące oprogramowania
Łącznik pure::variants do zarządzania kodem źródłowym jest rozszerzeniem pure::variants i jest dostępny na wszystkich obsługiwanych platformach.
1.2. Instalacja
Proszę zapoznać się z sekcją pure::variants Connectors w pure::variants Setup Guide, aby uzyskać szczegółowe informacje na temat instalacji konektora (menu Help -> Help Contents, a następnie pure::variants Setup Guide -> pure::variants Connectors).
1.3. O niniejszej instrukcji
Oczekuje się, że czytelnik będzie miał podstawową wiedzę i doświadczenie z pure::variants. Przed przeczytaniem tego podręcznika zapoznaj się z materiałem wprowadzającym. Podręcznik jest dostępny w pomocy online, a także w formacie PDF do wydruku tutaj.

Korzystanie z łącznika

2.1. Uruchamianie pure::variants
W zależności od użytej metody instalacji uruchom środowisko Eclipse z włączoną opcją pure::variants lub w systemie Windows wybierz opcję pure::variants z menu programu.
Jeśli perspektywa Zarządzanie wariantami nie jest jeszcze aktywna, należy ją aktywować, wybierając ją z menu Otwórz perspektywę -> Inne… w menu Okno.
2.2. Importowanie drzewa katalogowego do modelu rodziny
Przed zaimportowaniem drzewa katalogów do Family Model należy utworzyć projekt wariantów. Zaleca się również, aby funkcje były już zdefiniowane w Feature Model. Aby uzyskać pomoc dotyczącą tych kroków, zapoznaj się z dokumentacją pure::variants.
Faktyczny import rozpoczyna się poprzez wybranie akcji Importuj… w menu kontekstowym Projektów view lub za pomocą menu Importuj… w File menu. Wybierz Variant Models lub Projects z kategorii Variant Management i naciśnij Next. Na następnej stronie wybierz Import a Family Model from source folders i naciśnij Next ponownie.
Wybierz typ kodu źródłowego do zaimportowania
Pojawi się kreator importu (patrz Rysunek 1, „Strona kreatora importu, aby wybrać typ kodu źródłowego, który może zostać zaimportowany”). Wybierz typ projektu do zaimportowania i naciśnij Dalej. Każdy typ zawiera wstępnie zdefiniowany zestaw file Typy do zaimportowania do modelu.
Rysunek 1. Strona kreatora importu umożliwiająca wybór typu kodu źródłowego, który można zaimportowaćpure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 1Wybierz źródło i cel
Na następnej stronie kreatora (Rysunek 2. „Strona kreatora importu umożliwiająca wybór źródła i celu importu”) należy określić katalog źródłowy i model docelowy.
Naciśnij przycisk Przeglądaj…, aby wybrać katalog, w którym znajduje się kod źródłowy, który należy zaimportować. Domyślnie wybierany jest bieżący obszar roboczy, ponieważ może to być przydatny punkt do rozpoczęcia nawigacji.
Poniżej możesz określić wzorzec include i exclude. Te wzorce muszą być wyrażeniami regularnymi Java. Każda ścieżka wejściowa, względna do folderu źródłowego, jest sprawdzana za pomocą tych wzorców. Jeśli wzorzec include pasuje, folder jest importowany, jeśli wzorzec exclude nie pasuje. Oznacza to, że wzorzec include wstępnie wybiera foldery do zaimportowania, wzorzec exclude ogranicza ten wstępny wybór.
Po wybraniu katalogu kodu źródłowego należy zdefiniować model docelowy. Dlatego wybierz projekt wariantowy lub folder, w którym model powinien być przechowywany i wprowadź nazwę modelu. file nazwa jest automatycznie rozszerzana o rozszerzenie .ccfm, jeśli nie jest podane w tym oknie dialogowym. Domyślnie będzie ustawiona na taką samą nazwę, jak nazwa samego modelu. Jest to zalecane ustawienie.
Po określeniu odpowiedniego folderu źródłowego i żądanej nazwy modelu, okno dialogowe można zakończyć naciskając Finish (Zakończ). Jeśli naciśnięty zostanie przycisk Next (Dalej), pojawi się kolejna strona, na której można wprowadzić dodatkowe ustawienia.
Rysunek 2. Strona kreatora importu umożliwiająca wybór źródła i celu importupure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 2Zmień preferencje importu
Na ostatniej stronie kreatora (Rysunek 3, „Strona kreatora importu służąca do definiowania indywidualnej konfiguracji”) można określić preferencje, które pozwolą dostosować zachowanie importu dla importowanego projektu oprogramowania.
Na stronie dialogowej wyświetlana jest tabela, w której file Zdefiniowano typy, które zostaną uwzględnione w procesie importowania.
Każdy wiersz składa się z czterech pól.

  • Pole Opis zawiera krótki tekst opisowy identyfikujący file typ.
  • Ten File pole wzorca nazwy służy do wyboru files do zaimportowania, gdy pasują do wartości pola. Pole używa następującej składni:
  1. Najczęstszym przypadkiem użycia może być file rozszerzenie. Zwykła składnia to .EXT, gdzie EXT jest pożądanym rozszerzeniem file rozszerzenie (np. .java).
  2. Inną powszechną sytuacją jest sytuacja szczególna file, jak markafile. Dlatego możliwe jest dopasowanie na dokładnym file nazwa. Aby to zrobić, wystarczy wpisać file nazwę do pola (np. build.xml).
  3. W niektórych przypadkach wymagania dotyczące mapowania są bardziej szczegółowe, dlatego też files, które pasują do specjalnego wzorca, powinny zostać zaimportowane. Aby spełnić to wymaganie, możliwe jest użycie wyrażeń regularnych w File pole wzoru nazwy.
    Opisanie składni wyrażeń regularnych wykraczałoby poza zakres tej pomocy. Zapoznaj się z sekcją wyrażeń regularnych rozdziału referencyjnego w podręczniku użytkownika pure::variants (np. .*).
  • Pole Typ elementu mapowanego ustawia mapowanie między file typ i typ elementu rodziny pure::variants. Typ elementu rodziny jest deskryptorem źródła file aby dostarczyć więcej informacji do mapowanego elementu w importowanym modelu. Typowe wybory to ps:class lub ps:makefile.
  • Zmapowano file pole typu ustawia mapowanie między file typ i pure::variants file typ. file wpisz pure::variants to deskryptor źródła file aby dostarczyć więcej informacji do mapowanego elementu w importowanym modelu. Typowe wybory to impl dla implementacji lub def dla definicji files.

Rysunek 3. Strona kreatora importu umożliwiająca zdefiniowanie indywidualnej konfiguracjipure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 3Nowy file typy mogą być dodawane za pomocą przycisku Dodaj mapowanie. Wszystkie pola są wypełniane wartością undefined i muszą być wypełnione przez użytkownika. Aby edytować wartość w polu, wystarczy kliknąć pole myszką. Wartość staje się edytowalna i można ją zmienić. Nie można zmienić wartości domyślnej file wzorców nazw tabeli. Aby uczynić dostosowanie elastycznym, można odznaczyć file wpisz, odznaczając wiersz. Odznaczono file wzorce nazw pozostają w konfiguracji, ale nie będą używane przez importera. Zdefiniowane przez użytkownika file typy można usunąć ponownie, używając przycisku Usuń mapowanie.
Domyślnie Inny files file wzorzec nazwy jest dostępny w tabeli, ale odznaczony. Zazwyczaj nie jest pożądane importowanie wszystkich fileale można to łatwo zmienić, zaznaczając odpowiedni wiersz.
Istnieją trzy ogólne opcje importowania pozwalające dostosować zachowanie importera.

  • Nie importuj katalogów bez dopasowania files (np. katalogi CVS).
    Jeżeli importer znajdzie katalog, w którym nie ma pasujących elementów file jest w nim i nie ma żadnego podkatalogu, który by mu odpowiadał file, katalog nie zostanie zaimportowany. Jest to często przydatne, jeśli projekty są zarządzane przez systemy zarządzania wersjami, takie jak CVS. W przypadku CVS każdy odpowiedni katalog zawiera katalog CVS, w którym nie ma znaczenia files są przechowywane. Jeśli ta opcja jest zaznaczona i CVS-files nie pasują do żadnego file Jeśli typ jest zdefiniowany powyżej, katalog nie zostanie zaimportowany jako komponent do Modelu Rodziny.
  • Sortować files i katalogów.
    Włącz tę opcję, aby sortować filei katalogi, każdy w kolejności alfabetycznej.
  • Obsługa ścieżki importu.
    W celu dalszej synchronizacji importer musi zapisać oryginalną ścieżkę wszystkich importowanych elementów w modelu.
    W wielu przypadkach Family Models są udostępniane innym użytkownikom. Struktura katalogów może być inna dla każdego użytkownika. Aby obsługiwać większość typowych scenariuszy użytkowania, importer może pracować w różnych trybach:
Absolutny Ścieżka absolutna do importowanego elementu zostanie zapisana w modelu. Do późniejszej synchronizacji i podczas transformacji filemuszą zostać umieszczone dokładnie w tym samym miejscu, w którym zostały użyte podczas pierwszego importu.
Względem obszaru roboczego Ścieżki są przechowywane w odniesieniu do folderu obszaru roboczego. W celu synchronizacji files musi być częścią obszaru roboczego Eclipse. Transformacja musi używać obszaru roboczego Eclipse jako katalogu wejściowego.
W stosunku do projektu Ścieżki są przechowywane w odniesieniu do projektu. W celu synchronizacji files są częścią projektu wewnątrz Eclipse. Transformacja musi używać folderu projektu jako katalogu wejściowego.
Względem ścieżki Ścieżki są przechowywane w odniesieniu do podanej ścieżki. W celu synchronizacji files muszą być umieszczone w dokładnie tej samej lokalizacji. Katalog wejściowy transformacji jest taki sam jak ścieżka względna podczas importu.

Wszystkie preferencje tego dialogu są trwale przechowywane. Personalne dostosowania nie muszą być powtarzane za każdym razem, gdy uruchamiany jest import. Dzięki temu przepływ pracy importu jest łatwy i szybki.
2.3. Aktualizowanie modeli z drzewa katalogów
Naciśnij przycisk Synchronizuj pure-systems 2024 Złącze dla oprogramowania do zarządzania kodem źródłowym - ikonaaby zsynchronizować importowany model z jego ścieżką katalogu. Ścieżka główna projektu jest przechowywana w modelu, więc będzie on synchronizowany z tym samym katalogiem, co poprzednio. Aby włączyć przycisk Synchronizuj, otwórz model i wybierz dowolny element. Po naciśnięciu przycisku Synchronizuj otwiera się Edytor porównania, w którym bieżący Model rodziny i model bieżącej struktury katalogu są ze sobą przeciwstawione (patrz Rysunek 4, „Aktualizacja modelu z drzewa katalogów w Edytorze porównania”).
Rysunek 4. Aktualizacja modelu z drzewa katalogowego w edytorze porównawczym   pure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 4Edytor porównawczy jest używany w całym pure::variants do porównywania wersji modeli, ale w tym przypadku jest używany do porównywania fizycznej struktury katalogów (wyświetlanej w prawym dolnym rogu) z bieżącym modelem pure::variants (lewy dolny róg). Wszystkie zmiany są wymienione jako oddzielne elementy w górnej części edytora, uporządkowane według elementów, których dotyczą.
Wybranie elementu na tej liście podświetla odpowiednią zmianę w obu modelach. W example, dodany element jest oznaczony polem po prawej stronie i połączony z jego wykonalną pozycją w modelu po lewej stronie. Pasek narzędzi Merge pomiędzy górnym i dolnym oknem edytora udostępnia narzędzia do kopiowania pojedynczych lub nawet wszystkich (niesprzecznych) zmian jako całości z modelu drzewa katalogów do modelu obiektów.
Notatka
Synchronizacja jest wykonywana z ostatnio używanymi ustawieniami importera. Umożliwia to aktualizację modelu z innymi ustawieniami, które zostały wprowadzone podczas importu.

Korzystanie z indeksatora relacji

Łącznik do zarządzania kodem źródłowym usprawnia relacje View z informacjami o połączeniach między elementami modelu pure::variants i kodem źródłowym. Relacje są dodawane dla cech, które są używane w warunkach elementów ps:condxml i ps:condtext.
Dla ps:flag i ps:flagfile elementy lokalizacja stałych preprocesora w źródle C/C++ files są wyświetlane. Ponadto lokalizacje pasujących stałych preprocesora są wyświetlane dla wybranej funkcji przy użyciu mapowania między unikalnymi nazwami funkcji i stałymi preprocesora.
3.1. Dodawanie indeksatora relacji do projektu
Indeksator relacji można aktywować na specjalnej stronie właściwości projektu. Wybierz projekt i wybierz element Właściwości w menu kontekstowym. W nadchodzącym oknie dialogowym wybierz stronę Indeksator relacji.
Rysunek 5. Strona właściwości projektu dla indeksatora relacjipure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 5

Indeksator relacji jest aktywowany dla projektu poprzez wybranie opcji Włącz indeks relacji (1). Po włączeniu indeksatora jest kilka dodatkowych opcji do zdefiniowania zachowania specyficznego dla projektu. Indeksowanie pure::variants Conditions i C/C++ Preprocessor Constants można aktywować osobno (2). Lista z file wzorce nazw (3) służą do wyboru files do indeksowania. Tylko fileskanowane są te, które pasują do jednego ze wzorów. Dodaj „*” jako wzór, aby przeskanować wszystkie fileczęści projektu.
Po aktywowaniu indeksatora dla projektu do projektu dodawany jest builder. Ten builder skanuje zmienione files dla nowych relacji do elementów modelu pure::variants automatycznie.
3.2. Relacje z kodem źródłowym
Z aktywnym indeksatorem relacji Relacje View zawiera dodatkowe wpisy. Te wpisy pokazują nazwę file i numer wiersza punktu wariantu. Podpowiedź narzędzia pokazuje odpowiednią sekcję file. Klikając dwukrotnie wpis file zostanie otwarty w edytorze.
pure::variants Warunki
Warunek pure::variants można wykorzystać do uwzględnienia lub wykluczenia sekcji file w zależności od wyboru funkcji. Condition Indexer skanuje takie reguły i wyodrębnia odwoływane funkcje. Jeśli taka funkcja jest wybrana w edytorze, Relacje View pokaże wszystko filei linie, w których znajduje się warunek z wybraną cechą (patrz Rysunek 6, „Reprezentacja warunku w relacjach”) View”).
Rysunek 6. Przedstawienie warunku w relacjach Viewpure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 6Aby uzyskać szczegółowe wyjaśnienie dotyczące definiowania warunków, zapoznaj się z sekcją ps:condtext rozdziału 9.5.7 Podręcznika użytkownika pure::variants (Odwołanie–>Wstępnie zdefiniowane typy elementów źródłowych–>ps:condtext).
Stałe preprocesora C/C++
Skanowanie indeksatora preprocesora C/C++ files dla stałych używanych w regułach preprocesora (np. #ifdef, #ifndef, …).
Jeśli ps:flag lub ps:flagfile element jest wybrany Relacje View pokazuje użycie zdefiniowanej stałej preprocesora.
Relacje View pokazuje również stałe preprocesora połączone z cechami za pomocą wzorców mapowania. W tym celu wzorce są rozszerzane o dane wybranej cechy. Powstałe symbole są używane do wyszukiwania pasujących stałych preprocesora. Rysunek 7, „Reprezentacja stałej preprocesora C/C++ w relacjach View„pokazuje byłegoample ze wzorem fame{Name}. Wzór jest rozszerzany o unikalną nazwę funkcji do fameNative. W indeksowanym kodzie jest 76 lokalizacji, w których używana jest stała preprocesora fameNative.
Te lokalizacje są pokazane w Relacjach ViewWzory można zdefiniować w preferencjach (patrz Sekcja 3.3, „Preferencje”).
Rysunek 7. Reprezentacja stałej preprocesora C/C++ w relacjach Viewpure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 7

3.3 Preferencje
Aby zmienić domyślne zachowanie indeksatora, otwórz preferencje Eclipse i wybierz stronę Relation Indexer w kategorii Variant Management. Strona pokazuje dwie listy.
Rysunek 8. Strona preferencji indeksatora relacjipure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym - Rysunek 8Górna lista zawiera ustawienia domyślne file wzorce dla indeksatora (1). Ta lista jest początkowym ustawieniem wzorca dla nowo włączonych projektów.
Dolna lista zawiera mapowanie między cechami i stałymi preprocesora (2). To mapowanie jest używane we wszystkich projektach. Tabela 1, „Obsługiwane zamienniki mapowania” pokazuje wszystkie możliwe zamienniki.
Tabela 1. Obsługiwane zamienniki mapowania

Dzika karta Opis  Example: FunkcjaA
Nazwa Unikalna nazwa wybranej funkcji FLAG_{Nazwa} – FLAG_FeatureA
NAZWA wielka litera Unikalna nazwa wybranej funkcji FLAG_{NAME} – FLAGA_FEATUREA
nazwa mała nazwa unikatowa wybranej funkcji flaga_{nazwa} – cecha_flagi

logo czystych systemów

Dokumenty / Zasoby

pure-systems 2024 Złącze do oprogramowania do zarządzania kodem źródłowym [plik PDF] Instrukcja obsługi
2024, 2024 Złącze do oprogramowania do zarządzania kodem źródłowym, Złącze do oprogramowania do zarządzania kodem źródłowym, Oprogramowanie do zarządzania kodem źródłowym, Oprogramowanie do zarządzania, Oprogramowanie

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *