Vytvorenie nového modulu

Z SPIN2-wiki
Prejsť na: navigácia, hľadanie

Popis jednotlivých krokov pre vytvorenie nového modulu

Solution

Príklad novej agendy s kódom REZ - Réžie

  1. vytvoríme si na lokálnom disku v trunku adresár s kódom agendy v našom prípade REZ
  2. nasledujúci krok je založiť projekt vo VS. Sú dve možnosti buď na zelenej lúke alebo kópiou a úpravami z nejakého existujúceho projektu. My si zvolíme kópiu z existujúceho projektu REP, lebo zatiaľ obsahuje iba jedno okno.
  3. Vyexportujeme cez "SVN Export" celý modul REP (https://svnsrv01.asol.local/svn/spin_net/trunk/source/REP) do adresára REZ
  4. Premenujeme vo vrchnom adresári všetky súbory obsahujúce v názve Rep na Rez (*.sln, *.vsmdi, ...)
  5. Premenujeme v adresári src všetky projektové súbory (*.csproj) obsahujúce v názve Rep na Rez
  6. Pomocou utility ReplAll nahradíme všetky výskyty reťazca "Spin.Rep" za "Spin.Rez" vo všetkých súboroch
  7. Pomocou utility ReplAll nahradíme všetky výskyty reťazca AssemblyTitle("REP") za AssemblyTitle("REZ")
  8. spustime VS a otvoríme solution
  9. nastavíme startup projekt Datalock.Spin.Infrastructure.Shell
  10. vymažeme nepotrebné triedy a premenujeme si adresáre obsahujúce Rep na Rez v BL a UI.
  11. vymažeme nepotrebné settings z UI a BL projektov
  12. premenujeme súbory (aj triedy) v projektoch Test, Module, UI, BL obsahujúce Rep na Rez
  13. treba upraviť AssemblyInfo.cs modulu a zmeniť [assembly: Module("Rep")] na [assembly: Module("Rez")]
  14. treba skontrolovať, či AssemblyInfo.cs modulu obsahuje definíciu triedy, ktorá obsahuje definície akcii [assembly: ActionsDefinitions(typeof(RepActionsDefinitions))]
  15. treba upraviť AssemblyInfo.cs<code> v <code>Test, Module, UI, BL a pre každú assembly vygenerovať GUID pomocou utility "c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\guidgen.exe" a zapísať do AssemblyInfo.cs
  16. v triede RezModuleController zmeníme agendu AgendaEnum.REP na AgendaEnum.REZ
  17. upravíme triedy RezActionCommand a RezActionsDefinitions na novú agendu, tak aby sa nám solution dala spustiť.
  18. pridanie modulu do SVN
    1. vyexportovať si zo starého modulu (v našom príklade REP ) definíciu externalov (pravé tlačítko myši na modulovom adresári REP, zvoliť možnosť Tortoise SVN -> Properties, nastaviť sa na properties externals a stlačiť Export a uložiť do súboru), to isté urobiť nad podadresárom src.
    2. cez repobrowser založíme na svn serveri do trunk\source nový adresár REZ, ktorému naimportujeme definíciu modulových externalov získanú z predchádzajúceho kroku
    3. cez repobrowser založíme na svn serveri do trunk\source\REZ nový adresár src, ktorému naimportujeme definíciu externalov získanú z predchádzajúceho kroku pre adresár src
    4. skúsime si niekde na disk vycheckoutovať pre kontrolu modul REZ, mali by sa v ňom povytvárať adresáre aj s obsahom, ktoré sú definované cez externals (v modulovom adresári adresáre tools, dev, libs, build, a v src adresári adresáre SpinInfrastructure, SpinFramework, SpinCommon, SpinShared )
    5. v pôvodnom lokálnom adresári kde máme rozchodený modul externé adresáre zmažeme (aj v src podadresári, necháme iba adresár module s podadresármi ) a necháme do tohoto adresára vycheckoutovať z SVN servera prichystaný modul. Týmto sa nám zmazané adresáre opätovne dotiahnu z SVN a zostanú na SVN napojené.
    6. naštartujeme Visual Studio a cez pravé tlačítko nad solution pomocou voľby "Add selected project to subversion" pridáme súbor sln a zvyšné modulové adresáre Datalock.Spin.Rez.BL, Datalock.Spin.Rez.UI, Datalock.Spin.Rez.Module a Datalock.Spin.Rez.Test do svn a potvrdíme commitom.
    7. pridáme si ešte nový resource file k modulu do Datalock.Spin.Shared projektu
  19. kontaktujeme Jenkins master-a, aby nám nastavil automatické nočné buildy

Projekty

Podpísanie assembly

Všetky knižnice Spin2 sú podpísané privátnym kľúčom, ktorý je v adresari dev

Subversion

CI Jenkins