pure-systems-logopure-systems 2024 Connector voor broncodebeheersoftwarepure::variants – Connector voor
Handleiding voor broncodebeheer
Parametrische Technologie GmbH
Versie 6.0.7.685 voor pure::varianten 6.0
Auteursrecht © 2003-2024 Parametric Technology GmbH
2024

Invoering

pure::variants Connector voor Source Code Management (Connector) stelt ontwikkelaars in staat om broncodevariabiliteit te beheren met behulp van pure::variants. Het Source Code Management van pure::variants biedt een flexibele mogelijkheid om directorystructuren en broncode te synchroniseren files eenvoudig met pure::variants modellen. Daardoor kan variantenbeheer praktisch worden toegepast, zelfs op complexe softwareprojecten. Bovendien kunnen verbindingen tussen pure::variants functies en broncode eenvoudiger worden beheerd met de builder en zijn ze zeer toegankelijk via het broncodebeheer.
1.1. Softwarevereisten
De pure::variants Connector voor broncodebeheer is een uitbreiding voor pure::variants en is beschikbaar op alle ondersteunde platforms.
1.2. Installatie
Raadpleeg de sectie pure::variants Connectors in de pure::variants Installatiehandleiding voor gedetailleerde informatie over het installeren van de connector (menu Help -> Help-inhoud en vervolgens pure::variants Installatiehandleiding -> pure::variants Connectors).
1.3. Over deze handleiding
Van de lezer wordt verwacht dat hij basiskennis heeft over en ervaring heeft met pure::variants. Raadpleeg het inleidende materiaal voordat u deze handleiding leest. De handleiding is beschikbaar in online help en in afdrukbaar PDF-formaat hier.

Connector gebruiken

2.1. Pure::variants starten
Afhankelijk van de gebruikte installatiemethode start u Eclipse met pure::variants of selecteert u onder Windows het item pure::variants in het programmamenu.
Als het perspectief Variantenbeheer nog niet is geactiveerd, doet u dit door het te selecteren via Perspectief openen->Overig… in het menu Venster.
2.2. Importeer een directoryboom in een familiemodel
Voordat u een directory tree importeert in een Family Model, moet u een variantenproject aanmaken. Het is ook aan te raden om features al te definiëren in een Feature Model. Raadpleeg de pure::variants documentatie voor hulp bij deze stappen.
De daadwerkelijke import wordt gestart door de actie Importeren… te selecteren in het contextmenu van Projecten view of met het menu Importeren… in de File menu. Selecteer Variant Models of Projects uit de categorie Variant Management en druk op Next. Selecteer op de volgende pagina Import a Family Model from source folders en druk nogmaals op Next.
Kies het type broncode dat u wilt importeren
De importwizard verschijnt (zie Afbeelding 1, “Pagina van de importwizard om het type broncode te selecteren dat geïmporteerd mag worden”). Selecteer een projecttype om te importeren en druk op Volgende. Elk type bevat een vooraf gedefinieerde set file typen die u naar het model wilt importeren.
Figuur 1. Pagina van de importwizard om het type broncode te selecteren dat geïmporteerd mag wordenpure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 1Selecteer bron en doel
Op de volgende wizardpagina (Figuur 2, “Pagina van de importwizard om de bron en het doel voor de import te selecteren”) De bronmap en het doelmodel moeten worden opgegeven.
Druk op de knop Browse… om de directory te selecteren waar de broncode staat die geïmporteerd moet worden. Standaard is de huidige werkruimte geselecteerd omdat dit een handig punt kan zijn om te beginnen met navigeren.
Hieronder kunt u include- en exclude-patronen opgeven. Deze patronen moeten Java-reguliere expressies zijn. Elk invoerpad, relatief ten opzichte van de bronmap, wordt gecontroleerd met deze patronen. Als het include-patroon overeenkomt, wordt een map geïmporteerd, als het exclude-patroon niet overeenkomt. Dit betekent dat het include-patroon de te importeren mappen vooraf selecteert, maar het exclude-patroon deze voorselectie beperkt.
Na het selecteren van de broncodedirectory moet een doelmodel worden gedefinieerd. Selecteer daarom een ​​variantproject of een map waar het model moet worden opgeslagen en voer een modelnaam in. De file naam wordt automatisch uitgebreid met de extensie .ccfm als deze niet in dit dialoogvenster is opgegeven. Standaard wordt deze ingesteld op dezelfde naam als de modelnaam zelf. Dit is de aanbevolen instelling.
Nadat een handige bronmap en de gewenste modelnaam zijn opgegeven, kan het dialoogvenster worden voltooid door op Finish te drukken. Als op de knop Next wordt gedrukt, verschijnt er een volgende pagina waar aanvullende instellingen kunnen worden gedaan.
Figuur 2. Pagina van de importwizard om de bron en het doel voor de import te selecterenpure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 2Importvoorkeuren wijzigen
Op de laatste wizardpagina (Figuur 3, “Pagina van de importwizard om een ​​individuele configuratie te definiëren”) zijn er voorkeuren die kunnen worden ingesteld om het importgedrag voor het geïmporteerde softwareproject aan te passen.
De dialoogpagina toont een tabel waarin de file Er worden typen gedefinieerd die in aanmerking worden genomen bij het importproces.
Elke regel bestaat uit vier velden.

  • Het veld Beschrijving bevat een korte beschrijvende tekst om de file type.
  • De File naampatroonveld wordt gebruikt om te selecteren files die geïmporteerd moeten worden wanneer ze overeenkomen met de veldwaarde. Het veld gebruikt de volgende syntaxis:
  1. Het meest voorkomende gebruiksscenario kan zijn: file extensie. De gebruikelijke syntaxis is .EXT, waarbij EXT de gewenste is file extensie (bijv. .java).
  2. Een andere veelvoorkomende situatie is een speciale file, zoals een make-upfile. Daarom is het mogelijk om op exact dezelfde manier te matchen file naam. Om dit te doen, voer je gewoon de file naam in het veld (bijv. build.xml).
  3. In sommige gevallen zijn de wensen voor het in kaart brengen specifieker, dus alleen files die overeenkomen met een speciaal patroon moeten worden geïmporteerd. Om aan deze vereiste te voldoen, is het mogelijk om reguliere expressies te gebruiken in de File naampatroonveld.
    Het beschrijven van de syntaxis van reguliere expressies zou de bedoeling van deze help te buiten gaan. Raadpleeg de sectie reguliere expressies van het referentiehoofdstuk in de pure::variants gebruikershandleiding (bijv. .*).
  • Het veld Toegewezen elementtype stelt de toewijzing in tussen een file type en een pure::variants familie-elementtype. Het familie-elementtype is een descriptor voor de bron file om meer informatie te verstrekken aan het toegewezen element in het geïmporteerde model. Typische selecties zijn ps:class of ps:makefile.
  • De in kaart gebrachte file type veld stelt de toewijzing in tussen een file type en een pure::variants file type. De file type in pure::variants is een descriptor voor de bron file om meer informatie te verstrekken aan het toegewezen element in het geïmporteerde model. Typische selecties zijn impl voor implementaties of def voor definitie files.

Figuur 3. Pagina van de importwizard om een ​​individuele configuratie te definiërenpure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 3Nieuw file types kunnen worden toegevoegd met behulp van de knop Mapping toevoegen. Alle velden worden ingevuld met de waarde undefined en moeten door de gebruiker worden ingevuld. Om een ​​waarde in een veld te bewerken, klikt u gewoon met de muis in het veld. De waarde wordt bewerkbaar en kan worden gewijzigd. Het is niet mogelijk om de standaardwaarde te wijzigen file naampatronen van de tabel. Om een ​​aanpassing flexibel te maken, is het mogelijk om een file type door de rij te deselecteren. Gedeselecteerd file naampatronen blijven in de configuratie, maar worden niet door de importeur gebruikt. Door de gebruiker gedefinieerd file Typen kunnen opnieuw worden verwijderd met de knop Toewijzing verwijderen.
Standaard een Andere files file naampatroon is beschikbaar in de tabel maar niet geselecteerd. Meestal is het niet gewenst om alle files maar dit kan eenvoudig worden gewijzigd door de betreffende rij te selecteren.
Er zijn drie algemene importopties waarmee u het gedrag van de importer kunt aanpassen.

  • Importeer geen mappen zonder overeenkomende files (bijv. CVS-directory's).
    Als de importeur een directory vindt waar geen overeenkomende file staat erin en waar geen submap een overeenkomende heeft file, wordt de directory niet geïmporteerd. Dit is vaak handig als projecten worden beheerd door versiebeheersystemen zoals CVS. Voor CVS bevat elke relevante directory een CVS-directory waarin irrelevante files worden opgeslagen. Als deze optie is geselecteerd en de CVS-files komen niet overeen met een file Als het hierboven gedefinieerde type niet wordt gebruikt, wordt de map niet als onderdeel in het familiemodel geïmporteerd.
  • Soort files en mappen.
    Schakel deze optie in om te sorteren files en mappen, elk in alfabetische volgorde.
  • Importpadverwerking.
    Voor verdere synchronisatie moet de importeur het oorspronkelijke pad van alle geïmporteerde elementen in het model opslaan.
    In veel gevallen worden Family Models gedeeld met andere gebruikers. De directorystructuur kan voor elke gebruiker anders zijn. Om de meest voorkomende gebruiksscenario's te ondersteunen, kan de importer in verschillende modi werken:
Absoluut Het absolute pad naar het geïmporteerde element wordt opgeslagen in het model. Voor latere synchronisatie en tijdens de transformatie wordt de filemoeten op exact dezelfde locatie worden geplaatst als tijdens de eerste import.
Gerelateerd aan werkruimte De paden worden relatief ten opzichte van de werkruimtemap opgeslagen. Voor synchronisatie is de files moet deel uitmaken van de Eclipse-werkruimte. De transformatie moet de Eclipse-werkruimte gebruiken als invoerdirectory.
Gerelateerd aan Project De paden worden relatief ten opzichte van het project opgeslagen. Voor synchronisatie is de files zijn onderdeel van het project binnen Eclipse. De transformatie moet de projectmap gebruiken als invoerdirectory.
Relatief ten opzichte van pad De paden worden relatief ten opzichte van het gegeven pad opgeslagen. Voor synchronisatie is de files moeten op exact dezelfde locatie worden geplaatst. De transformatie-invoerdirectory is hetzelfde als het relatieve pad tijdens de import.

Alle voorkeuren van dit dialoogvenster worden permanent opgeslagen. De persoonlijke aanpassingen hoeven niet telkens opnieuw te worden gedaan wanneer de import wordt uitgevoerd. Dit maakt de importworkflow eenvoudig en snel.
2.3. Modellen bijwerken vanuit de directoryboom
Druk op de knop Synchroniseren pure-systems 2024 Connector voor broncodebeheersoftware - pictogramom een ​​geïmporteerd model te synchroniseren met zijn directorypad. Het rootpad van het project is opgeslagen in het model, zodat het wordt gesynchroniseerd met dezelfde directory als voorheen. Om de knop Synchroniseren in te schakelen, opent u het model en selecteert u een element. Nadat u op de knop Synchroniseren hebt gedrukt, wordt een vergelijkingseditor geopend waarin het huidige familiemodel en het model van de huidige directorystructuur tegenover elkaar staan ​​(zie Afbeelding 4, "Modelupdate van directoryboom in vergelijkingseditor").
Figuur 4. Modelupdate vanuit Directory Tree in Compare Editor   pure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 4De vergelijkingseditor wordt gebruikt in pure::variants om modelversies te vergelijken, maar in dit geval wordt het gebruikt om de fysieke directorystructuur (weergegeven in de rechteronderhoek) te vergelijken met het huidige pure::variants-model (linkeronderhoek). Alle wijzigingen worden weergegeven als afzonderlijke items in het bovenste gedeelte van de editor, geordend op de beïnvloede elementen.
Als u een item in deze lijst selecteert, wordt de betreffende wijziging in beide modellen gemarkeerd. In de example, een toegevoegd element wordt gemarkeerd met een vakje aan de rechterkant en verbonden met de haalbare positie in het model aan de linkerkant. De werkbalk Samenvoegen tussen bovenste en onderste editorvensters biedt hulpmiddelen om enkele of zelfs alle (niet-conflicterende) wijzigingen als geheel te kopiëren van het directory tree model naar het Feature Model.
Opmerking
De synchronisatie wordt gedaan met de laatst gebruikte importer-instellingen. Dit maakt het mogelijk om het model bij te werken met andere instellingen die zijn gemaakt terwijl de import werd gedaan.

Relatie-indexer gebruiken

De Connector voor Broncodebeheer verbetert de relaties View met informatie over verbindingen tussen pure::variants modelelementen en broncode. Relaties worden toegevoegd voor features die worden gebruikt in condities van de ps:condxml en ps:condtext elementen.
Voor ps:flag en ps:flagfile elementen de locatie van preprocessorconstanten in C/C++-bron files worden weergegeven. Daarnaast worden de locaties van overeenkomende preprocessorconstanten weergegeven voor een geselecteerde feature door gebruik te maken van de mapping tussen feature-unieke namen en preprocessorconstanten.
3.1. De relatie-indexer toevoegen aan een project
De relatie-indexer kan worden geactiveerd op een speciale project-eigenschappenpagina. Selecteer het project en kies het item Eigenschappen in het contextmenu. Selecteer in het komende dialoogvenster de pagina Relatie-indexer.
Figuur 5. Project-eigenschappenpagina voor de relatie-indexerpure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 5

De relatie-indexer wordt geactiveerd voor het project door de optie Enable Relation Indexer (1) te selecteren. Na het inschakelen van de indexer zijn er nog enkele opties om het projectspecifieke gedrag te definiëren. De indexering van pure::variants-voorwaarden en C/C++-preprocessorconstanten kan afzonderlijk worden geactiveerd (2). De lijst met file naampatronen (3) worden gebruikt om de files voor indexering. Alleen files die overeenkomen met een van de patronen worden gescand. Voeg het "*" toe als patroon om alle filevan een project.
Na het activeren van de indexer voor een project wordt een builder toegevoegd aan het project. Deze builder scant gewijzigde files voor nieuwe relaties met pure::variants modelelementen automatisch.
3.2. De relaties met de broncode
Met geactiveerde relatie-indexer de relaties View bevat extra vermeldingen. Deze vermeldingen tonen de naam van de file en het regelnummer van het variantpunt. De tooltip toont het juiste gedeelte van de fileDoor dubbel te klikken op de invoer, file wordt geopend in een editor.
pure::variants Voorwaarden
De voorwaarde pure::variants kan worden gebruikt om secties van een file afhankelijk van een featureselectie. De Condition Indexer scant naar dergelijke regels en extraheert de gerefereerde features. Als een dergelijke feature in de editor is geselecteerd, worden de Relations View zal alles tonen files en lijnen waar een voorwaarde met het geselecteerde kenmerk zich bevindt (zie Afbeelding 6, “Weergave van een voorwaarde in de relaties View”).
Figuur 6. Weergave van een conditie in de relaties Viewpure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 6Voor een gedetailleerde uitleg over het definiëren van voorwaarden, raadpleegt u de sectie ps:condtext van hoofdstuk 9.5.7 van de pure::variants Gebruikershandleiding (Referentie–>Vooraf gedefinieerde bron-elementtypen–>ps:condtext).
C/C++ Preprocessor-constanten
De C/C++ Preprocessor Indexer scant files voor constanten die worden gebruikt in preprocessorregels (bijv. #ifdef, #ifndef, …).
Als een ps:flag of ps:flagfile element is geselecteerd de relaties View toont het gebruik van de gedefinieerde preprocessorconstante.
De relaties View toont ook preprocessorconstanten die zijn verbonden met features door middel van mappingpatronen. Hiervoor worden de patronen uitgebreid met de gegevens van de geselecteerde feature. De resulterende symbolen worden gebruikt om te zoeken naar overeenkomende preprocessorconstanten. Figuur 7, “Weergave van een C/C++ Preprocessor Constante in de Relations View"toont een example met het patroon fame{Name}. Het patroon wordt uitgebreid met de unieke naam van de feature naar fameNative. In de geïndexeerde code zijn er 76 locaties waar de preprocessorconstante fameNative wordt gebruikt.
Deze locaties worden weergegeven in de Relaties ViewDe patronen kunnen worden gedefinieerd in de voorkeuren (zie Sectie 3.3, “De voorkeuren”).
Figuur 7. Weergave van een C/C++ Preprocessor Constante in de Relations Viewpure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 7

3.3. De voorkeuren
Om het standaardgedrag van de indexer te wijzigen, opent u de Eclipse-voorkeuren en selecteert u de pagina Relation Indexer in de categorie Variant Management. De pagina toont twee lijsten.
Figuur 8. Voorkeurpagina voor relatie-indexerpure-systems 2024 Connector voor broncodebeheersoftware - Afbeelding 8De bovenste lijst bevat de standaard file patronen voor de indexer (1). Deze lijst is de initiële patrooninstelling voor nieuw ingeschakelde projecten.
De onderste lijst bevat de mapping tussen features en preprocessorconstanten (2). Deze mapping wordt voor alle projecten gebruikt. Tabel 1, “Supported Mapping Replacements” toont alle mogelijke vervangingen.
Tabel 1. Ondersteunde vervangingen voor mapping

Wildcard Beschrijving  Example: KenmerkA
Naam de unieke naam van de geselecteerde functie FLAG_{Naam} – FLAG_KenmerkA
NAAM de hoofdletter Unieke naam van het geselecteerde kenmerk VLAG_{NAAM} – VLAG_FUNCTIEA
naam de kleine letter Unieke naam van het geselecteerde kenmerk vlag_{naam} – vlag_kenmerk

pure-systems-logo

Documenten / Bronnen

pure-systems 2024 Connector voor broncodebeheersoftware [pdf] Gebruikershandleiding
2024, 2024 Connector voor broncodebeheersoftware, Connector voor broncodebeheersoftware, Broncodebeheersoftware, Beheersoftware, Software

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *