ms build

10
MSBuild - Fahrplan MSBuild - Fahrplan Co je to MSBuild a k čemu slouží? Stručný popis syntaxe. Možnosti rozšíření. Diskuze.

Upload: ales-roubicek

Post on 09-Jun-2015

95 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: MS Build

MSBuild - FahrplanMSBuild - Fahrplan

Co je to MSBuild a k čemu slouží?

Stručný popis syntaxe.

Možnosti rozšíření.

Diskuze.

Page 2: MS Build

Co je to MSBuild?Co je to MSBuild?

Platforma pro automatizovaný build aplikací pro .net 2.0

Silný nástroj integrovaný do VS 2005

Commandlinová aplikace přijímající parametry a vstupní xml <Project xmlns="

http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="Hello"> <Message Text="Hello Atlas!" Importance="high"/> </Target></Project>

msbuild HelloWorld.proj /t:Hello

Page 3: MS Build

Stručný popis syntaxeStručný popis syntaxe

Jednoduchý XML dialekt s plnou podporou Intellisense

Kořenový element <Project> z prostoru názvů

http://schemas.microsoft.com/developer/msbuild/2003

Podpora proměnných, parametrů, inklůdování ->

znovupoužitelnost<PropertyGroup> <MyProperty Condition=" '$(MyProperty)' == '' ">value</MyProperty></PropertyGroup>

msbuild Parameters.proj /p:DalsiPromenna=JejiHodnota

Page 4: MS Build

Stručný popis syntaxeStručný popis syntaxe

Staré známé parametry kompilátoru z příkazové řádky<ItemGroup> <Reference Include="System" /></ItemGroup><ItemGroup> <Compile Include="Class1.cs" /></ItemGroup>

Další soubory v projektu<ItemGroup> <None Include="Data.xml" /></ItemGroup>

Page 5: MS Build

Možnosti rozšířeníMožnosti rozšíření

Systém postavený na cílech a úkolech.

Každý cíl se skládá z nějakých úkolů.

Sada úkolů je součásti Frameworku, další úkoly se dají

stáhnout z různých komunit nebo dopsat vlastní.

Definice "flow" cílů, jejich závislostí a "defaultní" cíle

Page 6: MS Build

Vybrané úkolyVybrané úkoly

Copy – kopírování souborů Delete – mazání souborů MakeDir – vytváření adresářů RemoveDir – mazání adrsářů Message – vypsání zprávy do loggeru (např. konzola) AspNetCompiler – kompilace websity ResGen – genrátor zdrojů Exec – spuštění externí aplikace CallTarget – spuštění jiného cíle

Page 7: MS Build

Vlastní úkol - definiceVlastní úkol - definicepublic class MujUkol : Task { private ITaskItem text;

public ITaskItem Text { get { return this.text; } set { this.text = value; } }

public override bool Execute() { // udelej nejakou akci Log.LogMessageFromText("Pozdrav:", this.Text); }}

Page 8: MS Build

Vlastní úkol - použitíVlastní úkol - použití<Project DefaultTask="Pozdrav" xmlns="…"> <PropertyGroup> <SharedTasksDir>C:\My Tasks\bin</SharedTasksDir> <Greething>Zdravím Atlas</Greething> </PropertyGroup> <UsingTask AssemblyFile="$(SharedTasksDir)\Tasks.dll"

TaskName="MujUkol"/> <Target Name="Pozdrav"> <MujUkol Text="$(Greething)"/> </Target></Project>

msbuild Pozdrav.proj

Page 9: MS Build

Místo pro otázkyMísto pro otázky

Otázky

Odpovědi

Page 10: MS Build

Děkuji za pozornostDěkuji za pozornost