pure::variants - Connettore per
Manuale di gestione di codice sorgente
Parametric Technology GmbH
Versione 6.0.7.685 per pure::variants 6.0
Copyright © 2003-2024 Parametric Technology GmbH
2024
Introduzione
pure::variants Connector for Source Code Management (Connettore) permette à i sviluppatori di gestisce a variabilità di u codice fonte usendu pure::variants. A gestione di u codice sorgente di pure::variants furnisce una opportunità flessibile per sincronizà strutture di repertoriu è codice fonte files facilmente cù mudelli puri::varianti. Cusì a gestione di varianti pò esse applicata praticabile ancu à prughjetti di software cumplessi. Inoltre, e cunnessioni trà e funzioni puri::varianti è u codice fonte pò esse gestite più faciule cù u custruttore è sò assai accessibili via a Gestione di u codice sorgente.
1.1. Requisiti Software
Puru::variants Connector per a gestione di u codice sorgente hè una estensione per pure::variants è hè dispunibule nantu à tutte e plataforme supportate.
1.2. Installazione
Per piacè cunsultate a sezione pure::variants Connectors in a pure::variants Setup Guide per infurmazioni detallate nantu à cumu installà u connector (menu Help -> Help Contents è dopu pure::variants Setup Guide -> pure::variants Connectors).
1.3. Circa stu manual
U lettore hè previstu d'avè cunniscenze basi è sperienze cù puri::varianti. Per piacè cunsultate u so materiale introduttivu prima di leghje stu manuale. U manuale hè dispunibule in l'aiutu in linea è in u format PDF stampabile quì.
Utilizà u Connector
2.1. Partendu puri::varianti
Sicondu u metudu di stallazione utilizatu, sia principià l'Eclipse puro::varianti attivatu o sottu Windows selezziunate l'elementu puro::varianti da u menù di u prugramma.
Se a perspettiva di Gestione Varianti ùn hè micca digià attivata, fate cusì selezziunate da Perspettiva Aperta->Altru ... in u menù Finestra.
2.2. Importa un arburu di directory in un mudellu di famiglia
Prima di impurtà un arbulu di repertoriu in un mudellu di famiglia, un prughjettu di varianti deve esse creatu. Inoltre, hè suggeritu di avè funzioni definite in un Modellu di Funzioni digià. Per piacè cunsultate a documentazione di pure::variants per aiutu nantu à questi passi.
L'importazione attuale hè iniziata da selezziunate l'azzione Import... sia in u menù di cuntestu di i Prughjetti view o cù Import... menu in u File menu. Selezziunate Varianti Modelli o Prughjetti da a categuria Variant Management è appughjà Next. In a pagina seguente, selezziunate Import a Family Model from folders fonte è appughjà u prossimu novu.
Sceglie u tipu di codice fonte à impurtà
L'assistente d'importazione appare (vede a Figura 1, "Pagina di l'assistente d'importazione per selezziunà u tipu di codice fonte chì pò esse impurtatu"). Selezziunate un tipu di prughjettu per impurtà è appughjà Next. Ogni tipu cuntene un set predefinitu di file tipi di impurtà à u mudellu.
Figura 1. Pagina di l'assistente di impurtazione per selezziunà u tipu di codice fonte chì pò esse impurtatuSelezziunà Fonte è Target
À a prossima pagina di l'assistente (Figura 2, "Pagina di l'assistente d'importazione per selezziunà a fonte è a destinazione per l'impurtazione") u cartulare fonte è u mudellu di destinazione deve esse specificatu.
Pulsà u buttone Sfoglia… per selezziunà u cartulare induve esiste u codice fonte chì deve esse impurtatu. Per automaticamente, u spaziu di travagliu attuale hè sceltu perchè questu puderia esse un puntu utile per inizià a navigazione.
Quì sottu pudete specificà include è esclude u mudellu. Questi mudelli anu da esse espressioni regulari Java. Ogni percorsu di input, relative à u cartulare radice fonte, hè verificatu cù questi mudelli. Se u patronu include u mudellu, un cartulare hè impurtatu, se u mudellu d'esclusione ùn currisponde micca. U significatu chì u mudellu include preselezziunate i cartulare da impurtà, u mudellu d'esclusione restringe sta preselezzione.
Dopu avè sceltu u cartulare di u codice fonte, deve esse definitu un mudellu di destinazione. Per quessa, selezziunate un prughjettu varianti o un cartulare induve u mudellu deve esse guardatu è inserite un nome di mudellu. U file nome hè allargatu automaticamente cù l'estensione .ccfm s'ellu ùn hè micca datu in stu dialogu. Per automaticamente, serà stabilitu cù u stessu nome cum'è u nome di u mudellu stessu. Questu hè u paràmetru cunsigliatu.
Dopu chì un cartulare di fonte conveniente è u nome di u mudellu desideratu sò specificati, u dialogu pò esse finitu pressu Finish. Se u buttone Next hè pressatu, una altra pagina hè ghjunta induve si ponu fà paràmetri supplementari.
Figura 2. Pagina di l'assistente d'impurtazione per selezziunà a fonte è a destinazione per l'impurtazioneCambia Preferenze di Importazione
In l'ultima pagina di l'assistente (Figura 3, "Pagina di l'assistente d'importazione per definisce una cunfigurazione individuale") ci sò preferenze chì ponu esse fatte per persunalizà u cumpurtamentu impurtatu per u prughjettu di u software impurtatu.
A pagina di dialogu mostra una tabella induve u file tippi sò definiti, chì serà cunsideratu da u prucessu di impurtazione.
Ogni linea hè custituita da quattru campi.
- U campu di Descrizzione cuntene un brevi testu descrittivu per identificà file tipu.
- U File U campu di mudellu di nome hè utilizatu per selezziunà files per esse impurtati quandu currispondenu à u valore di i campi. U campu usa a sintassi seguente:
- L'usu più cumuni pò esse a file estensione. A sintassi abituale hè .EXT, induve EXT hè u desideratu file estensione (per esempiu .java).
- Una altra situazione cumuna hè una particularità file, cum'è una marcafile. Per quessa, hè pussibule cuncordà nantu à l'esatta file nomu. Per fà questu, basta à entre in u file nome in u campu (per esempiu build.xml).
- In certi casi, i desideri di mappatura sò più specifichi, cusì solu files chì currispondenu à un mudellu speciale deve esse impurtatu. Per adattà à questu requisitu hè pussibule aduprà espressioni regulari in u File campu di mudellu di nome.
A descrizzione di a sintassi di l'espressioni rigulari superava l'intenzione di questu aiutu. Per piacè cunsultate a sezione di l'espressioni regulare di u capitulu di riferimentu in a guida di l'utilizatori di pure::variants (per esempiu, .*).
- U campu di tipu d'elementu mappatu stabilisce a mappatura trà a file tipu è un tipu d'elementu di famiglia pura::variants. U tipu d'elementu famigliali hè un descrittore per a fonte file per furnisce più infurmazione à l'elementu mappatu in u mudellu impurtatu. E selezioni tipiche sò ps:class o ps:makefile.
- U Mappatu file u campu di tipu stabilisce a mappatura trà a file tipu è una pura::varianti file tipu. U file type in pure::variants hè un descrittore per a fonte file per furnisce più infurmazione à l'elementu mappatu in u mudellu impurtatu. E selezioni tipiche sò impl per implementazioni o def per definizione files.
Figura 3. Pagina di l'assistente d'importazione per definisce una cunfigurazione individualeNovu file tipi ponu esse aghjuntu cù u buttone Add Mapping. Tutti i campi sò riempiti cù u valore indefinitu è deve esse cumpletu da l'utilizatore. Per edità un valore in un campu, basta à cliccà in u campu cù u mouse. U valore diventa editable è pò esse cambiatu. Ùn hè micca pussibule di cambià u predeterminatu file mudelli di nomi di a tavula. Per fà una persunalizazione flexible, hè pussibule di diselezziunà a file tipu deselezzione di a fila. Deselected file I mudelli di nome restanu in a cunfigurazione ma ùn saranu micca utilizati da l'impurtatore. User definitu file i tipi ponu esse sguassati di novu usendu u buttone Remove Mapping.
Per automaticamente un altru files file U mudellu di nome hè dispunibule in a tavula ma diselettu. Di genere, ùn hè micca vulsutu impurtà tuttu files ma questu pò esse facilmente cambiatu scegliendu a fila adattata.
Ci hè trè opzioni di impurtazione generale per persunalizà u cumpurtamentu di l'impurtatore.
- Ùn importate micca repertorii senza currispondenza files (per esempiu, cartulari CVS).
Se l'importatore trova un repertoriu induve ùn ci hè micca currispondente file hè in questu è induve nisun subdirectory hà una corrispondenza file, u cartulare ùn serà micca impurtatu. Questu hè spessu utile, se i prughjetti sò amministrati da sistemi di gestione di versione cum'è CVS. Per CVS, ogni repertoriu pertinente cuntene un repertoriu CVS induve irrilevante files sò almacenati. Se questa opzione hè scelta è u CVS-files ùn currispondenu à alcunu file tipu definitu sopra, u cartulare ùn sarà impurtatu cum'è un cumpunenti in u mudellu di famiglia. - Sorte files è cartulari.
Abilita sta opzione per sorte files è cartulari ognunu in ordine alfabeticu. - Trattamentu di a strada d'importazione.
Per più sincronizazione, l'importatore hà bisognu di guardà a strada originale di tutti l'elementi impurtati in u mudellu.
In parechji casi, i mudelli di famiglia sò spartuti cù altri utilizatori. A struttura di u cartulare pò esse diversa per ogni utilizatore. Per sustene i scenarii d'usu più cumuni, l'importatore pò travaglià in diversi modi:
Assolutu | U percorsu assolutu à l'elementu impurtatu serà guardatu in u mudellu. Per a sincronizazione più tardi è durante a trasfurmazioni di u files hannu a pusà nant'à u listessu locu cum'è durante a prima impurtazione. |
Relativu à u spaziu di travagliu | I percorsi sò almacenati relative à u cartulare di u spaziu di travagliu. Per a sincronizazione files deve esse parti di u spaziu di travagliu Eclipse. A trasfurmazioni deve aduprà u spaziu di travagliu Eclipse cum'è repertoriu di input. |
Relativu à u Prughjettu | I camini sò almacenati relative à u prugettu. Per a sincronizazione files sò parti di u prugettu in Eclipse. A trasfurmazioni deve aduprà u cartulare di u prugettu cum'è repertoriu di input. |
Relativu à Path | I camini sò almacenati relative à u percorsu datu. Per a sincronizazione files deve esse piazzatu in u stessu locu. U repertoriu di input di trasfurmazioni hè u listessu cum'è u percorsu parente durante l'importazione. |
Tutte e preferenze di stu dialogu sò almacenati in modu persistente. I persunalizazioni persunali ùn devenu micca ripiglià ogni volta chì l'impurtazione corre. Questu rende u flussu di travagliu d'importazione faciule è veloce.
2.3. Aghjurnà i mudelli da l'Arbulu di Directory
Pulsà u buttone Sincronizza per sincronizà un mudellu impurtatu cù a so strada di repertoriu. U percorsu radicali di u prugettu hè guardatu in u mudellu per ch'ellu si sincronizeghja à u stessu annuariu cum'è prima. Per attivà u buttone Sincronizza, apre u mudellu è selezziunate ogni elementu. Dopu appughjà u buttone Sincronizza un Editore di Comparare hè apertu induve u mudellu di famiglia attuale è u mudellu di a struttura di u repertoriu attuale hè oppostu (vede a Figura 4, "Aghjornamentu di u mudellu da l'Arbulu di Directory in l'Editor di Comparazione").
Figura 4. Aggiornamentu di mudellu da Directory Tree in Compare Editor L'editore di paraguni hè utilizatu in tutta pure::variants per paragunà e versioni di mudelli, ma in questu casu hè utilizatu per paragunà a struttura di u repertoriu fisicu (mostratu in u latu in basso à destra) cù u mudellu currente pure::variants (in basso à manca). Tutti i cambiamenti sò listati cum'è elementi separati in a parti suprana di l'editore, urdinatu da l'elementi affettati.
A selezzione di un articulu in questa lista mette in risaltu u cambiamentu rispettivu in i dui mudelli. In l'example, un elementu aghjuntu hè marcatu cù una scatula à a manu dritta è culligatu cù a so pusizioni fattibili in u mudellu à a manu manca. A barra di strumenti Merge trà i finestri di l'editore superiore è inferiore furnisce strumenti per cupià singuli o ancu tutti i cambiamenti (senza cunflittu) in tuttu da u mudellu di l'arburu di u cartulare à u Modellu di Funzioni.
Nota
A sincronizazione hè fatta cù l'ultimi paràmetri di l'importatore utilizati. Questu permette di aghjurnà u mudellu cù altre paràmetri cum'è fattu mentre l'importazione hè stata fatta.
Utilizà l'indexatore di relazione
U Connettore per a Gestione di u Codice Source aumenta e Relazioni View cù l'infurmazioni nantu à e cunnessione trà l'elementi di mudelli puri::variants è u codice fonte. E relazioni sò aghjunte per e funzioni chì sò aduprate in cundizioni di l'elementi ps:condxml è ps:condtext.
Per ps:flag è ps:flagfile elementi u locu di custanti di preprocessore in a fonte C/C++ files sò mostrati. In più, i lochi di custanti di preprocessore currispondenti sò mostrati per una funzione selezziunata utilizendu a mappatura trà i nomi unichi di e caratteristiche è e custanti di preprocessore.
3.1. Adding the Relation Indexer à un Prughjettu
L'indexatore di relazione pò esse attivatu nantu à una pagina di pruprietà speciale di u prughjettu. Selezziunate u prughjettu è sceglite l'elementu Proprietà in u menù di cuntestu. In u dialogu chì vene, selezziunate a pagina Relation Indexer.
Figura 5. Pagina di Pruprietà di Prughjettu per u Relation Indexer
L'indexatore di relazione hè attivatu per u prugettu selezziunate l'opzione Abilita l'indexatore di relazione (1). Dopu avè attivatu l'indexatore, ci sò più opzioni per definisce u cumpurtamentu specificu di u prugettu. L'indexazione di e Condizioni pure::variants è C/C++ Preprocessor Constants pò esse attivatu separatamente (2). A lista cun file mudelli di nome (3) hè utilizatu per selezziunà u files per l'indexazione. Solu files chì currispondenu à unu di i mudelli sò scansati. Aghjunghjite u "*" cum'è mudellu per scansà tuttu files di un prughjettu.
Dopu avè attivatu l'indexer per un prughjettu, un builder hè aghjuntu à u prugettu. Stu builder scans cambiatu files per novi rilazioni cù elementi di mudelli puri::variants automaticamente.
3.2. I Rilazioni à u Code Source
Cù l'indicizzatore di relazione attivatu i Relazioni View cuntene entrate supplementari. Queste entrate mostra u nome di u file è u numeru di linea di u puntu varianti. A punta di l'uttellu mostra a sezione apprupriata di u file. Facendu un doppiu clicu nantu à l'entrata file serà apertu in un editore.
pure::variants Conditions
A cundizione pura::varianti pò esse usata per include o esclude e sezioni di a file secondu una scelta di funziunalità. U Condition Indexer scansa per tali regule è estrae e funzioni riferite. Se una tale funzione hè sceltu in l'editore i Relazioni View mostrarà tuttu files è linee induve si trova una cundizione cù a funzione selezziunata (vede a Figura 6, "Rappresentazione di una Cundizione in e Relazioni). View").
Figura 6. Rappresentazione di una Cundizione in e Relazioni ViewPer avè una spiegazione dettagliata nantu à cumu definisce e cundizioni, cunsultate a sezione ps:condtext di u capitulu 9.5.7 di a Guida d'Usuariu di pure::variants (Riferimentu–>Tipi d'Elementu Predefiniti–>ps:condtext).
Custanti di preprocessore C/C++
U C/C++ Preprocessor Indexer scans files per i custanti usati in e regule di preprocessore (per esempiu #ifdef, #ifndef, ...).
Se un ps: flag o ps: flagfile l'elementu hè sceltu u Relazioni View mostra l'usu di a constante di preprocessore definita.
I Relazioni View mostra ancu e custanti di preprocessore cunnessi à e funzioni utilizendu mudelli di mappatura. Per questu, i mudelli sò allargati cù e dati di a funzione scelta. I simboli resultanti sò usati per circà custanti di preprocessore currispondenti. Figura 7, "Rappresentazione di un C/C++ Preprocessor Constant in i Relazioni View" mostra un example cù u mudellu di fama {Nome}. U mudellu hè allargatu cù u nome unicu di a funzione à fameNative. In u codice indexatu ci sò 76 lochi induve u preprocessor constant fameNative hè utilizatu.
Queste locu sò mostrati in Relazioni View. I mudelli ponu esse definiti in e preferenze (vede Section 3.3, "I Preferenze").
Figura 7. Rappresentazione di un C / C ++ Preprocessor Constant in i Relazioni View
3.3. I Preferenze
Per cambià u cumpurtamentu predeterminatu di l'indexatore, apre e preferenze Eclipse è selezziunate a pagina Relation Indexer in a categuria Variant Management. A pagina mostra dui listi.
Figura 8. Relation Indexer Preference PaginaA lista superiore cuntene u predefinitu file mudelli per l'indexer (1). Questa lista hè l'impostazione iniziale di u mudellu per i prughjetti recentemente attivati.
A lista più bassa cuntene a mappatura trà e caratteristiche è custanti di preprocessore (2). Questa mappatura hè aduprata per tutti i prughjetti. A Tabella 1, "Sustituzioni di Mapping Supportate" mostra tutti i rimpiazzamenti pussibuli.
Table 1. Sustituzioni di Mapping Supported
Wildcard | Descrizzione | Example: FeatureA |
Nome | u Nome Unicu di a funzione scelta | FLAG_{Nome} - FLAG_FeatureA |
NOME | u maiuscule Nome Unicu di a funzione scelta | FLAG_{NAME} - FLAG_FEATUREA |
nomu | u minuscule Nome Unicu di a funzione scelta | flag_{name} - flag_featurea |
Documenti / Risorse
![]() |
pure-systems 2024 Connector per u Software di Gestione di u Codice Source [pdfManuale d'usu 2024, 2024 Connettore per u software di gestione di u codice sorgente, u cunnessu per u software di gestione di u codice sorgente, u software di gestione di u codice sorgente, u software di gestione, u software |