[NUI] Xaml intellisense support (#853)
[platform/core/csapi/tizenfx.git] / build / build.proj
1 <Project DefaultTargets="Build">
2
3   <Import Project="$(MSBuildThisFileDirectory)directories.props" />
4
5   <!-- Build Properties -->
6   <PropertyGroup>
7     <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
8     <BuildWithAnalyzer Condition="'$(BuildWithAnalyzer)' == ''">False</BuildWithAnalyzer>
9   </PropertyGroup>
10
11   <!-- Projects to build -->
12   <ItemGroup>
13     <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''" />
14     <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
15     <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
16   </ItemGroup>
17
18   <!-- Nuspec files to pack -->
19   <ItemGroup>
20     <NuspecFiles Include="$(ProjectRootDir)pkg\*.nuspec" />
21   </ItemGroup>
22
23   <!--
24     Target : Clean
25     ==============
26     Delete all artifacts,
27     including the Artifacts/ directory and the obj and bin directories of all projects.
28   -->
29   <Target Name="Clean">
30
31     <ItemGroup>
32       <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\**" />
33       <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\bin\**" />
34       <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\**" />
35       <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\bin\**" />
36       <ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
37     </ItemGroup>
38
39     <ItemGroup>
40       <DirToRemove Include="$(OutputBaseDir)" />
41       <DirToRemove Include="@(ProjectIntermediateDir)" />
42     </ItemGroup>
43
44     <RemoveDir Directories="@(DirToRemove)" />
45
46   </Target>
47
48   <!--
49     Target : Restore
50     ==============
51     Restore all projects.
52   -->
53   <Target Name="Restore">
54
55     <MSBuild Projects="@(ProjectToBuild)"
56              Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources);BuildWithAnalyzer=$(BuildWithAnalyzer)"
57              BuildInParallel="false"
58              Targets="Restore" />
59
60   </Target>
61
62   <!--
63     Target : Build
64     ==============
65     Build all projects.
66   -->
67   <Target Name="Build">
68
69     <MSBuild Projects="@(ProjectToBuild)"
70              Properties="Configuration=$(Configuration);BuildWithAnalyzer=$(BuildWithAnalyzer)"
71              BuildInParallel="true"
72              UseResultsCache="true"
73              Targets="Rebuild" />
74
75     <MSBuild Projects="@(ProjectToBuild)"
76              Properties="Configuration=$(Configuration)"
77              BuildInParallel="false"
78              Targets="CopyToArtifactsDirectory" />
79
80   </Target>
81
82   <!--
83     Target : Pack
84     ==============
85     Generate nuget packages.
86   -->
87   <Target Name="Pack">
88
89     <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
90              Properties="NoBuild=True"
91              Targets="Restore" />
92
93     <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
94              Properties="NoBuild=True;Version=$(Version);NuspecFile=%(NuspecFiles.Identity)"
95              Targets="Pack" />
96
97   </Target>
98
99   <!--
100     Target : Dummy
101     ==============
102     Generate dummy assemblies of all projects.
103   -->
104   <Target Name="Dummy">
105
106     <PropertyGroup>
107       <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
108     </PropertyGroup>
109
110     <MakeDir Directories="$(OutputDummyDir)" />
111     <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />
112
113   </Target>
114
115 </Project>