aspnetcore/build/repo.targets

87 lines
4.2 KiB
XML

<Project>
<PropertyGroup>
<TestDotNetPath>$(RepositoryRoot).test-dotnet\</TestDotNetPath>
<AppsArtifactDirectory>$(RepositoryRoot)artifacts\apps</AppsArtifactDirectory>
<SiteExtensionWorkingDirectory>$(TestDotNetPath)extension\</SiteExtensionWorkingDirectory>
<SiteExtensionOutputDirectory>$(RepositoryRoot)artifacts\extensions</SiteExtensionOutputDirectory>
<TestProjectDirectory>$(RepositoryRoot)\test\Microsoft.AspNetCore.AzureAppServices.FunctionalTests\</TestProjectDirectory>
<SiteExtensionFeed Condition="$(SiteExtensionFeed) == ''">https://dotnet.myget.org/F/aspnetcore-ci-dev/</SiteExtensionFeed>
<DotnetChannel>master</DotnetChannel>
<DotnetVersion>coherent</DotnetVersion>
</PropertyGroup>
<ItemGroup>
<SiteExtensions Include="AspNetCoreTestBundle">
<Project>$(RepositoryRoot)src\Microsoft.AspNetCore.AzureAppServices.TestBundle\Microsoft.AspNetCore.AzureAppServices.TestBundle.csproj</Project>
</SiteExtensions>
<SiteExtensions Include="AspNetCoreRuntime">
<Project>$(RepositoryRoot)src\Microsoft.AspNetCore.Runtime.SiteExtension\Microsoft.AspNetCore.Runtime.SiteExtension.csproj</Project>
</SiteExtensions>
</ItemGroup>
<Target Name="_AddTestRuntimes">
<ItemGroup>
<DotNetCoreSdk Include="2.0.0" InstallDir="$(TestDotNetPath)2.0\" FallbackPackageCache="True" />
<DotNetCoreSdk Include="coherent" Channel="master" InstallDir="$(TestDotNetPath)latest\" FallbackPackageCache="True" />
</ItemGroup>
</Target>
<Target Name="_AddSiteExtensionRuntimes">
<ItemGroup>
<DotNetCoreSdk Include="coherent" Channel="master" InstallDir="$(SiteExtensionWorkingDirectory)" Arch="x86" />
</ItemGroup>
</Target>
<Target Name="BuildSiteExtension" DependsOnTargets="_AddSiteExtensionRuntimes;InstallDotNet">
<ItemGroup>
<RuntimeArchiveItems Include="$(RuntimeArchives)" />
<DotNetCacheArchiveItems Include="$(DotNetCacheArchives)" />
</ItemGroup>
<UnzipArchive File="%(RuntimeArchiveItems.Identity)" Destination="$(SiteExtensionWorkingDirectory)" Condition="'$(RuntimeArchives)' != ''" Overwrite="true" />
<UnzipArchive File="%(DotNetCacheArchiveItems.Identity)" Destination="$(SiteExtensionWorkingDirectory)DotNetCache" Condition="'$(DotNetCacheArchives)' != ''" Overwrite="true" />
<MSBuild Projects="%(SiteExtensions.Project)"
Targets="Restore;Pack"
Properties="DotnetHomeDirectory=$(SiteExtensionWorkingDirectory);BuildNumber=$(BuildNumber);PackageOutputPath=$(SiteExtensionOutputDirectory)" />
</Target>
<Target Name="PushSiteExtension">
<ItemGroup>
<RepositoryNupkgs Include="$(SiteExtensionOutputDirectory)\%(SiteExtensions.Identity).*.nupkg" />
</ItemGroup>
<PushNuGetPackages
Packages="@(RepositoryNupkgs)"
Feed="$(SiteExtensionFeed)"
ApiKey="$(APIKey)"
TimeoutSeconds="600"/>
</Target>
<Target Name="TestSiteExtension" DependsOnTargets="_AddTestRuntimes;InstallDotNet;Restore">
<Copy SourceFiles="$(TestProjectDirectory)NuGet.config.template" DestinationFiles="$(RepositoryRoot)artifacts\NuGet.config" />
<Copy SourceFiles="$(TestProjectDirectory)global.json.template" DestinationFiles="$(RepositoryRoot)artifacts\global.json" />
<Copy SourceFiles="$(TestProjectDirectory)Directory.Build.props.template" DestinationFiles="$(RepositoryRoot)artifacts\Directory.Build.props" />
<Copy SourceFiles="$(TestProjectDirectory)Directory.Build.targets.template" DestinationFiles="$(RepositoryRoot)artifacts\Directory.Build.targets" />
<Exec Command="%(DotNetCoreSdk.InstallDir)dotnet msbuild /version" WorkingDirectory="$(RepositoryRoot)artifacts\" />
<Exec Command="dotnet run" WorkingDirectory="$(TestProjectDirectory)"/>
</Target>
<Target Name="CleanArtifactsApplications" BeforeTargets="CleanArtifacts" >
<!--
git deploy creates read-only files which msbuild is unable to remove
NOTE: we run tests only on windows
-->
<Exec Command="rmdir /S /Q &quot;$(AppsArtifactDirectory)&quot;" Condition="Exists($(AppsArtifactDirectory))" />
<RemoveDir Directories="$(SiteExtensionOutputDirectory)" Condition="Exists($(SiteExtensionOutputDirectory))" />
</Target>
</Project>