pure::variants – Conector pentru
Manual de gestionare a codului sursă
Parametric Technology GmbH
Versiunea 6.0.7.685 pentru pure::variants 6.0
Copyright © 2003-2024 Parametric Technology GmbH
2024
Introducere
pure::variants Conector pentru gestionarea codului sursă (Conector) permite dezvoltatorilor să gestioneze variabilitatea codului sursă folosind pure::variants. Managementul codului sursă al pure::variants oferă o oportunitate flexibilă de sincronizare a structurilor de directoare și a codului sursă fileeste ușor cu modele pure::variants. Astfel, managementul variantelor poate fi aplicat chiar și la proiecte software complexe. În plus, conexiunile dintre caracteristicile pure::variants și codul sursă pot fi gestionate mai ușor cu generatorul și sunt foarte accesibile prin Managementul codului sursă.
1.1. Cerințe software
Conectorul pure::variants pentru gestionarea codului sursă este o extensie pentru pure::variants și este disponibil pe toate platformele acceptate.
1.2. Instalare
Vă rugăm să consultați secțiunea pure::variants Connectors din pure::variants Setup Guide pentru informații detaliate despre cum să instalați conectorul (meniul Ajutor -> Help Contents și apoi pure::variants Setup Guide -> pure::variants Connectors).
1.3. Despre acest manual
Se așteaptă ca cititorul să aibă cunoștințe de bază și experiențe cu variantele pure::. Vă rugăm să consultați materialul său introductiv înainte de a citi acest manual. Manualul este disponibil în ajutor online, precum și în format PDF imprimabil aici.
Utilizarea conectorului
2.1. Pornind pur::variante
În funcție de metoda de instalare folosită, fie porniți pur::variants-enabled Eclipse, fie sub Windows selectați elementul pure::variants din meniul programului.
Dacă perspectiva Gestionare variante nu este deja activată, faceți acest lucru selectând-o din Perspectivă deschisă->Altele... în meniul Fereastră.
2.2. Importați un arbore de director într-un model de familie
Înainte de a importa un arbore de directoare într-un model de familie, trebuie creat un proiect de variante. De asemenea, este sugestiv să aveți deja caracteristici definite într-un Model de caracteristici. Vă rugăm să consultați documentația pure::variants pentru ajutor cu privire la acești pași.
Importul propriu-zis este pornit prin selectarea acțiunii Import... fie din meniul contextual al Proiectelor view sau cu meniul Import... din File meniu. Selectați Variant Models sau Projects din categoria Variant Management și apăsați Next. În pagina următoare, selectați Import a Family Model din folderele sursă și apăsați din nou Next.
Alegeți tipul de cod sursă de importat
Apare asistentul de import (vezi Figura 1, „Pagina expertului de import pentru a selecta tipul de cod sursă care poate fi importat”). Selectați un tip de proiect de importat și apăsați Următorul. Fiecare tip conține un set predefinit de file tipuri de importat în model.
Figura 1. Pagina expertului de import pentru a selecta tipul de cod sursă care poate fi importatSelectați Sursă și țintă
Pe următoarea pagină a expertului (Figura 2, „Pagina expertului de import pentru a selecta sursa și ținta pentru import”) trebuie specificate directorul sursă și modelul țintă.
Apăsați butonul Răsfoire... pentru a selecta directorul în care există codul sursă care ar trebui importat. În mod implicit, spațiul de lucru curent este selectat, deoarece acesta ar putea fi un punct util pentru a începe navigarea.
Mai jos puteți specifica modelul include și exclude. Aceste modele trebuie să fie expresii regulate Java. Fiecare cale de intrare, în raport cu folderul rădăcină sursă, este verificată cu aceste modele. Dacă modelul de includere se potrivește, un folder este importat, dacă modelul de excludere nu se potrivește. Însemnând că modelul de includere selectează în prealabil folderele de importat, modelul de excludere restricționează această preselecție.
După selectarea directorului codului sursă trebuie definit un model țintă. Prin urmare, selectați o variantă de proiect sau un folder în care ar trebui să fie stocat modelul și introduceți un nume de model. The file numele este extins automat cu extensia .ccfm dacă nu este dat în acest dialog. În mod implicit, acesta va fi setat la același nume ca și numele modelului. Aceasta este setarea recomandată.
După ce sunt specificate un folder sursă adecvat și numele modelului dorit, dialogul poate fi încheiat apăsând pe Terminare. Dacă este apăsat butonul Următorul, apare o altă pagină unde se pot face setări suplimentare.
Figura 2. Pagina expertului de import pentru a selecta sursa și ținta pentru importModificați preferințele de import
Pe ultima pagină a vrăjitorului (Figura 3, „Pagina expertului de import pentru a defini o configurație individuală”) există preferințe care pot fi făcute pentru a personaliza comportamentul de import pentru proiectul software importat.
Pagina de dialog arată un tabel în care file sunt definite tipuri, care vor fi luate în considerare de procesul de import.
Fiecare linie este formată din patru câmpuri.
- Câmpul Descriere conține un scurt text descriptiv pentru a identifica file tip.
- The File Câmpul model de nume este utilizat pentru a selecta files să fie importate atunci când se potrivesc cu valoarea câmpurilor. Câmpul folosește următoarea sintaxă:
- Cel mai frecvent caz de utilizare poate fi a file extensie. Sintaxa obișnuită este .EXT, unde EXT este cea dorită file extensie (ex. .java).
- O altă situație comună este una specială file, ca o marcafile. Prin urmare, este posibil să se potrivească exact file nume. Pentru a face acest lucru, trebuie doar să introduceți file nume în câmp (de ex. build.xml).
- În unele cazuri, dorințele de cartografiere sunt mai specifice, deci numai filetrebuie importate cele care se potrivesc cu un model special. Pentru a se potrivi acestei cerințe, este posibil să folosiți expresii regulate în File câmpul model de nume.
Descrierea sintaxei expresiilor regulate ar depăși scopul acestui ajutor. Vă rugăm să consultați secțiunea cu expresii regulate a capitolului de referință din ghidul utilizatorului pur::variants (de ex.
- Câmpul Tip element mapat setează maparea între a file tip și un tip de element de familie pur::variants. Tipul de element de familie este un descriptor pentru sursă file pentru a furniza informații suplimentare elementului mapat în modelul importat. Selecțiile tipice sunt ps:class sau ps:makefile.
- The Maped file câmpul tip setează maparea între a file tip și un pur::variante file tip. The file type in pure::variants este un descriptor pentru sursă file pentru a furniza informații suplimentare elementului mapat în modelul importat. Selecțiile tipice sunt impl pentru implementări sau def pentru definiție files.
Figura 3. Pagina expertului de import pentru a defini o configurație individualăNou file tipurile pot fi adăugate utilizând butonul Adăugare mapare. Toate câmpurile sunt completate cu valoarea nedefinită și trebuie completate de utilizator. Pentru a edita o valoare dintr-un câmp, faceți clic pe câmp cu mouse-ul. Valoarea devine editabilă și poate fi modificată. Nu este posibil să schimbați valoarea implicită file modele de nume ale tabelului. Pentru a face o personalizare flexibilă, este posibil să deselectați a file tastați prin deselectarea rândului. Deselectat file modelele de nume rămân în configurație, dar nu vor fi folosite de importator. Definit de utilizator file tipurile pot fi eliminate din nou utilizând butonul Eliminare mapare.
În mod implicit, un Altul files file modelul de nume este disponibil în tabel, dar este deselectat. De obicei, nu se dorește importarea tuturor files, dar acest lucru poate fi schimbat cu ușurință selectând rândul corespunzător.
Există trei opțiuni generale de import pentru a personaliza comportamentul importatorului.
- Nu importați directoare fără potrivire files (de ex. directoare CVS).
Dacă importatorul găsește un director în care nu se potrivește file se află în el și unde niciun subdirector nu are o potrivire file, directorul nu va fi importat. Acest lucru este adesea util, dacă proiectele sunt gestionate de sisteme de management al versiunilor precum CVS. Pentru CVS, fiecare director relevant conține un director CVS acolo unde este irelevant filesunt stocate. Dacă această opțiune este selectată și CVS-files nu se potrivesc cu niciuna file tip definit mai sus, directorul nu va fi importat ca componentă în Modelul de familie. - Sorta files și directoare.
Activați această opțiune pentru sortare files și directoare fiecare în ordine alfabetică. - Gestionarea căilor de import.
Pentru o sincronizare suplimentară, importatorul trebuie să stocheze calea originală a tuturor elementelor importate în model.
În multe cazuri, modelele de familie sunt partajate cu alți utilizatori. Structura directorului poate fi diferită pentru fiecare utilizator. Pentru a sprijini cele mai comune scenarii de utilizare, importatorul poate lucra în diferite moduri:
Absolut | Calea absolută către elementul importat va fi stocată în model. Pentru sincronizarea ulterioară și în timpul transformării filetrebuie plasate exact în aceeași locație ca în timpul primului import. |
Relativ la spațiul de lucru | Căile sunt stocate în raport cu folderul spațiului de lucru. Pentru sincronizare files trebuie să facă parte din spațiul de lucru Eclipse. Transformarea trebuie să folosească spațiul de lucru Eclipse ca director de intrare. |
Relativ la Proiect | Căile sunt stocate în raport cu proiectul. Pentru sincronizare files fac parte din proiectul din Eclipse. Transformarea trebuie să folosească folderul de proiect ca director de intrare. |
Relativ la Calea | Căile sunt stocate în raport cu calea dată. Pentru sincronizare filetrebuie amplasate exact în aceeași locație. Directorul de intrare a transformării este același cu calea relativă în timpul importului. |
Toate preferințele acestui dialog sunt stocate permanent. Personalizările personale nu trebuie refăcute de fiecare dată când se execută importul. Acest lucru face fluxul de lucru de import ușor și rapid.
2.3. Actualizarea modelelor din arborele director
Apăsați butonul Sincronizare pentru a sincroniza un model importat cu calea directorului său. Calea rădăcină a proiectului este stocată în model, astfel încât se va sincroniza cu același director ca înainte. Pentru a activa butonul Sincronizare, deschideți modelul și selectați orice element. După apăsarea butonului Sincronizare se deschide un Editor de comparare, unde modelul actual de familie și modelul structurii curente de directoare sunt opuse (vezi Figura 4, „Actualizarea modelului din arborele de director în Editorul de comparare”).
Figura 4. Actualizarea modelului din Directory Tree din Compare Editor Editorul de comparare este folosit în toate variantele pure::variants pentru a compara versiunile de model, dar în acest caz este folosit pentru a compara structura directorului fizic (afișată în partea dreaptă jos) cu modelul actual pur::variants (partea stângă jos). Toate modificările sunt listate ca elemente separate în partea de sus a editorului, ordonate după elementele afectate.
Selectarea unui articol din această listă evidențiază modificarea respectivă în ambele modele. În exampUn element adăugat este marcat cu o casetă în partea dreaptă și conectat cu poziția sa fezabilă în modelul din partea stângă. Bara de instrumente Merge între ferestrele superioare și inferioare ale editorului oferă instrumente pentru a copia un singur sau chiar toate modificările (fără conflicte) în ansamblu din modelul de arbore de director în Modelul de caracteristici.
Nota
Sincronizarea se face cu ultimele setări ale importatorului utilizate. Acest lucru face posibilă actualizarea modelului cu alte setări, așa cum au fost efectuate în timp ce importul a fost efectuat.
Utilizarea indexatorului de relații
Conectorul pentru managementul codului sursă îmbunătățește relațiile View cu informații despre conexiunile dintre elementele modelului pure::variants și codul sursă. Sunt adăugate relații pentru caracteristicile care sunt utilizate în condițiile elementelor ps:condxml și ps:condtext.
Pentru ps:flag și ps:flagfile elementelor locația constantelor preprocesorului în sursa C/C++ filesunt afișate. În plus, locațiile constantelor de preprocesor care se potrivesc sunt afișate pentru o caracteristică selectată utilizând maparea dintre numele unice ale caracteristicilor și constantele de preprocesor.
3.1. Adăugarea indexatorului de relații la un proiect
Indexatorul de relații poate fi activat pe o pagină specială de proprietăți a proiectului. Selectați proiectul și alegeți elementul Proprietăți din meniul contextual. În dialogul care urmează, selectați pagina Relation Indexer.
Figura 5. Pagina de proprietate a proiectului pentru indexorul de relații
Indexatorul de relații este activat pentru proiect prin selectarea opțiunii Enable Relation Indexer (1). După activarea indexerului, există mai multe opțiuni pentru a defini comportamentul specific proiectului. Indexarea Condițiilor pure::variants și a constantelor preprocesorului C/C++ poate fi activată separat (2). Lista cu file modele de nume (3) este folosit pentru a selecta files pentru indexare. Numai filesunt scanate cele care se potrivesc cu unul dintre modele. Adăugați „*” ca model pentru a scana tot files ale unui proiect.
După activarea indexatorului pentru un proiect, un constructor este adăugat la proiect. Scanările acestui constructor au fost modificate files pentru relații noi cu elementele modelului pure::variants automat.
3.2. Relațiile cu codul sursă
Cu indexorul de relații activat, Relațiile View conţine intrări suplimentare. Aceste intrări arată numele file și numărul de linie al punctului variantă. Sfatul instrumentului arată secțiunea corespunzătoare a file. Făcând dublu clic pe intrarea file va fi deschis într-un editor.
pure::variante Conditii
Condiția pure::variants poate fi utilizată pentru a include sau exclude secțiuni din a file în funcție de selecția unei caracteristici. Condition Indexer scanează astfel de reguli și extrage caracteristicile la care se face referire. Dacă o astfel de caracteristică este selectată în editorul Relații View va arăta tot files și liniile în care se află o condiție cu caracteristica selectată (vezi Figura 6, „Reprezentarea unei condiții în relații View”).
Figura 6. Reprezentarea unei condiții în relații ViewPentru a obține o explicație detaliată despre cum să definiți condițiile, consultați secțiunea ps:condtext din capitolul 9.5.7 din Ghidul utilizatorului pure::variants (Referință–>Tipuri de elemente sursă predefinite–>ps:condtext).
Constantele preprocesorului C/C++
Scanează C/C++ Preprocessor Indexer files pentru constantele utilizate în regulile preprocesorului (de ex. #ifdef, #ifndef, …).
Dacă un ps:flag sau ps:flagfile este selectat elementul Relații View arată utilizarea constantei de preprocesor definită.
Relațiile View de asemenea, arată constantele preprocesorului conectate la caracteristici prin utilizarea modelelor de mapare. Pentru aceasta, modelele sunt extinse cu datele caracteristicii selectate. Simbolurile rezultate sunt folosite pentru a căuta constante de preprocesor care se potrivesc. Figura 7, „Reprezentarea unei constante de preprocesor C/C++ în relații View” arată un example cu faima de model{Nume}. Modelul este extins cu numele unic al caracteristicii la fameNative. În codul indexat există 76 de locații în care este folosită constanta preprocesorului fameNative.
Aceste locații sunt afișate în Relații View. Modelele pot fi definite în preferințe (vezi Secțiunea 3.3, „Preferințe”).
Figura 7. Reprezentarea unei constante de preprocesor C/C++ în relații View
3.3. Preferințele
Pentru a schimba comportamentul implicit al indexorului, deschideți preferințele Eclipse și selectați pagina Relation Indexer din categoria Variant Management. Pagina prezintă două liste.
Figura 8. Pagina Preferințe indexator de relațiiLista de sus conține valoarea implicită file modele pentru indexator (1). Această listă este setarea inițială a modelului pentru proiectele nou activate.
Lista de jos conține maparea dintre caracteristici și constantele preprocesorului (2). Această mapare este utilizată pentru toate proiectele. Tabelul 1, „Înlocuiri de cartografiere acceptate” arată toate înlocuirile posibile.
Tabelul 1. Înlocuiri de cartografiere acceptate
Wildcard | Descriere | Example: FeatureA |
Nume | Numele unic al caracteristicii selectate | FLAG_{Nume} – FLAG_FeatureA |
NUME | Numele unic cu majuscule al caracteristicii selectate | FLAG_{NAME} – FLAG_FEATUREA |
nume | Numele unic cu litere mici al caracteristicii selectate | flag_{name} – flag_featurea |
Documente/Resurse
![]() |
Conector pure-systems 2024 pentru software-ul de gestionare a codului sursă [pdfManual de utilizare 2024, 2024 Conector pentru software de gestionare a codului sursă, conector pentru software de gestionare a codului sursă, software de gestionare a codului sursă, software de management, software |