pure-systems logopure-systems 2024 Connector til kildekodestyringssoftwarepure::varianter – Stik til
Håndbog til styring af kildekode
Parametric Technology GmbH
Version 6.0.7.685 for pure::varianter 6.0
Copyright © 2003-2024 Parametric Technology GmbH
2024

Indledning

pure::variants Connector til kildekodestyring (Connector) gør det muligt for udviklere at administrere kildekodevariabilitet ved hjælp af pure::varianter. Kildekodestyringen af ​​pure::varianter giver en fleksibel mulighed for at synkronisere biblioteksstrukturer og kildekode files nemt med pure::variants modeller. Derved kan styring af varianter anvendes praktisk gennemførligt selv på komplekse softwareprojekter. Desuden kan forbindelser mellem rene::variants-funktioner og kildekode administreres lettere med builderen og er meget tilgængelige via kildekodestyringen.
1.1. Softwarekrav
Pure::variants Connector til kildekodestyring er en udvidelse til pure::varianter og er tilgængelig på alle understøttede platforme.
1.2. Installation
Se venligst sektion pure::variants Connectors i pure::variants Setup Guide for detaljeret information om hvordan man installerer stikket (menu Hjælp -> Hjælp Indhold og derefter pure::variants Setup Guide -> pure::variants Connectors).
1.3. Om denne manual
Læseren forventes at have grundlæggende viden om og erfaringer med rene::varianter. Se venligst dets introduktionsmateriale, før du læser denne manual. Manualen er tilgængelig i online-hjælp samt i printbart PDF-format her.

Brug af stik

2.1. Startende rene::varianter
Afhængigt af den anvendte installationsmetode skal du enten starte den pure::variants-aktiverede Eclipse eller under Windows vælge punktet pure::variants fra programmenuen.
Hvis Variant Management-perspektivet ikke allerede er aktiveret, skal du gøre det ved at vælge det fra Åbn perspektiv->Andet... i vinduesmenuen.
2.2. Importer et bibliotekstræ til en familiemodel
Før du importerer et bibliotekstræ til en familiemodel, skal der oprettes et variantprojekt. Det er også en god idé allerede at have funktioner defineret i en funktionsmodel. Se venligst pure::variants-dokumentationen for at få hjælp til disse trin.
Selve importen startes ved at vælge handlingen Importer... enten i kontekstmenuen i projekterne view eller med menuen Importer… i File menu. Vælg Variant Models eller Projects fra kategorien Variant Management og tryk på Næste. På den følgende side skal du vælge Importer en familiemodel fra kildemapper og trykke på Næste igen.
Vælg den type kildekode, der skal importeres
Importguiden vises (se figur 1, "Side i importguiden for at vælge den type kildekode, der kan importeres"). Vælg en projekttype, der skal importeres, og tryk på Næste. Hver type indeholder et foruddefineret sæt af file typer, der skal importeres til modellen.
Figur 1. Side i importguiden for at vælge den type kildekode, der kan importerespure-systems 2024 Connector til kildekodestyringssoftware - figur 1Vælg Kilde og Mål
På den næste guideside (Figur 2, "Side i importguiden for at vælge kilden og målet for importen") skal kildebiblioteket og målmodellen angives.
Tryk på knappen Gennemse... for at vælge den mappe, hvor kildekoden findes, som skal importeres. Som standard er det aktuelle arbejdsområde valgt, fordi dette kan være et nyttigt punkt for at begynde at navigere.
Nedenfor kan du angive inkludere og ekskludere mønster. Disse mønstre skal være regulære java-udtryk. Hver inputsti, i forhold til kilderodmappen, kontrolleres med disse mønstre. Hvis inkluderingsmønsteret matcher, importeres en mappe, hvis ekskluderingsmønsteret ikke matcher. Det betyder, at inkluderingsmønsteret på forhånd vælger de mapper, der skal importeres, at ekskluderingsmønsteret begrænser dette forudvalg.
Efter valg af kildekodebiblioteket skal en målmodel defineres. Vælg derfor et variantprojekt eller en mappe, hvor modellen skal gemmes, og indtast et modelnavn. De file navn udvides automatisk med filtypenavnet .ccfm, hvis det ikke er angivet i denne dialog. Som standard vil det være indstillet til det samme navn som selve modelnavnet. Dette er den anbefalede indstilling.
Når en passende kildemappe og det ønskede modelnavn er angivet, kan dialogen afsluttes ved at trykke på Udfør. Hvis der trykkes på knappen Næste, kommer der en yderligere side op, hvor yderligere indstillinger kan foretages.
Figur 2. Side i importguiden for at vælge kilden og målet for importenpure-systems 2024 Connector til kildekodestyringssoftware - figur 2Skift importpræferencer
På den sidste guideside (Figur 3, "Side i importguiden til at definere en individuel konfiguration”) der er præferencer, der kan gøres for at tilpasse importadfærden for det importerede softwareprojekt.
Dialogsiden viser en tabel, hvor file typer er defineret, som vil blive taget i betragtning i importprocessen.
Hver linje består af fire felter.

  • Beskrivelsesfeltet indeholder en kort beskrivende tekst til at identificere file type.
  • De File navnemønsterfeltet bruges til at vælge files, der skal importeres, når de matcher felternes værdi. Feltet bruger følgende syntaks:
  1. Den mest almindelige usecase kan være en file forlængelse. Den sædvanlige syntaks er .EXT, hvor EXT er det ønskede file udvidelse (f.eks. .java).
  2. En anden almindelig situation er en speciel file, som et mærkefile. Derfor er det muligt at matche på det eksakte file navn. For at gøre dette skal du blot indtaste file navn ind i feltet (f.eks. build.xml).
  3. I nogle tilfælde er kortlægningsønskene mere specifikke, så kun files, der matcher et specielt mønster, skal importeres. For at opfylde dette krav er det muligt at bruge regulære udtryk i File navnemønsterfelt.
    At beskrive syntaksen for regulære udtryk ville overskride hensigten med denne hjælp. Se venligst afsnittet om regulære udtryk i referencekapitlet i brugervejledningen til pure::variants (f.eks. .*).
  • Feltet Tilknyttet elementtype indstiller tilknytningen mellem en file type og en ren::varianter familieelementtype. Familieelementtypen er en deskriptor for kilden file for at give yderligere information til det tilknyttede element i den importerede model. Typiske valg er ps:class eller ps:makefile.
  • Det kortlagte file type felt indstiller tilknytningen mellem en file type og en ren::varianter file type. De file type in pure::variants er en deskriptor for kilden file for at give yderligere information til det tilknyttede element i den importerede model. Typiske valg er impl for implementeringer eller def for definition files.

Figur 3. Side i importguiden for at definere en individuel konfigurationpure-systems 2024 Connector til kildekodestyringssoftware - figur 3Ny file typer kan tilføjes ved at bruge knappen Tilføj kortlægning. Alle felter udfyldes med værdien undefined og skal udfyldes af brugeren. For at redigere en værdi i et felt, skal du blot klikke ind i feltet med musen. Værdien bliver redigerbar og kan ændres. Det er ikke muligt at ændre standarden file navne mønstre af bordet. For at gøre en tilpasning fleksibel, er det muligt at fravælge en file skriv ved at fravælge rækken. Fravalgt file navnemønstre forbliver i konfigurationen, men vil ikke blive brugt af importøren. Brugerdefineret file typer kan fjernes igen ved at bruge knappen Fjern kortlægning.
Som standard en Andet files file navnemønster er tilgængeligt i tabellen, men fravalgt. Det er typisk ikke ønsket at importere alle files, men dette kan nemt ændres ved at vælge den tilsvarende række.
Der er tre generelle importmuligheder til at tilpasse importørens adfærd.

  • Importer ikke mapper uden at matche files (f.eks. CVS-mapper).
    Hvis importøren finder en mappe, hvor der ikke matcher file er i den, og hvor ingen undermapper har en matchende file, vil biblioteket ikke blive importeret. Dette er ofte nyttigt, hvis projekter styres af versionsstyringssystemer som CVS. For CVS indeholder hvert relevant bibliotek et CVS-bibliotek, hvor det er irrelevant files er gemt. Hvis denne mulighed er valgt, og CVS-files stemmer ikke overens med nogen file type defineret ovenfor, vil mappen ikke importeres som en komponent til familiemodellen.
  • Sortere files og mapper.
    Aktiver denne mulighed for at sortere files og mapper hver i alfabetisk rækkefølge.
  • Import stihåndtering.
    For yderligere synkronisering skal importøren gemme den originale sti for alle importerede elementer i modellen.
    I mange tilfælde deles familiemodeller med andre brugere. Biblioteksstrukturen kan være forskellig for hver bruger. For at understøtte de mest almindelige brugsscenarier kan importøren arbejde i forskellige tilstande:
Absolut Den absolutte sti til det importerede element vil blive gemt i modellen. Til senere synkronisering og under transformationen files skal placeres på nøjagtig samme sted som under den første import.
I forhold til Workspace Stierne gemmes i forhold til arbejdsområdemappen. Til synkronisering files skal være en del af Eclipse-arbejdsområdet. Transformationen skal bruge Eclipse-arbejdsområdet som inputmappe.
I forhold til projekt Stierne gemmes i forhold til projektet. Til synkronisering files er en del af projektet inde i Eclipse. Transformationen skal bruge projektmappen som inputmappe.
I forhold til Sti Stierne gemmes i forhold til den givne sti. Til synkronisering files skal placeres på nøjagtig samme sted. Transformationsinputbiblioteket er det samme som den relative sti under importen.

Alle præferencer i denne dialog gemmes vedvarende. De personlige tilpasninger må ikke laves om, hver gang importen kører. Dette gør import-workflowet nemt og hurtigt.
2.3. Opdatering af modeller fra bibliotekstræ
Tryk på knappen Synkroniser pure-systems 2024 Connector til kildekodestyringssoftware - ikonfor at synkronisere en importeret model med dens mappesti. Projektets rodsti er gemt i modellen, så den synkroniseres til den samme mappe som før. For at aktivere knappen Synkroniser skal du åbne modellen og vælge et hvilket som helst element. Efter at have trykket på knappen Synkroniser åbnes en sammenligningseditor, hvor den aktuelle familiemodel og modellen for den aktuelle mappestruktur er modsat (se figur 4, "Modelopdatering fra mappetræ i sammenligningseditor").
Figur 4. Modelopdatering fra Directory Tree i Compare Editor   pure-systems 2024 Connector til kildekodestyringssoftware - figur 4Sammenlign-editoren bruges i hele pure::variants til at sammenligne modelversioner, men i dette tilfælde bruges den til at sammenligne den fysiske mappestruktur (vist nederst til højre) med den aktuelle pure::variants-model (nederste venstre side). Alle ændringer er opført som separate elementer i den øverste del af editoren, sorteret efter de berørte elementer.
Valg af et element på denne liste fremhæver den respektive ændring i begge modeller. I example, et tilføjet element er markeret med en boks på højre side og forbundet med dets mulige position i modellen på venstre side. Værktøjslinjen Flet mellem øvre og nedre editorvinduer giver værktøjer til at kopiere enkelte eller endda alle (ikke-modstridende) ændringer som helhed fra bibliotekstræmodellen til funktionsmodellen.
Note
Synkroniseringen udføres med de sidst anvendte importindstillinger. Dette gør det muligt at opdatere modellen med andre indstillinger, som blev foretaget, mens importen blev udført.

Brug af relationsindeksering

Connectoren til kildekodestyring forbedrer relationerne View med information om sammenhænge mellem rene::varianter modelelementer og kildekode. Relationer tilføjes for funktioner, der bruges i betingelserne for ps:condxml og ps:condtext elementerne.
Til ps:flag og ps:flagfile elementer placeringen af ​​præprocessorkonstanter i C/C++-kilden files er vist. Derudover vises placeringerne af matchende præprocessorkonstanter for en valgt funktion ved at bruge kortlægningen mellem egenskabens unikke navne og præprocessorkonstanter.
3.1. Tilføjelse af relationsindekser til et projekt
Relationsindekseren kan aktiveres på en særlig projektegenskabsside. Vælg projektet, og vælg punktet Egenskaber i kontekstmenuen. Vælg siden Relationsindeksering i den kommende dialog.
Figur 5. Projektegenskabsside for Relationsindeksererenpure-systems 2024 Connector til kildekodestyringssoftware - figur 5

Relationsindekseren aktiveres for projektet ved at vælge indstillingen Aktiver relationsindeksering (1). Efter aktivering af indekseringsværktøjet er der nogle flere muligheder for at definere den projektspecifikke adfærd. Indekseringen af ​​rene::varianter Betingelser og C/C++ Preprocessor-konstanter kan aktiveres separat (2). Listen med file navnemønstre (3) bruges til at vælge files til indeksering. Kun files, der matcher et af mønstrene, scannes. Tilføj "*" som mønster for at scanne alle files af et projekt.
Efter aktivering af indekseren for et projekt tilføjes en bygherre til projektet. Denne bygherre scanner ændret files for nye relationer til pure::varianter modellerer elementer automatisk.
3.2. Relationerne til kildekoden
Med aktiveret relationsindekser er Relationerne View indeholder yderligere poster. Disse poster viser navnet på file og linjenummeret for variantpunktet. Værktøjstipset viser det relevante afsnit af file. Ved at dobbeltklikke på posten file vil blive åbnet i en editor.
pure::variants Betingelser
Betingelsen pure::variants kan bruges til at inkludere eller udelukke sektioner af en file afhængigt af et funktionsvalg. Condition Indexer scanner for sådanne regler og udtrækker de refererede funktioner. Hvis en sådan funktion er valgt i editoren, er Relations View vil vise alle files og linjer, hvor en tilstand med den valgte funktion er placeret (se figur 6, "Repræsentation af en tilstand i relationerne View”).
Figur 6. Repræsentation af en tilstand i relationerne Viewpure-systems 2024 Connector til kildekodestyringssoftware - figur 6For at få en detaljeret forklaring på, hvordan man definerer betingelser, se afsnittet ps:condtext i kapitel 9.5.7 i pure::variants User's Guide (Reference–>Predefined Source Element Types–>ps:condtext).
C/C++ Preprocessor-konstanter
C/C++ Preprocessor Indexer scanner files for konstanter brugt i præprocessorregler (f.eks. #ifdef, #ifndef, …).
Hvis et ps:flag eller ps:flagfile element er valgt Relationer View viser brugen af ​​den definerede præprocessorkonstant.
Relationerne View viser også præprocessorkonstanter forbundet med funktioner ved hjælp af kortlægningsmønstre. Til dette udvides mønstrene med dataene for den valgte funktion. De resulterende symboler bruges til at søge efter matchende præprocessorkonstanter. Figur 7, "Repræsentation af en C/C++ Preprocessor-konstant i relationerne View” viser en example med mønsteret berømmelse{Navn}. Mønsteret er udvidet med det unikke navn på funktionen til fameNative. I den indekserede kode er der 76 steder, hvor præprocessorens konstante fameNative bruges.
Disse steder er vist i Relationer View. Mønstrene kan defineres i præferencerne (se afsnit 3.3, "Preferences").
Figur 7. Repræsentation af en C/C++ Preprocessor-konstant i relationerne Viewpure-systems 2024 Connector til kildekodestyringssoftware - figur 7

3.3. Præferencerne
For at ændre standardadfærden for indekseren skal du åbne Eclipse-indstillingerne og vælge siden Relationsindeksering i kategorien Variantstyring. Siden viser to lister.
Figur 8. Foretrukket side for relationsindekseringpure-systems 2024 Connector til kildekodestyringssoftware - figur 8Den øverste liste indeholder standarden file mønstre for indekseren (1). Denne liste er den indledende mønsterindstilling for nyligt aktiverede projekter.
Den nederste liste indeholder kortlægningen mellem funktioner og præprocessorkonstanter (2). Denne kortlægning bruges til alle projekter. Tabel 1, "Understøttede kortlægningserstatninger" viser alle mulige erstatninger.
Tabel 1. Understøttede kortlægningserstatninger

Wildcard Beskrivelse  Example: FeatureA
Navn det unikke navn på den valgte funktion FLAG_{Navn} – FLAG_FeatureA
NAVN store bogstaver Unikt navn på den valgte funktion FLAG_{NAME} – FLAG_FEATUREA
navn små bogstaver Unikt navn på den valgte funktion flag_{navn} – flag_featurea

pure-systems logo

Dokumenter/ressourcer

pure-systems 2024 Connector til kildekodestyringssoftware [pdfBrugermanual
2024, 2024 Connector til Source Code Management Software, Connector til Source Code Management Software, Source Code Management Software, Management Software, Software

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *