Vytvorenie nového modulu: Rozdiel medzi revíziami
| (18 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených) | |||
| Riadok 2: | Riadok 2: | ||
==Solution== | ==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 <code>REZ</code> | ||
| + | # 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 (<code>https://svnsrv01.asol.local/svn/spin_net/trunk/source/REP</code>) do adresára <code>REZ</code> | ||
| + | # Premenujeme vo vrchnom adresári všetky súbory obsahujúce v názve Rep na Rez (*.sln, *.vsmdi, ...) | ||
| + | # Premenujeme v adresári <code>src</code> vš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 <code>Datalock.Spin.Infrastructure.Shell</code> | ||
| + | # vymažeme nepotrebné triedy a premenujeme si adresáre obsahujúce <code>Rep</code> na <code>Rez</code> v <code>BL</code> a <code>UI</code>. | ||
| + | # vymažeme nepotrebné settings z UI a BL projektov | ||
| + | # premenujeme súbory (aj triedy) v projektoch <code>Test</code>, <code>Module</code>, <code>UI</code>, <code>BL</code> obsahujúce Rep na Rez | ||
| + | # treba upraviť <code>AssemblyInfo.cs</code> modulu a zmeniť <code>[assembly: Module("Rep")]</code> na <code>[assembly: Module("Rez")]</code> | ||
| + | # treba skontrolovať, či <code>AssemblyInfo.cs</code> modulu obsahuje definíciu triedy, ktorá obsahuje definície akcii <code>[assembly: ActionsDefinitions(typeof(RepActionsDefinitions))]</code> | ||
| + | # treba upraviť <code>AssemblyInfo.cs<code> v <code>Test</code>, <code>Module</code>, <code>UI</code>, <code>BL</code> a pre každú assembly vygenerovať GUID pomocou utility <code>"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\guidgen.exe"</code> a zapísať do AssemblyInfo.cs | ||
| + | # v triede <code>RezModuleController</code> zmeníme agendu <code>AgendaEnum.REP</code> na <code>AgendaEnum.REZ</code> | ||
| + | # upravíme triedy <code>RezActionCommand</code> a <code>RezActionsDefinitions</code> na 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 <code>REP</code>, 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 <code>src</code>. | ||
| + | ## cez repobrowser založíme na svn serveri do <code>trunk\source</code> nový adresár <code>REZ</code>, ktorému naimportujeme definíciu modulových externalov získanú z predchádzajúceho kroku | ||
| + | ## cez repobrowser založíme na svn serveri do <code>trunk\source\REZ</code> nový adresár <code>src</code>, ktorému naimportujeme definíciu externalov získanú z predchádzajúceho kroku pre adresár <code>src</code> | ||
| + | ## 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 <code>tools</code>, <code>dev</code>, <code>libs</code>, <code>build</code>, a v <code>src</code> adresári adresáre <code>SpinInfrastructure</code>, <code>SpinFramework</code>, <code>SpinCommon</code>, <code>SpinShared</code> ) | ||
| + | ## v pôvodnom lokálnom adresári kde máme rozchodený modul externé adresáre zmažeme (aj v <code>src</code> podadresári, necháme iba adresár <code>module</code> 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é. | ||
| + | ## naštartujeme Visual Studio a cez pravé tlačítko nad solution pomocou voľby "Add selected project to subversion" pridáme súbor <code>sln</code> a zvyšné modulové adresáre <code>Datalock.Spin.Rez.BL</code>, <code>Datalock.Spin.Rez.UI</code>, <code>Datalock.Spin.Rez.Module</code> a <code>Datalock.Spin.Rez.Test</code> do svn a potvrdíme commitom. | ||
| + | ## pridáme si ešte nový resource file k modulu do <code>Datalock.Spin.Shared</code> projektu | ||
| + | # kontaktujeme Jenkins master-a, aby nám nastavil automatické nočné buildy | ||
| + | |||
==Projekty== | ==Projekty== | ||
===Podpísanie assembly=== | ===Podpísanie assembly=== | ||
Aktuálna revízia z 12:27, 15. apríl 2013
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