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