Vytvorenie nového modulu
Popis jednotlivých krokov pre vytvorenie nového modulu
Solution
Príklad novej agendy s kódom REZ - Réžie
- vytvoríme si na lokálnom disku v trunku adresár s kódom agendy v našom prípade
REZ - 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.
- Vyexportujeme cez "SVN Export" celý modul REP (
https://svnsrv01.asol.local/svn/spin_net/trunk/source/REP) do adresáraREZ - Premenujeme vo vrchnom adresári všetky súbory obsahujúce v názve Rep na Rez (*.sln, *.vsmdi, ...)
- Premenujeme v adresári
srcvšetky projektové súbory (*.csproj) obsahujúce v názve Rep na Rez - Pomocou utility ReplAll nahradíme všetky výskyty reťazca "Spin.Rep" za "Spin.Rez" vo všetkých súboroch
- Pomocou utility ReplAll nahradíme všetky výskyty reťazca AssemblyTitle("REP") za AssemblyTitle("REZ")
- spustime VS a otvoríme solution
- nastavíme startup projekt
Datalock.Spin.Infrastructure.Shell - vymažeme nepotrebné triedy a premenujeme si adresáre obsahujúce
RepnaRezvBLaUI. - vymažeme nepotrebné settings z UI a BL projektov
- premenujeme súbory (aj triedy) v projektoch
Test,Module,UI,BLobsahujúce Rep na Rez - treba upraviť
AssemblyInfo.csmodulu a zmeniť[assembly: Module("Rep")]na[assembly: Module("Rez")] - treba skontrolovať, či
AssemblyInfo.csmodulu obsahuje definíciu triedy, ktorá obsahuje definície akcii[assembly: ActionsDefinitions(typeof(RepActionsDefinitions))] - treba upraviť
AssemblyInfo.cs<code> v <code>Test,Module,UI,BLa 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 - v triede
RezModuleControllerzmeníme agenduAgendaEnum.REPnaAgendaEnum.REZ - upravíme triedy
RezActionCommandaRezActionsDefinitionsna novú agendu, tak aby sa nám solution dala spustiť. - pridanie modulu do SVN
- 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áromsrc. - cez repobrowser založíme na svn serveri do
trunk\sourcenový adresárREZ, ktorému naimportujeme definíciu modulových externalov získanú z predchádzajúceho kroku - cez repobrowser založíme na svn serveri do
trunk\source\REZnový adresársrc, ktorému naimportujeme definíciu externalov získanú z predchádzajúceho kroku pre adresársrc - 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 vsrcadresári adresáreSpinInfrastructure,SpinFramework,SpinCommon,SpinShared) - v pôvodnom lokálnom adresári kde máme rozchodený modul externé adresáre zmažeme (aj v
srcpodadresári, necháme iba adresármodules 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é. - naštartujeme Visual Studio a cez pravé tlačítko nad solution pomocou voľby "Add selected project to subversion" pridáme súbor
slna zvyšné modulové adresáreDatalock.Spin.Rez.BL,Datalock.Spin.Rez.UI,Datalock.Spin.Rez.ModuleaDatalock.Spin.Rez.Testdo svn a potvrdíme commitom. - pridáme si ešte nový resource file k modulu do
Datalock.Spin.Sharedprojektu
- vyexportovať si zo starého modulu (v našom príklade REP ) definíciu externalov (pravé tlačítko myši na modulovom adresári
- 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