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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions bench/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
<Project>
<Import Project="$(MSBuildThisFileDirectory)\..\eng\packages\TestOnly.props" />

<PropertyGroup>
<GenerateDocumentationFile Condition="'$(GenerateDocumentationFile)' == ''">false</GenerateDocumentationFile>
</PropertyGroup>
Expand Down
6 changes: 6 additions & 0 deletions bench/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<Project>
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Packages.props', '$(MSBuildThisFileDirectory)../'))" />

<!-- Import package versions used for tests and benchmarks -->
<Import Project="$(MSBuildThisFileDirectory)..\eng\packages\Tests.props" />
</Project>
20 changes: 9 additions & 11 deletions eng/MSBuild/Packaging.targets
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,16 @@
<PackageValidationBaselineVersion Condition="'$(Stage)' == 'normal' and '$(PackageValidationBaselineVersion)' == ''">9.10.0</PackageValidationBaselineVersion>
</PropertyGroup>

<!-- Verify that the minimum supported TFM is actually used. -->
<!-- Verify that the minimum supported TFM is actually used. Not applicable for project template packages. -->
<Target Name="_VerifyMinimumSupportedTfmForPackagingIsUsed"
Condition="'$(IsPackable)' == 'true' and '$(DisableNETStandardCompatErrors)' != 'true'">
<Error Text="$TargetFrameworks ('$(TargetFrameworks)') does not contain $MinimumSupportedTfmForPackaging ('$(MinimumSupportedTfmForPackaging)')."
Condition="'$(IsPackable)' == 'true' and '$(PackageType)' != 'Template' and '$(DisableMinimumSupportedTfmCompatErrors)' != 'true'">
<Error Text="$TargetFrameworks ('$(TargetFrameworks)') does not contain $MinimumSupportedTfmForPackaging ('$(MinimumSupportedTfmForPackaging)'). This is ignored for PackageType=Template or if DisableMinimumSupportedTfmCompatErrors=true."
Condition="!$(TargetFrameworks.Contains('$(MinimumSupportedTfmForPackaging)'))" />
</Target>

<!-- Add targets file that marks selected TFMs as unsupported. -->
<Target Name="_AddNETStandardCompatErrorFileForPackaging"
Condition="'@(NETStandardCompatError)' != '' and '$(DisableNETStandardCompatErrors)' != 'true'"
Condition="'@(NETStandardCompatError)' != '' and '$(DisableMinimumSupportedTfmCompatErrors)' != 'true'"
Inputs="%(NETStandardCompatError.Identity)"
Outputs="unused">
<PropertyGroup>
Expand Down Expand Up @@ -102,14 +102,12 @@
</ItemGroup>
</Target>

<!-- This target is used to get the package versions of projects. -->
<Target Name="_GetPackageVersionInfo"
Returns="@(_PackageVersionInfo)">
<!-- Extract the PackageId and PackageVersion. Used to resolve the version in project templates builds. -->
<Target Name="GetProjectPackageVersion" Returns="@(ProjectPackageVersion)">
<ItemGroup>
<_PackageVersionInfo Include="$(MSBuildProjectFullPath)">
<PackageVersion>$(PackageVersion)</PackageVersion>
<PackageId>$(PackageId)</PackageId>
</_PackageVersionInfo>
<ProjectPackageVersion Include="$(PackageId)"
Version="$(Version)"
Project="$(MSBuildProjectFullPath)" />
</ItemGroup>
</Target>

Expand Down
6 changes: 6 additions & 0 deletions eng/Tools/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<Project>
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Packages.props', '$(MSBuildThisFileDirectory)../'))" />

<!-- Import package versions used for tools -->
<Import Project="$(MSBuildThisFileDirectory)..\packages\Tools.props" />
</Project>
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup Label="Version settings">
<MajorVersion>10</MajorVersion>
<MinorVersion>1</MinorVersion>
<PatchVersion>1</PatchVersion>
<PatchVersion>2</PatchVersion>
<PreReleaseVersionLabel>preview</PreReleaseVersionLabel>
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
<VersionPrefix>$(MajorVersion).$(MinorVersion).$(PatchVersion)</VersionPrefix>
Expand Down
8 changes: 4 additions & 4 deletions eng/build.proj
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
<Project Sdk="Microsoft.Build.Traversal">
<ItemGroup>
<_SnapshotsToExclude Include="$(MSBuildThisFileDirectory)..\test\**\Snapshots\**\*.*proj" />
<_GeneratedContentToExclude Include="$(MSBuildThisFileDirectory)..\test\**\ExecutionTestSandbox\**\*.*proj" />

<!-- We recursively add all of the projects inside the src directory, except for the exclusions above -->
<_ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\src\**\*.csproj" />
<!-- We recursively add all of the test projects -->
Expand All @@ -11,7 +8,10 @@
<!-- Additionally, include the transport project that is not defined as a csproj -->
<_ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\src\Packages\Microsoft.Internal.Extensions.DotNetApiDocs.Transport\Microsoft.Internal.Extensions.DotNetApiDocs.Transport.proj" />

<!-- Exclude project template test snapshots from the build -->
<_ProjectsToExclude Include="$(MSBuildThisFileDirectory)..\test\ProjectTemplates\**\Snapshots\**\*.csproj" />

<!-- Add all the projects we want to build as project references, so the traversal SDK can build them -->
<ProjectReference Include="@(_ProjectsToBuild)" Exclude="@(_ProjectsToExclude);@(_SnapshotsToExclude);@(_GeneratedContentToExclude)" />
<ProjectReference Include="@(_ProjectsToBuild)" Exclude="@(_ProjectsToExclude)" />
</ItemGroup>
</Project>
12 changes: 2 additions & 10 deletions eng/packages/General.props
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,19 @@
<PackageVersion Include="Markdig.Signed" Version="$(MarkdigSignedVersion)" />
<PackageVersion Include="Microsoft.ApplicationInsights" Version="2.23.0" />
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
<PackageVersion Include="Microsoft.CodeAnalysis" Version="$(MicrosoftCodeAnalysisVersion)" />
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="$(MicrosoftCodeAnalysisAnalyzersVersion)" />
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="$(MicrosoftCodeAnalysisVersion)" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(MicrosoftCodeAnalysisVersion)" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="$(MicrosoftCodeAnalysisVersion)" />
<PackageVersion Include="Microsoft.CodeAnalysis" Version="$(MicrosoftCodeAnalysisVersion)" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(MicrosoftCodeAnalysisVersion)" />
<PackageVersion Include="Microsoft.Extensions.VectorData.Abstractions" Version="$(MicrosoftExtensionsVectorDataAbstractionsVersion)" />
<PackageVersion Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.0" />
<PackageVersion Include="Microsoft.ML.Tokenizers" Version="$(MicrosoftMLTokenizersVersion)" />
<PackageVersion Include="ModelContextProtocol.Core" Version="0.4.0-preview.3" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="OllamaSharp" Version="5.1.9" />
<PackageVersion Include="OpenAI" Version="2.8.0" />
<PackageVersion Include="Polly" Version="8.4.2" />
<PackageVersion Include="Polly.Core" Version="8.4.2" />
<PackageVersion Include="Polly.Extensions" Version="8.4.2" />
<PackageVersion Include="Polly.RateLimiting" Version="8.4.2" />
<PackageVersion Include="SharpFuzz" Version="2.1.1" />
<PackageVersion Include="System.Buffers" Version="4.5.1" />
<PackageVersion Include="System.ClientModel" Version="1.2.1" />
<PackageVersion Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta4.22272.1" />
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageVersion Include="System.Linq.AsyncEnumerable" Version="10.0.0" />
Expand All @@ -38,7 +31,6 @@
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.0" />
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
<PackageVersion Include="System.ValueTuple" Version="4.5.0" />
<PackageVersion Include="YamlDotNet" Version="12.3.1" />
<PackageVersion Include="Yarp.ReverseProxy" Version="2.3.0" />
</ItemGroup>

Expand Down
39 changes: 39 additions & 0 deletions eng/packages/ProjectTemplates.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Define package versions that need to be referenced by projects
produced by project template packages. These versions are used
when generating project template content files.
-->
<ItemGroup>
<PackageVersion Include="Aspire.AppHost.Sdk" Version="13.0.0" />
<PackageVersion Include="Aspire.Azure.AI.OpenAI" Version="13.0.0-preview.1.25560.3" />
<PackageVersion Include="Aspire.Azure.Search.Documents" Version="13.0.0" />
<PackageVersion Include="Aspire.Hosting.AppHost" Version="13.0.0" />
<PackageVersion Include="Aspire.Hosting.Azure.CognitiveServices" Version="13.0.0" />
<PackageVersion Include="Aspire.Hosting.Azure.Search" Version="13.0.0" />
<PackageVersion Include="Aspire.Hosting.Qdrant" Version="13.0.0" />
<PackageVersion Include="Aspire.Qdrant.Client" Version="13.0.0" />
<PackageVersion Include="Azure.AI.Projects" Version="1.1.0" />
<PackageVersion Include="Azure.Search.Documents" Version="11.7.0" />
<PackageVersion Include="CommunityToolkit.Aspire.Hosting.Ollama" Version="13.0.0-beta.444" />
<PackageVersion Include="CommunityToolkit.Aspire.OllamaSharp" Version="13.0.0-beta.444" />
<PackageVersion Include="Microsoft.Agents.AI" Version="1.0.0-preview.251219.1" />
<PackageVersion Include="Microsoft.Agents.AI.Hosting.OpenAI" Version="1.0.0-alpha.251219.1" />
<PackageVersion Include="Microsoft.Agents.AI.Workflows" Version="1.0.0-preview.251219.1" />
<PackageVersion Include="Microsoft.ML.Tokenizers.Data.Cl100kBase" Version="$(MicrosoftMLTokenizersVersion)" />
<PackageVersion Include="Microsoft.ML.Tokenizers.Data.O200kBase" Version="$(MicrosoftMLTokenizersVersion)" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" Version="1.67.1-preview" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Qdrant" Version="1.67.1-preview" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.SqliteVec" Version="1.67.1-preview" />
<PackageVersion Include="ModelContextProtocol" Version="0.5.0-preview.1" />
<PackageVersion Include="ModelContextProtocol.AspNetCore" Version="0.5.0-preview.1" />
<PackageVersion Include="OllamaSharp" Version="5.4.12" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.14.0" />
<PackageVersion Include="PdfPig" Version="0.1.12" />
</ItemGroup>
</Project>
20 changes: 15 additions & 5 deletions eng/packages/TestOnly.props → eng/packages/Tests.props
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageVersion Include="AutoFixture.AutoMoq" Version="4.17.0" />
<PackageVersion Include="autofixture" Version="4.17.0" />
<PackageVersion Include="BenchmarkDotNet" Version="0.13.5" />
<PackageVersion Include="AutoFixture.AutoMoq" Version="4.17.0" />
<PackageVersion Include="AwesomeAssertions" Version="8.0.2" />
<PackageVersion Include="BenchmarkDotNet" Version="0.13.5" />
<PackageVersion Include="DocumentFormat.OpenXml" version="3.0.1" />
<PackageVersion Include="Grpc.AspNetCore" Version="2.65.0" />
<PackageVersion Include="System.IO.Packaging" Version="8.0.1" />
<PackageVersion Include="JsonSchema.Net" Version="7.2.3" />
<PackageVersion Include="DocumentFormat.OpenXml" version="3.0.1" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2" />
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.1.3" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.0" />
Expand All @@ -19,11 +19,12 @@
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.SqliteVec" Version="$(MicrosoftSemanticKernelConnectorsVersion)" />
<PackageVersion Include="Microsoft.TemplateEngine.Authoring.TemplateVerifier" Version="9.0.201" />
<PackageVersion Include="Microsoft.TemplateEngine.TestHelper" Version="9.0.200-rtm.25066.4" />
<PackageVersion Include="Moq.AutoMock" Version="3.1.0" />
<PackageVersion Include="Moq" Version="4.18.4" />
<PackageVersion Include="Moq.AutoMock" Version="3.1.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="OpenTelemetry.Exporter.InMemory" Version="1.9.0" />
<PackageVersion Include="PdfPig" Version="0.1.10" />
<PackageVersion Include="Polly.Testing" Version="8.4.2" />
<PackageVersion Include="SharpFuzz" Version="2.1.1" />
<PackageVersion Include="StrongNamer" Version="0.2.5" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="$(SystemConfigurationConfigurationManagerVersion)" />
<PackageVersion Include="Verify.Xunit" Version="28.15.0" />
Expand All @@ -32,6 +33,15 @@
<PackageVersion Include="Xunit.SkippableFact" Version="1.4.13" />
</ItemGroup>

<ItemGroup Label="IntegrationTestReferences">
<!--
Note: Integration tests use the lowest supported versions of
external packages to ensure backwards compatibility.
-->
<PackageVersion Include="OllamaSharp" Version="5.1.9" />
<PackageVersion Include="PdfPig" Version="0.1.10" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
<PackageVersion Include="Microsoft.AspNetCore.Mvc" Version="2.1.3" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.1.3" />
Expand Down
8 changes: 8 additions & 0 deletions eng/packages/Tools.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageVersion Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta4.22272.1" />
<PackageVersion Include="YamlDotNet" Version="12.3.1" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<TargetFrameworks>$(TargetFrameworks);netstandard2.0</TargetFrameworks>
<NoWarn>$(NoWarn);MEAI001</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DisableNETStandardCompatErrors>true</DisableNETStandardCompatErrors>
<DisableMinimumSupportedTfmCompatErrors>true</DisableMinimumSupportedTfmCompatErrors>
</PropertyGroup>

<PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<NoWarn>$(NoWarn);CA1063</NoWarn>
<NoWarn>$(NoWarn);OPENAI001;OPENAI002;MEAI001;SCME0001</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DisableNETStandardCompatErrors>true</DisableNETStandardCompatErrors>
<DisableMinimumSupportedTfmCompatErrors>true</DisableMinimumSupportedTfmCompatErrors>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<NoWarn>$(NoWarn);CA2007</NoWarn>

<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DisableNETStandardCompatErrors>true</DisableNETStandardCompatErrors>
<DisableMinimumSupportedTfmCompatErrors>true</DisableMinimumSupportedTfmCompatErrors>
</PropertyGroup>

<PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<IsPackable>true</IsPackable>
<Description>Provides abstractions for service discovery. Interfaces defined in this package are implemented in Microsoft.Extensions.ServiceDiscovery and other service discovery packages.</Description>
<StrongNameKeyId>Open</StrongNameKeyId>
<DisableNETStandardCompatErrors>true</DisableNETStandardCompatErrors>
<DisableMinimumSupportedTfmCompatErrors>true</DisableMinimumSupportedTfmCompatErrors>
<RootNamespace>Microsoft.Extensions.ServiceDiscovery</RootNamespace>
<!-- https://github.com/dotnet/extensions/issues/6871 tracks enabling these -->
<NoWarn>$(NoWarn);S1144;CA1002;S2365;SA1642;IDE0040;CA1307;EA0009;LA0003</NoWarn>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<IsPackable>true</IsPackable>
<Description>Provides extensions to HttpClient that enable service discovery based on configuration.</Description>
<StrongNameKeyId>Open</StrongNameKeyId>
<DisableNETStandardCompatErrors>true</DisableNETStandardCompatErrors>
<DisableMinimumSupportedTfmCompatErrors>true</DisableMinimumSupportedTfmCompatErrors>
<!-- https://github.com/dotnet/extensions/issues/6871 tracks enabling these -->
<NoWarn>$(NoWarn);CS8600;CS8602;CS8604;IDE0040;IDE0055;IDE0058;IDE1006;CA1307;CA1310;CA1849;CA2007;CA2213;SA1204;SA1128;SA1205;SA1405;SA1612;SA1623;SA1625;SA1642;S1144;S1449;S2302;S2692;S3872;S4457;EA0000;EA0009;EA0014;LA0001;LA0003;LA0008;VSTHRD200</NoWarn>
<ImplicitUsings>enable</ImplicitUsings>
Expand Down
2 changes: 1 addition & 1 deletion src/Packages/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<GenerateDocumentationFile>n/a</GenerateDocumentationFile>
<SkipAnalyzers>true</SkipAnalyzers>
<DisableNETStandardCompatErrors>true</DisableNETStandardCompatErrors>
<DisableMinimumSupportedTfmCompatErrors>true</DisableMinimumSupportedTfmCompatErrors>
<Api>false</Api>
</PropertyGroup>

Expand Down
22 changes: 4 additions & 18 deletions src/ProjectTemplates/.gitignore
Original file line number Diff line number Diff line change
@@ -1,22 +1,8 @@
# We're not tracking any package-lock.json files in source control here because
# we don't ship pre-generated NPM lockfiles in the templates. But we don't put
# them in the project template's .gitignore file because they should be tracked
# in source control when people actually create projects from the templates.
package-lock.json

# Don't track files generated for debugging templates locally.
*/src/**/*.csproj
*/src/**/*.sln
*/src/**/NuGet.config
*/src/**/Directory.Build.targets
*/src/**/Directory.Build.props
*/src/**/ingestioncache.*

# The project templates include hard-coded launchSettings.json files
!*/src/ProjectTemplates/**/Properties/launchSettings.json
!**/templates/**/Properties/launchSettings.json

# Templates include JS dependencies in dist folders.
!**/dist/*
!**/templates/**/dist/*

# Keep the package-lock.json file for updating template dependencies.
!package-lock.json
# Templates include solution files for Aspire configurations
!**/templates/**/*.sln
10 changes: 10 additions & 0 deletions src/ProjectTemplates/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,14 @@
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
<Api>false</Api>
</PropertyGroup>

<ItemGroup>
<!-- Provides the GenerateFileFromTemplate task. -->
<PackageReference
Include="Microsoft.DotNet.Build.Tasks.Templating"
Version="$(MicrosoftDotNetBuildTasksTemplatingVersion)"
PrivateAssets="All"
IsImplicitlyDefined="true" />
</ItemGroup>

</Project>
Loading
Loading