[NUI] Publish LottieAnimationView : TCSACR-293 (#1129)
[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     <BuildDesignAssembly Condition="'$(BuildDesignAssembly)' == ''">False</BuildDesignAssembly>
10     <BuildPublicOnly Condition="'$(BuildPublicOnly)' == ''">False</BuildPublicOnly>
11   </PropertyGroup>
12
13   <!-- Projects to build -->
14   <ItemGroup>
15     <DesignProject Include="$(ProjectSrcDir)**\*.Design.csproj" />
16     <DesignProject Include="$(InternalProjectSrcDir)**\*.Design.csproj" />
17
18     <PublicProject Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
19     <PublicProject Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj"
20                    Condition="'$(Project)' != '' And Exists('$(ProjectSrcDir)\$(Project)\$(Project).csproj') " />
21     <PublicProject Remove="@(DesignProject)" />
22
23     <InternalProject Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == '' " />
24     <InternalProject Include="$(InternalProjectSrcDir)\$(Project)\$(Project).csproj"
25                      Condition="'$(Project)' != ''  And Exists('$(InternalProjectSrcDir)\$(Project)\$(Project).csproj')  " />
26     <InternalProject Remove="@(DesignProject)" />
27
28     <ProjectToBuild Include="@(DesignProject)" Condition="'$(BuildDesignAssembly)' == 'True' " />
29     <ProjectToBuild Include="@(PublicProject)" Condition="'$(BuildDesignAssembly)' != 'True' " />
30     <ProjectToBuild Include="@(InternalProject)" Condition="'$(BuildDesignAssembly)' != 'True' And '$(BuildPublicOnly)' != 'True'" />
31   </ItemGroup>
32
33   <!-- Nuspec files to pack -->
34   <ItemGroup>
35     <NuspecFiles Include="$(ProjectRootDir)pkg\**\*.nuspec" />
36   </ItemGroup>
37
38   <!--
39     Target : Clean
40     ==============
41     Delete all artifacts,
42     including the Artifacts/ directory and the obj and bin directories of all projects.
43   -->
44   <Target Name="Clean">
45
46     <ItemGroup>
47       <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\**" />
48       <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\bin\**" />
49       <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\**" />
50       <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\bin\**" />
51       <ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
52     </ItemGroup>
53
54     <ItemGroup>
55       <DirToRemove Include="$(OutputBaseDir)" />
56       <DirToRemove Include="@(ProjectIntermediateDir)" />
57     </ItemGroup>
58
59     <RemoveDir Directories="@(DirToRemove)" />
60
61   </Target>
62
63   <!--
64     Target : Restore
65     ==============
66     Restore all projects.
67   -->
68   <Target Name="Restore">
69
70     <MSBuild Projects="@(ProjectToBuild)"
71              Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources);BuildWithAnalyzer=$(BuildWithAnalyzer)"
72              BuildInParallel="false"
73              Targets="Restore" />
74
75   </Target>
76
77   <!--
78     Target : Build
79     ==============
80     Build all projects.
81   -->
82   <Target Name="Build">
83
84     <MSBuild Projects="@(ProjectToBuild)"
85              Properties="Configuration=$(Configuration);BuildWithAnalyzer=$(BuildWithAnalyzer)"
86              BuildInParallel="true"
87              UseResultsCache="true"
88              Targets="Rebuild" />
89
90     <MSBuild Projects="@(ProjectToBuild)"
91              Properties="Configuration=$(Configuration)"
92              BuildInParallel="false"
93              Targets="CopyToArtifactsDirectory" />
94
95   </Target>
96
97   <!--
98     Target : Pack
99     ==============
100     Generate nuget packages.
101   -->
102   <Target Name="Pack">
103
104     <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
105              Properties="NoBuild=True"
106              Targets="Restore" />
107
108     <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
109              Properties="NoBuild=True;Version=$(Version);NuspecFile=%(NuspecFiles.Identity)"
110              Targets="Pack" />
111
112   </Target>
113
114   <!--
115     Target : Dummy
116     ==============
117     Generate dummy assemblies of all projects.
118   -->
119   <Target Name="Dummy">
120
121     <PropertyGroup>
122       <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
123     </PropertyGroup>
124
125     <MakeDir Directories="$(OutputDummyDir)" />
126     <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />
127
128   </Target>
129
130 </Project>