| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <Project>
- <PropertyGroup>
- <BuildManaged>true</BuildManaged>
- <RepoRoot
- Condition=" '$(RepoRoot)' == '' OR !HasTrailingSlash('$(RepoRoot)') ">$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', '..'))</RepoRoot>
- <BuildMainlyReferenceProviders>true</BuildMainlyReferenceProviders>
- </PropertyGroup>
- <Import Project="Build.props" />
- <Target Name="GenerateProjectList">
- <Message Importance="High" Text="Analyzing @(ProjectToBuild->Count()) projects" />
- <MSBuild Projects="@(ProjectToBuild)"
- Targets="GetReferencesProvided"
- BuildInParallel="true"
- SkipNonexistentTargets="true"
- SkipNonexistentProjects="true">
- <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceProvider" />
- </MSBuild>
- <ItemGroup>
- <_SharedFrameworkAndPackageRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'true')->Distinct())" />
- <_SharedFrameworkRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'false')->Distinct())" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectListFile>$(MSBuildThisFileDirectory)ProjectReferences.props</ProjectListFile>
- <ProjectListContent><![CDATA[<!--
- This file is automatically generated. Run `./eng/scripts/GenerateProjectList.ps1` to update.
- This file contains a map of assembly names to the projects that build them.
- -->
- <Project>
- <ItemGroup>
- @(_ProjectReferenceProvider->'<ProjectReferenceProvider Include="%(Identity)" ProjectPath="%24(RepoRoot)%(ProjectFileRelativePath)" />', '%0A ')
- </ItemGroup>
- </Project>
- ]]></ProjectListContent>
- </PropertyGroup>
- <!-- Workaround https://github.com/Microsoft/msbuild/issues/1024 -->
- <WriteLinesToFile Condition="'$(OS)' == 'Windows_NT'"
- File="$(ProjectListFile)" Lines="$([MSBuild]::Escape($(ProjectListContent)))" Overwrite="true" />
- <Exec Condition="'$(OS)' != 'Windows_NT'"
- Command="echo '$(ProjectListContent.Replace('\t','\\t'))' > $(ProjectListFile)" />
- <Message Importance="High" Text="Generated $(ProjectListFile)" />
- <PropertyGroup>
- <SharedFxDepList>$(MSBuildThisFileDirectory)SharedFramework.Local.props</SharedFxDepList>
- <SharedFxDepListContent>
- <![CDATA[
- <!--
- This file is automatically generated. Run `./eng/scripts/GenerateProjectList.ps1` to update.
- This file contains a complete list of the assemblies which are part of the shared framework.
- This project is generated using the <IsAspNetCoreApp> and <IsPackable> properties from each .csproj in this repository.
- -->
- <Project>
- <ItemGroup>
- <!-- These assemblies are available as both a NuGet package and in the shared framework -->
- @(_SharedFrameworkAndPackageRef->'<AspNetCoreAppReferenceAndPackage Include="%(Identity)" />', '%0A ')
- <!-- These assemblies are only in the shared framework -->
- @(_SharedFrameworkRef->'<AspNetCoreAppReference Include="%(Identity)" />', '%0A ')
- </ItemGroup>
- </Project>
- ]]>
- </SharedFxDepListContent>
- </PropertyGroup>
- <WriteLinesToFile File="$(SharedFxDepList)" Lines="$(SharedFxDepListContent)" Overwrite="true" />
- <Message Importance="High" Text="Generated $(SharedFxDepList)" />
- </Target>
- </Project>
|