suver :: farianten - Connector foar
Boarnekoade Management Manual
Parametric Technology GmbH
Ferzje 6.0.7.685 foar suver :: farianten 6.0
Copyright © 2003-2024 Parametric Technology GmbH
2024
Ynlieding
pure :: farianten Connector foar Boarnekoade Management (Connector) stelt ûntwikkelers in behear boarnekoade fariabiliteit mei help fan suver :: farianten. De Boarnekoade Management fan suver :: farianten jout in fleksibele mooglikheid om te syngronisearjen triemtafel struktueren en boarne koade files maklik mei suver :: farianten modellen. Dêrtroch kin fariantenbehear praktysk tapast wurde, sels op komplekse softwareprojekten. Fierder kinne ferbiningen tusken funksjes fan pure :: farianten en boarnekoade makliker wurde beheard mei de bouwer en binne tige tagonklik fia it Boarnekoadebehear.
1.1. Software easken
De suvere :: farianten Connector foar Boarnekoade Management is in útwreiding foar suver :: farianten en is beskikber op alle stipe platfoarms.
1.2. Ynstallaasje
Graach rieplachtsje seksje pure :: farianten Anschlüsse yn 'e suvere :: farianten Setup Guide foar detaillearre ynformaasje oer hoe't te ynstallearjen de ferbining (menu Help -> Help Ynhâld en dan suver :: farianten Opset Guide -> pure :: farianten Connectors).
1.3. Oer dizze hânlieding
De lêzer wurdt ferwachte dat se basiskennis hawwe oer en ûnderfinings mei suvere :: farianten. Kontrolearje asjebleaft har ynliedend materiaal foardat jo dizze hantlieding lêze. De hantlieding is beskikber yn online help as yn printbere PDF-formaat hjir.
Connector brûke
2.1. Starting suver :: farianten
Ofhinklik fan 'e ynstallaasjemetoade dy't brûkt wurdt, start de pure :: farianten-ynskeakele Eclipse of selektearje ûnder Windows it pure :: farianten item út it programmamenu.
As it perspektyf fan fariantbehear net al aktivearre is, doch dat dan troch it te selektearjen fan Iepen perspektyf->Oare ... yn it finstermenu.
2.2. Ymportearje in mapbeam yn in famyljemodel
Foardat jo in mapbeam ymportearje yn in famyljemodel, moat in fariantenprojekt oanmakke wurde. Ek is it suggestyf om funksjes al te hawwen definieare yn in Feature Model. Kontrolearje asjebleaft de suver :: farianten dokumintaasje foar help oer dizze stappen.
De eigentlike ymport wurdt begon troch de ymportearje ... aksje te selektearjen yn it kontekstmenu fan 'e Projekten view of mei ymportearje ... menu yn de File menu. Selektearje fariantmodellen as projekten út kategory fariantbehear en druk op Folgjende. Selektearje op 'e folgjende side in famyljemodel ymportearje út boarnemappen en druk opnij op Folgjende.
Kies type boarnekoade om te ymportearjen
De ymportwizard ferskynt (sjoch figuer 1, "Side fan de ymportwizard om it type boarnekoade te selektearjen dat ymportearre wurde kin"). Selektearje in projekttype om te ymportearjen en druk op Folgjende. Elk type befettet fan in foarbeskaaide set fan file soarten om te ymportearjen nei it model.
Figure 1. Side fan de ymportwizard om it type boarnekoade te selektearjen dat ymportearre wurde kinSelektearje Boarne en Doel
Op de folgjende wizard side (Figuer 2, "Side fan de ymportwizard om de boarne en it doel foar de ymport te selektearjen") de boarne map en it doelmodel moatte wurde oantsjutte.
Druk op de knop Blêdzje ... om de map te selektearjen wêryn de boarnekoade bestiet dy't ymportearre wurde moat. Standert is de aktuele wurkromte selektearre om't dit in nuttich punt kin wêze om te begjinnen mei navigearjen.
Hjirûnder kinne jo patroan opnimme en útslute. Dizze patroanen moatte java reguliere útdrukkingen wêze. Elk ynfierpaad, relatyf oan de boarne root-map, wurdt kontrolearre mei dizze patroan. As it patroan omfetsje oerienkomt, wurdt in map ymporteare, as it útslute patroan net oerienkomt. Dat betsjut dat it patroan foar opnimmen de mappen foar selektearjen om te ymportearjen, it útslute patroan beheint dizze foarseleksje.
Nei it selektearjen fan de boarnekoade-map moat in doelmodel definieare wurde. Selektearje dêrom in fariantprojekt of in map wêr't it model opslein wurde moat en fier in modelnamme yn. De file namme wurdt automatysk útwreide mei de .ccfm tafoeging as it net wurdt jûn yn dit dialoochfinster. Standert sil it ynsteld wurde op deselde namme as de modelnamme sels. Dit is de oanrikkemandearre ynstelling.
Neidat in doelmjittige boarne map en de winske model namme binne opjûn, it dialoochfinster kin wurde klear troch te drukken op Finish. As de knop Folgjende yndrukt wurdt, komt der in oare side dêr't ekstra ynstellingen dien wurde kinne.
Ofbylding 2. Side fan de ymportwizard om de boarne en it doel foar de ymport te selektearjenFeroarje ymportfoarkarren
Op de lêste wizard side (Figuer 3, "Side fan 'e ymportwizard om in yndividuele konfiguraasje te definiearjen”) binne d'r foarkarren dy't kinne wurde dien om it ymportgedrach oan te passen foar it ymporteare softwareprojekt.
It dialoochblêd toant in tabel dêr't de file soarten wurde definiearre, dat sil wurde beskôge troch de ymport proses.
Elke rigel bestiet út fjouwer fjilden.
- De Beskriuwing fjild befettet in koarte beskriuwende tekst te identifisearjen de file type.
- De File namme patroan fjild wurdt brûkt om te selektearjen files wurde ymportearre as se oerienkomme mei de fjilden wearde. It fjild brûkt de folgjende syntaksis:
- De meast foarkommende usecase kin wêze a file útwreiding. De gewoane syntaksis is .EXT, wêrby't EXT de winske is file útwreiding (bgl. .java).
- In oare mienskiplike situaasje is in spesjale file, as in makefile. Dêrom is it mooglik om te passen op 'e krekte file namme. Om dit te dwaan, fier gewoan de file namme yn it fjild (bygelyks build.xml).
- Yn guon gefallen binne de mapping winsken mear spesifyk, dus allinnich files dy't oerien mei in spesjale patroan moatte wurde ymportearre. Om dizze eask te passen is it mooglik om reguliere útdrukkingen te brûken yn 'e File namme patroan fjild.
It beskriuwen fan de syntaksis fan reguliere útdrukkingen soe de bedoeling fan dizze help te boppe wêze. Sjoch asjebleaft de seksje fan reguliere útdrukkingen fan it referinsjehaadstik yn 'e pure :: farianten brûkersgids (bgl. .*).
- It fjild Mapped elemint type set de mapping tusken a file type en in suver :: farianten famylje elemint type. It type famyljeelemint is in beskriuwing foar de boarne file om fierdere ynformaasje te jaan oan it yn kaart brochte elemint yn it ymporteare model. Typyske seleksjes binne ps:class of ps:makefile.
- De Mapped file type fjild stelt de mapping tusken a file type en in suver :: farianten file type. De file type yn pure :: farianten is in beskriuwing foar de boarne file om fierdere ynformaasje te jaan oan it yn kaart brochte elemint yn it ymporteare model. Typyske seleksjes binne impl foar ymplemintaasjes of def foar definysje files.
figuer 3. Side fan de ymport assistent foar in definiearje in yndividuele konfiguraasjeNij file typen kinne wurde tafoege troch de knop Mapping taheakje te brûken. Alle fjilden wurde ynfolle mei de wearde undefined en moatte wurde ynfolle troch de brûker. Om in wearde yn in fjild te bewurkjen, klikje jo gewoan yn it fjild mei de mûs. De wearde wurdt bewurkber en kin feroare wurde. It is net mooglik om te feroarjen de standert file namme patroanen fan 'e tafel. Om in oanpassing fleksibel te meitsjen, is it mooglik om te selektearjen a file typ troch it selektearjen fan de rige. Deselektearre file namme patroanen bliuwe yn de konfiguraasje, mar sil net brûkt wurde troch de ymporteur. Meidogger definiearre file typen kinne opnij fuortsmiten wurde mei de knop Mapping fuortsmite.
Standert in Oare files file namme patroan is beskikber yn de tabel, mar deselektearre. Typysk is it net wolle ymportearje alles files mar dit kin maklik feroare wurde troch te selektearjen de neffens rige.
D'r binne trije algemiene ymportopsjes om it gedrach fan 'e ymporteur oan te passen.
- Ymportearje gjin mappen sûnder oerienkomst files (bgl. CVS-mappen).
As de ymporteur fynt in map dêr't gjin oerienkommende file is yn it en dêr't gjin subdirectory hat in oerienkommende file, sil de map net ymportearre wurde. Dit is faak nuttich as projekten wurde beheard troch ferzjebehearsystemen lykas CVS. Foar CVS befettet elke relevante map in CVS-map dêr't irrelevant is files wurde opslein. As dizze opsje selektearre is en de CVS-files net oerien mei eltse file type hjirboppe definieare, sil de map net ymporteare as komponint yn it Family Model. - Sortearje files en mappen.
Aktivearje dizze opsje om te sortearjen files en mappen elk yn alfabetyske folchoarder. - Ymportearje paad handling.
Foar fierdere syngronisaasje moat de ymporteur it orizjinele paad fan alle ymporteare eleminten yn it model opslaan.
Yn in protte gefallen wurde famyljemodellen dield mei oare brûkers. De mapstruktuer kin foar elke brûker oars wêze. Om de meast foarkommende gebrûkssenario's te stypjen kin de ymporteur yn ferskate modi wurkje:
Absolutely | It absolute paad nei it ymporteare elemint sil wurde opslein yn it model. Foar lettere syngronisaasje en tidens de transformaasje de files moatte pleatst op krekt deselde lokaasje as by de earste ymport. |
Relatyf oan Workspace | De paden wurde opslein relatyf oan de wurkromte map. Foar syngronisaasje de files moat diel útmeitsje fan 'e Eclipse-wurkromte. De transformaasje moat de Eclipse-wurkromte brûke as ynfiermap. |
Relatyf oan Project | De paden wurde opslein relatyf oan it projekt. Foar syngronisaasje de files binne ûnderdiel fan it projekt binnen Eclipse. De transformaasje moat de projektmap brûke as ynfiermap. |
Relatyf oan Paad | De paden wurde opslein relatyf oan it opjûne paad. Foar syngronisaasje de files moatte wurde pleatst op krekt deselde lokaasje. De transformaasje-ynfiermap is itselde as it relative paad tidens de ymport. |
Alle foarkarren fan dit dialoochfinster wurde oanhâldend opslein. De persoanlike oanpassingen moatte net opnij wurde elke kear as de ymport rint. Dit makket de ymport workflow maklik en fluch.
2.3. Modellen bywurkje fan Directory Tree
Druk op de knop Syngronisearje om in ymportearre model te syngronisearjen mei syn mappaad. It rootpaad fan it projekt wurdt opslein yn it model, sadat it sil syngronisearje mei deselde map as earder. Om de knop Syngronisearje te aktivearjen, iepenje it model en selektearje elk elemint. Nei it drukken op de knop Syngronisearje wurdt in Compare Editor iepene wêr't it hjoeddeistige famyljemodel en it model fan 'e hjoeddeistige triemtafelstruktuer tsjinsteld binne (sjoch figuer 4, "Modelupdate fan Directory Tree yn Compare Editor").
figuer 4. Model update út Directory Tree yn Compare Editor De ferlykje bewurker wurdt brûkt troch suver :: farianten te ferlykjen model ferzjes, mar yn dit gefal wurdt brûkt om te ferlykjen de fysike triemtafel struktuer (werjûn yn de legere rjochterkant) mei de hjoeddeiske suvere :: farianten model (leger ûnder). Alle wizigingen wurde neamd as aparte items yn it boppeste diel fan 'e bewurker, oardere troch de troffen eleminten.
It selektearjen fan in item yn dizze list markearret de respektivelike feroaring yn beide modellen. Yn it eksample, in tafoege elemint wurdt markearre mei in doaze oan de rjochterkant en ferbûn mei syn helber posysje yn it model oan de linker kant. De arkbalke gearfoegje tusken boppeste en legere bewurkersfinsters biedt ark om inkele of sels alle (net-konfliktige) wizigingen as gehiel te kopiearjen fan it mapbeammodel nei it Feature Model.
Noat
De syngronisaasje wurdt dien mei de lêste brûkte ymporteurynstellingen. Dit makket it mooglik om it model te aktualisearjen mei oare ynstellings lykas makke wylst de ymport dien is.
Mei help fan Relation Indexer
De Connector foar Boarnekoadebehear ferbettert de relaasjes View mei ynformaasje oer ferbinings tusken suver :: farianten model eleminten en boarne koade. Relaasjes wurde tafoege foar funksjes dy't brûkt wurde yn betingsten fan de eleminten ps:condxml en ps:condtext.
Foar ps:flagge en ps:flaggefile eleminten de lokaasje fan preprocessor konstanten yn C / C ++ boarne files wurde toand. Dêrnjonken wurde de lokaasjes fan oerienkommende preprocessorkonstanten werjûn foar in selekteare funksje troch de mapping te brûken tusken funksje unike nammen en preprocessor konstanten.
3.1. De Relation Indexer tafoegje oan in projekt
De relaasje-yndekser kin aktivearre wurde op in spesjale projekteigenskipside. Selektearje it projekt en kies it item Eigenskippen yn it kontekstmenu. Selektearje yn it kommende dialooch de side Relation Indexer.
figuer 5. Project Property Side foar de relaasje Indexer
De relaasje-yndekser wurdt aktivearre foar it projekt troch de opsje Relation Indexer ynskeakelje (1) te selektearjen. Nei it ynskeakeljen fan de yndeksearder binne d'r wat mear opsjes om it projektspesifike gedrach te definiearjen. De yndeksearring fan suver :: farianten Betingsten en C / C ++ Preprocessor Constants kin aktivearre wurde apart (2). De list mei file namme patroanen (3) wurdt brûkt om te selektearjen de files foar yndeksearring. Allinnich files dy't oerienkomme mei ien fan 'e patroanen wurde skansearre. Foegje de "*" ta as patroan om alles te scannen files fan in projekt.
Nei it aktivearjen fan de yndeksator foar in projekt wurdt in bouwer tafoege oan it projekt. Dizze bouwer scans feroare files foar nije relaasjes oan suver :: farianten model eleminten automatysk.
3.2. De relaasjes mei de boarnekoade
Mei aktivearre relaasje indexer de Relations View befettet ekstra yngongen. Dizze yngongen toant de namme fan 'e file en it linenûmer fan it fariantpunt. De tool tip toant de passende seksje fan 'e file. Troch dûbelklik op de yngong de file sil iepene wurde yn in bewurker.
suver :: farianten Betingsten
De suvere :: farianten betingst kin brûkt wurde om op te nimmen of útslute seksjes fan in file ôfhinklik fan in funksje seleksje. De Condition Indexer scant foar sokke regels en ekstrahearret de ferwiisde funksjes. As sa'n funksje is selektearre yn de bewurker de Relations View sil sjen litte alles files en rigels wêr't in betingst mei de selektearre funksje leit (sjoch figuer 6, "Fertsjintwurdiging fan in betingst yn 'e relaasjes View”).
figuer 6. Fertsjintwurdiging fan in betingst yn 'e relaasjes ViewOm in detaillearre útlis te krijen oer hoe't jo betingsten definiearje kinne, rieplachtsje de seksje ps:condtext fan haadstik 9.5.7 fan 'e suvere :: farianten Brûkershantlieding (Referinsje–> Foarôf definieare boarneeleminttypen–>ps:condtext).
C / C ++ Preprocessor konstanten
De C/C++ Preprocessor Indexer scans files foar konstanten brûkt yn preprocessor-regels (bygelyks #ifdef, #ifndef, ...).
As in ps:flagge of ps:flaggefile elemint wurdt selektearre de Relations View toant it gebrûk fan de definiearre preprocessor konstante.
De relaasjes View ek toant preprocessor konstanten ferbûn mei funksjes troch it brûken fan mapping patroanen. Hjirfoar wurde de patroanen útwreide mei de gegevens fan 'e selekteare funksje. De resultearjende symboalen wurde brûkt om te sykjen nei oerienkommende preprocessor konstanten. Figuer 7, "Fertsjintwurdiging fan in C/C ++ Preprocessor konstante yn 'e relaasjes View” lit in eks sjenample mei it patroan fame {Namme}. It patroan wurdt útwreide mei de unike namme fan 'e funksje nei fameNative. Yn de yndeksearre koade binne d'r 76 lokaasjes wêr't de preprocessor konstante fameNative wurdt brûkt.
Dizze lokaasjes wurde werjûn yn 'e Relaasjes View. De patroanen kinne wurde definieare yn 'e foarkarren (sjoch paragraaf 3.3, "De foarkar").
figuer 7. Fertsjintwurdiging fan in C / C ++ Preprocessor konstante yn de relaasjes View
3.3. De foarkarren
Om it standertgedrach fan 'e yndeksator te feroarjen, iepenje de Eclipse-foarkarren en selektearje de side Relation Indexer yn' e kategory Variant Management. De side lit twa listen sjen.
figuer 8. Relaasje Indexer FoarkarsideDe boppeste list befettet de standert file patroanen foar de yndeksator (1). Dizze list is de earste patroanynstelling foar nij ynskeakele projekten.
De legere list befettet de mapping tusken funksjes en preprocessor konstanten (2). Dizze mapping wurdt brûkt foar alle projekten. Tabel 1, "Stipe Mapping Replacements" toant alle mooglike ferfangings.
tabel 1. Stipe Mapping Replacements
Wildcard | Beskriuwing | Example: FeatureA |
Namme | de unike namme fan de selektearre funksje | FLAG_{Namme} – FLAG_FeatureA |
NAMME | de haadletter Unike Namme fan de selektearre funksje | FLAG_{NAME} – FLAG_FEATUREA |
namme | de lytse letter Unike Namme fan de selektearre funksje | flag_{name} - flag_featurea |
Dokuminten / Resources
![]() |
pure-systems 2024 Connector foar Boarnekoade Management Software [pdf] Brûkershânlieding 2024, 2024 Connector foar Boarnekoade Management Software, Connector foar Boarnekoade Management Software, Boarnekoade Management Software, Management Software, Software |