1 <Project DefaultTargets="Build">
3 <Import Project="$(MSBuildThisFileDirectory)directories.props" />
5 <!-- Common Properties -->
7 <PublicModuleListFile>$(PackageSrcDir)PublicModuleList.txt</PublicModuleListFile>
8 <DummyBuildProject>$(MSBuildThisFileDirectory)build.dummy.csproj</DummyBuildProject>
11 <!-- Build Properties -->
13 <Configuration>Release</Configuration>
16 <!-- Projects to build -->
18 <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''" />
19 <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
26 including the Artifacts/ directory and the obj/ directories for all projects.
31 <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\*" />
32 <ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
36 <DirToRemove Include="$(OutputBaseDir)" />
37 <DirToRemove Include="@(ProjectIntermediateDir)" />
40 <RemoveDir Directories="@(DirToRemove)" />
48 Build all projects in src/ directory.
49 The output(.dll, .pdb, .xml) of the project specfied in
50 pkg/PublicModuleList.txt is copied to Artifacts/bin/public,
51 and the rest are copied to Artifacts/bin/platform.
53 <Target Name="Build" DependsOnTargets="Clean">
55 <MSBuild Projects="@(ProjectToBuild)"
56 Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
59 <MSBuild Projects="@(ProjectToBuild)"
60 Properties="Configuration=$(Configuration);OutDir=$(OutputPlatformDir)"
61 BuildInParallel="true"
62 UseResultsCache="true"
65 <ReadLinesFromFile File="$(PublicModuleListFile)">
66 <Output TaskParameter="Lines" ItemName="PublicProject" />
70 <PlatformFiles Include="$(OutputPlatformDir)*" />
71 <_PublicFilesToMove Include="$(OutputPlatformDir)%(PublicProject.Identity).dll" />
72 <_PublicFilesToMove Include="$(OutputPlatformDir)%(PublicProject.Identity).pdb" />
73 <_PublicFilesToMove Include="$(OutputPlatformDir)%(PublicProject.Identity).xml" />
74 <PublicFilesToMove Include="@(_PublicFilesToMove)" Condition="'@(PlatformFiles)' == '@(_PublicFilesToMove)' and '%(Identity)' != '' " />
77 <MakeDir Directories="$(OutputPublicDir)" />
78 <Move SourceFiles="@(PublicFilesToMove)" DestinationFolder="$(OutputPublicDir)" />
80 <Message Text="Moved %(PublicFilesToMove.Filename)%(PublicFilesToMove.Extension) -> $(OutputPublicDir)%(PublicFilesToMove.Filename)%(PublicFilesToMove.Extension)" Importance="High" />
87 Build dummy assemblies using GenAPI
89 <Target Name="BuildDummy">
91 <MSBuild Projects="$(DummyBuildProject)"
92 Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
93 Targets="Restore;Rebuild" />