Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions Build/Src/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
<Project>
<!--
Build/Src uses the repo root CPM file as its baseline, then layers only the
few build-tool-specific deltas that genuinely differ from application code.
NuGet auto-imports only the nearest Directory.Packages.props, so parent CPM
settings must be imported manually.
-->
<PropertyGroup>
<!--
Build infrastructure projects (FwBuildTasks, NativeBuild) manage their own
package versions independently. They do not contribute assemblies to the
shared Output/ directory, so CPM transitive pinning does not apply here.
FwBuildTasks also requires different versions of test infrastructure packages
(NUnit3TestAdapter 5.2.0, SIL.TestUtilities 12.0.0-*) than the main codebase.
-->
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
<RootDirectoryPackagesProps>$([MSBuild]::GetPathOfFileAbove('Directory.Packages.props', '$(MSBuildThisFileDirectory)..'))</RootDirectoryPackagesProps>
</PropertyGroup>

<Import Project="$(RootDirectoryPackagesProps)" Condition="Exists('$(RootDirectoryPackagesProps)')" />

<Target Name="EnsureRootDirectoryPackagesPropsExists" BeforeTargets="CollectPackageReferences" Condition="'$(RootDirectoryPackagesProps)' == '' Or !Exists('$(RootDirectoryPackagesProps)')">
<Error Text="Unable to locate the repo root Directory.Packages.props for Build/Src. Expected to find a parent Directory.Packages.props above '$(MSBuildThisFileDirectory)'. Ensure the root CPM file exists and has not been renamed or omitted from the current source checkout." />
</Target>

<!-- Use Update for root-pinned packages and Include for build-only packages absent from the root CPM file. -->
<ItemGroup Label="Build Tool Package Versions">
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="18.4.0" />
<PackageVersion Update="Microsoft.Extensions.DependencyModel" Version="2.1.0" />
<PackageVersion Update="NUnit3TestAdapter" Version="5.2.0" />
<PackageVersion Include="SIL.BuildTasks" Version="3.2.0" />
<PackageVersion Update="SIL.TestUtilities" Version="12.0.1" />
</ItemGroup>
</Project>
16 changes: 8 additions & 8 deletions Build/Src/FwBuildTasks/FwBuildTasks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="18.4.0" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="2.1.0" />
<PackageReference Include="NUnit" Version="3.14.0" PrivateAssets="All" />
<PackageReference Include="NUnit3TestAdapter" Version="5.2.0" PrivateAssets="All" />
<PackageReference Include="SIL.BuildTasks" Version="3.2.0" />
<PackageReference Include="SIL.TestUtilities" Version="12.0.1" PrivateAssets="All" />
<PackageReference Include="System.Reflection.Metadata" Version="9.0.14" />
<PackageReference Include="System.Resources.Extensions" Version="9.0.14" />
<PackageReference Include="Microsoft.Build.Utilities.Core" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" />
<PackageReference Include="NUnit" PrivateAssets="All" />
<PackageReference Include="NUnit3TestAdapter" PrivateAssets="All" />
<PackageReference Include="SIL.BuildTasks" />
<PackageReference Include="SIL.TestUtilities" PrivateAssets="All" />
<PackageReference Include="System.Reflection.Metadata" />
<PackageReference Include="System.Resources.Extensions" />
<Reference Include="netstandard" />
<Reference Include="Microsoft.Build.Framework" />
<Reference Include="System.IO.Compression" />
Expand Down
2 changes: 2 additions & 0 deletions Build/Src/NativeBuild/NativeBuild.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
<PropertyGroup>
<Platform Condition="'$(Platform)'==''">x64</Platform>
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
<!-- NativeBuild keeps explicit package versions because it is a traditional MSBuild project. -->
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
<!-- Set fwrt early so NuGet package restore can find packages -->
<fwrt>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\..\..'))</fwrt>
<!--
Expand Down
Loading