Skip to content
Draft
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
9 changes: 9 additions & 0 deletions src/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,13 @@
<PackageName Include="$(PackageId)" Condition="'$(IsPackable)' == 'true'" WithPackageVersion="$(PackageVersion)" />
</ItemGroup>
</Target>

<!-- Used by Aspire.RepoTesting.targets to dynamically compute per-package versions for Helix testing.
Returns the PackageId and its computed PackageVersion for packable projects. The version is computed
per-project by the Arcade SDK, respecting SuppressFinalPackageVersion, StabilizePackageVersion, etc. -->
<Target Name="ReturnPackageVersion" Returns="@(_ReturnedPackageVersion)">
<ItemGroup>
<_ReturnedPackageVersion Include="$(PackageId)" Version="$(PackageVersion)" Condition="'$(IsPackable)' == 'true'" />
</ItemGroup>
</Target>
</Project>
40 changes: 36 additions & 4 deletions tests/Shared/RepoTesting/Aspire.RepoTesting.targets
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
`AspireProjectOrPackageReference` - maps to projects in `src/` or `src/Components/`
-->

<Import Project="Sdk.props" Sdk="Aspire.AppHost.Sdk" Version="$(PackageVersion)" Condition="'$(IsAspireHost)' == 'true' and '$(RepoRoot)' == '' and '$(TestsRunningOutsideOfRepo)' == 'true'" />
<Import Project="Sdk.props" Sdk="Aspire.AppHost.Sdk" Version="$(AspireAppHostSdkVersion)" Condition="'$(IsAspireHost)' == 'true' and '$(RepoRoot)' == '' and '$(TestsRunningOutsideOfRepo)' == 'true'" />

<PropertyGroup>
<!-- copy by default only when archiving tests, and for test projects that support running out of repo -->
Expand Down Expand Up @@ -107,7 +107,33 @@

<!-- Generate before the build so the projects can use this in a <None ..> item -->
<Target Name="_GeneratePackagesVersionsProps" BeforeTargets="BeforeBuild" Condition="'$(DeployOutsideOfRepoSupportFiles)' == 'true' and '$(IsTestUtilityProject)' != 'true'">
<!-- Duplicate all the @(PackageVersion) items with the evaluated versions -->
<!-- Enumerate all src projects to get their per-package versions (respects SuppressFinalPackageVersion, etc.) -->
<ItemGroup>
<_SrcProjectsForVersions Include="$(RepoRoot)src\**\*.csproj"
Exclude="$(RepoRoot)src\Aspire.ProjectTemplates\templates\**\*.csproj" />
</ItemGroup>

<MSBuild Projects="@(_SrcProjectsForVersions)"
Targets="ReturnPackageVersion"
BuildInParallel="true">
<Output TaskParameter="TargetOutputs" ItemName="_AspirePackageVersions" />
</MSBuild>

<!-- Format Aspire package versions as XML PackageVersion entries -->
<ItemGroup>
<_AspirePackageVersionXml Include="@(_AspirePackageVersions -> '&lt;PackageVersion Include=&quot;%(Identity)&quot; Version=&quot;%(Version)&quot; /&gt;')" />
</ItemGroup>

<!-- Extract the Aspire.AppHost.Sdk version for SDK imports in Aspire.RepoTesting.targets -->
<FindInList List="@(_AspirePackageVersions)" ItemSpecToFind="Aspire.AppHost.Sdk">
<Output TaskParameter="ItemFound" ItemName="_AppHostSdkItem" />
</FindInList>

<PropertyGroup>
<_AspireAppHostSdkVersion>%(_AppHostSdkItem.Version)</_AspireAppHostSdkVersion>
</PropertyGroup>

<!-- Duplicate all the @(PackageVersion) items (3rd-party packages) with the evaluated versions -->
<ItemGroup>
<_PackageVersionEvaluated Include="@(PackageVersion -> '&lt;PackageVersion Include=&quot;%(Identity)&quot; Version=&quot;%(Version)&quot; /&gt;')" />

Expand All @@ -126,15 +152,21 @@
<Project>
<PropertyGroup>
<PackageVersion>$(PackageVersion)</PackageVersion>
<AspireAppHostSdkVersion>$(_AspireAppHostSdkVersion)</AspireAppHostSdkVersion>

<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>

<ItemGroup>
<ItemGroup Label="3rd-party packages">
@(_PackageVersionEvaluated, '
')
</ItemGroup>

<ItemGroup Label="Aspire packages (dynamically computed)">
@(_AspirePackageVersionXml, '
')
</ItemGroup>

<PropertyGroup Label="From PropertyForHelixRun">
@(_PropertiesToPassEvaluated, '
')
Expand Down Expand Up @@ -165,6 +197,6 @@
<AspireHostingSDKVersion>$(MajorVersion).$(MinorVersion).$(PatchVersion)</AspireHostingSDKVersion>
</PropertyGroup>

<Import Project="Sdk.targets" Sdk="Aspire.AppHost.Sdk" Version="$(PackageVersion)" Condition="'$(IsAspireHost)' == 'true' and '$(RepoRoot)' == '' and '$(TestsRunningOutsideOfRepo)' == 'true'" />
<Import Project="Sdk.targets" Sdk="Aspire.AppHost.Sdk" Version="$(AspireAppHostSdkVersion)" Condition="'$(IsAspireHost)' == 'true' and '$(RepoRoot)' == '' and '$(TestsRunningOutsideOfRepo)' == 'true'" />

</Project>
85 changes: 7 additions & 78 deletions tests/Shared/RepoTesting/Directory.Packages.Helix.props
Original file line number Diff line number Diff line change
@@ -1,84 +1,13 @@
<Project>
<Import Project="$(MSBuildThisFileDirectory)Directory.Packages.Versions.props" />

<ItemGroup Label="Aspire packages">
<PackageVersion Include="Aspire.Azure.AI.OpenAI" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Data.Tables" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Messaging.EventHubs" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Messaging.ServiceBus" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Messaging.WebPubSub" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Search.Documents" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Security.KeyVault" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Storage.Blobs" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Storage.Queues" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Confluent.Kafka" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.AppHost" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.AppConfiguration" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.AppContainers" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.ApplicationInsights" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.CognitiveServices" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.CosmosDB" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.ContainerRegistry" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.EventHubs" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.Functions" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.KeyVault" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.OperationalInsights" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.PostgreSQL" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.Redis" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.Search" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.ServiceBus" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.SignalR" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.Sql" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.Storage" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Azure.WebPubSub" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Docker" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Garnet" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Kafka" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Keycloak" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Milvus" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.MongoDB" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.MySql" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Nats" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.JavaScript" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Oracle" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Orleans" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.PostgreSQL" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Python" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Qdrant" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.RabbitMQ" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Redis" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.AppHost.Sdk" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Seq" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.SqlServer" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Testing" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Valkey" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Hosting.Yarp" Version="$(PackageVersion)" />

<PackageVersion Include="Aspire.Keycloak.Authentication" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Microsoft.Azure.Cosmos" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Microsoft.Data.SqlClient" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Microsoft.EntityFrameworkCore.Cosmos" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Microsoft.EntityFrameworkCore.SqlServer" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Milvus.Client" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.MongoDB.Driver" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.MongoDB.Driver.v2" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.MySqlConnector" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.NATS.Net" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Npgsql" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Oracle.EntityFrameworkCore" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Pomelo.EntityFrameworkCore.MySql" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Qdrant.Client" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.RabbitMQ.Client" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.RabbitMQ.Client.v6" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.Seq" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.StackExchange.Redis" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.StackExchange.Redis.DistributedCaching" Version="$(PackageVersion)" />
<PackageVersion Include="Aspire.StackExchange.Redis.OutputCaching" Version="$(PackageVersion)" />
</ItemGroup>
<!--
Aspire package versions are dynamically computed and included in the generated
Directory.Packages.Versions.props file. They are produced by calling the ReturnPackageVersion
target on each packable src project, which returns the per-project PackageVersion computed by
the Arcade SDK (respecting SuppressFinalPackageVersion, StabilizePackageVersion, etc.).
See _GeneratePackagesVersionsProps target in Aspire.RepoTesting.targets for details.
-->

<ItemGroup Label="For tests">
<PackageVersion Include="mstest.testadapter" Version="$(MSTestTestAdapterVersion)" />
Expand Down
Loading