[Static web assets] Use prebuilt packages in tests
* Avoids running dotnet restore and dotnet pack during tests which caused test hangs\n\nCommit migrated from 300eeb08d2
This commit is contained in:
parent
1af2060d53
commit
7eca4ab2ec
|
|
@ -15,9 +15,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
{
|
{
|
||||||
public abstract class MSBuildIntegrationTestBase
|
public abstract class MSBuildIntegrationTestBase
|
||||||
{
|
{
|
||||||
internal static readonly string LocalNugetPackagesCacheTempPath =
|
|
||||||
Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()) + Path.DirectorySeparatorChar;
|
|
||||||
|
|
||||||
private static readonly AsyncLocal<ProjectDirectory> _project = new AsyncLocal<ProjectDirectory>();
|
private static readonly AsyncLocal<ProjectDirectory> _project = new AsyncLocal<ProjectDirectory>();
|
||||||
private static readonly AsyncLocal<string> _projectTfm = new AsyncLocal<string>();
|
private static readonly AsyncLocal<string> _projectTfm = new AsyncLocal<string>();
|
||||||
|
|
||||||
|
|
@ -49,10 +46,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
set { _project.Value = value; }
|
set { _project.Value = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Whether to use a local cache or not to prevent polluting the global cache
|
|
||||||
// with test packages.
|
|
||||||
public bool UseLocalPackageCache { get; set; }
|
|
||||||
|
|
||||||
protected string RazorIntermediateOutputPath => Path.Combine(IntermediateOutputPath, "Razor");
|
protected string RazorIntermediateOutputPath => Path.Combine(IntermediateOutputPath, "Razor");
|
||||||
|
|
||||||
protected string RazorComponentIntermediateOutputPath => Path.Combine(IntermediateOutputPath, "RazorDeclaration");
|
protected string RazorComponentIntermediateOutputPath => Path.Combine(IntermediateOutputPath, "RazorDeclaration");
|
||||||
|
|
@ -75,14 +68,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
{
|
{
|
||||||
var timeout = suppressTimeout ? (TimeSpan?)Timeout.InfiniteTimeSpan : null;
|
var timeout = suppressTimeout ? (TimeSpan?)Timeout.InfiniteTimeSpan : null;
|
||||||
|
|
||||||
// Additional restore sources for packages used in testing
|
|
||||||
var additionalRestoreSources = string.Join(
|
|
||||||
',',
|
|
||||||
typeof(PackageTestProjectsFixture).Assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
|
|
||||||
.Where(a => a.Key == "Testing.AdditionalRestoreSources")
|
|
||||||
.Select(a => a.Value)
|
|
||||||
.ToArray());
|
|
||||||
|
|
||||||
var buildArgumentList = new List<string>
|
var buildArgumentList = new List<string>
|
||||||
{
|
{
|
||||||
// Disable node-reuse. We don't want msbuild processes to stick around
|
// Disable node-reuse. We don't want msbuild processes to stick around
|
||||||
|
|
@ -97,20 +82,8 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
|
|
||||||
$"/p:MicrosoftNETCoreApp50PackageVersion={BuildVariables.MicrosoftNETCoreApp50PackageVersion}",
|
$"/p:MicrosoftNETCoreApp50PackageVersion={BuildVariables.MicrosoftNETCoreApp50PackageVersion}",
|
||||||
$"/p:MicrosoftNetCompilersToolsetPackageVersion={BuildVariables.MicrosoftNetCompilersToolsetPackageVersion}",
|
$"/p:MicrosoftNetCompilersToolsetPackageVersion={BuildVariables.MicrosoftNetCompilersToolsetPackageVersion}",
|
||||||
|
|
||||||
// Additional restore sources for projects that require built packages
|
|
||||||
$"/p:RuntimeAdditionalRestoreSources={additionalRestoreSources}",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (UseLocalPackageCache)
|
|
||||||
{
|
|
||||||
if (!Directory.Exists(LocalNugetPackagesCacheTempPath))
|
|
||||||
{
|
|
||||||
// The local cache folder needs to exist so that nuget
|
|
||||||
Directory.CreateDirectory(LocalNugetPackagesCacheTempPath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!suppressBuildServer)
|
if (!suppressBuildServer)
|
||||||
{
|
{
|
||||||
buildArgumentList.Add($@"/p:_RazorBuildServerPipeName=""{buildServerPipeName ?? BuildServer.PipeName}""");
|
buildArgumentList.Add($@"/p:_RazorBuildServerPipeName=""{buildServerPipeName ?? BuildServer.PipeName}""");
|
||||||
|
|
@ -132,8 +105,7 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
Project,
|
Project,
|
||||||
buildArguments,
|
buildArguments,
|
||||||
timeout,
|
timeout,
|
||||||
msBuildProcessKind,
|
msBuildProcessKind);
|
||||||
UseLocalPackageCache ? LocalNugetPackagesCacheTempPath : null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void AddProjectFileContent(string content)
|
internal void AddProjectFileContent(string content)
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
ProjectDirectory project,
|
ProjectDirectory project,
|
||||||
string arguments,
|
string arguments,
|
||||||
TimeSpan? timeout = null,
|
TimeSpan? timeout = null,
|
||||||
MSBuildProcessKind msBuildProcessKind = MSBuildProcessKind.Dotnet,
|
MSBuildProcessKind msBuildProcessKind = MSBuildProcessKind.Dotnet)
|
||||||
string localPackageCache = null)
|
|
||||||
{
|
{
|
||||||
var processStartInfo = new ProcessStartInfo()
|
var processStartInfo = new ProcessStartInfo()
|
||||||
{
|
{
|
||||||
|
|
@ -30,11 +29,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
RedirectStandardOutput = true,
|
RedirectStandardOutput = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (localPackageCache != null)
|
|
||||||
{
|
|
||||||
processStartInfo.Environment.Add("NUGET_PACKAGES", localPackageCache);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (msBuildProcessKind == MSBuildProcessKind.Desktop)
|
if (msBuildProcessKind == MSBuildProcessKind.Desktop)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(BuildVariables.MSBuildPath))
|
if (string.IsNullOrEmpty(BuildVariables.MSBuildPath))
|
||||||
|
|
|
||||||
|
|
@ -16,28 +16,22 @@ using Xunit.Abstractions;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
{
|
{
|
||||||
public class StaticWebAssetsIntegrationTest : MSBuildIntegrationTestBase, IClassFixture<BuildServerTestFixture>, IClassFixture<PackageTestProjectsFixture>, IAsyncLifetime
|
public class StaticWebAssetsIntegrationTest : MSBuildIntegrationTestBase, IClassFixture<BuildServerTestFixture>
|
||||||
{
|
{
|
||||||
public StaticWebAssetsIntegrationTest(
|
public StaticWebAssetsIntegrationTest(
|
||||||
BuildServerTestFixture buildServer,
|
BuildServerTestFixture buildServer,
|
||||||
PackageTestProjectsFixture packageTestProjects,
|
|
||||||
ITestOutputHelper output)
|
ITestOutputHelper output)
|
||||||
: base(buildServer)
|
: base(buildServer)
|
||||||
{
|
{
|
||||||
UseLocalPackageCache = true;
|
|
||||||
PackageTestProjects = packageTestProjects;
|
|
||||||
Output = output;
|
Output = output;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PackageTestProjectsFixture PackageTestProjects { get; private set; }
|
|
||||||
|
|
||||||
public ITestOutputHelper Output { get; private set; }
|
public ITestOutputHelper Output { get; private set; }
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
[InitializeTestProject("AppWithPackageAndP2PReference",language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
[InitializeTestProject("AppWithPackageAndP2PReference", language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
||||||
public async Task Build_GeneratesStaticWebAssetsManifest_Success_CreatesManifest()
|
public async Task Build_GeneratesStaticWebAssetsManifest_Success_CreatesManifest()
|
||||||
{
|
{
|
||||||
await RestoreWithRetry();
|
|
||||||
var result = await DotnetMSBuild("Build");
|
var result = await DotnetMSBuild("Build");
|
||||||
|
|
||||||
var expectedManifest = GetExpectedManifest();
|
var expectedManifest = GetExpectedManifest();
|
||||||
|
|
@ -65,7 +59,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
[InitializeTestProject("AppWithPackageAndP2PReference", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
[InitializeTestProject("AppWithPackageAndP2PReference", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
||||||
public async Task Publish_CopiesStaticWebAssetsToDestinationFolder()
|
public async Task Publish_CopiesStaticWebAssetsToDestinationFolder()
|
||||||
{
|
{
|
||||||
await RestoreWithRetry();
|
|
||||||
var result = await DotnetMSBuild("Publish");
|
var result = await DotnetMSBuild("Publish");
|
||||||
|
|
||||||
Assert.BuildPassed(result);
|
Assert.BuildPassed(result);
|
||||||
|
|
@ -115,7 +108,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
[InitializeTestProject("AppWithPackageAndP2PReference", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
[InitializeTestProject("AppWithPackageAndP2PReference", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
||||||
public async Task Publish_WithBuildReferencesDisabled_CopiesStaticWebAssetsToDestinationFolder()
|
public async Task Publish_WithBuildReferencesDisabled_CopiesStaticWebAssetsToDestinationFolder()
|
||||||
{
|
{
|
||||||
await RestoreWithRetry();
|
|
||||||
var build = await DotnetMSBuild("Build");
|
var build = await DotnetMSBuild("Build");
|
||||||
|
|
||||||
Assert.BuildPassed(build);
|
Assert.BuildPassed(build);
|
||||||
|
|
@ -137,7 +129,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
[InitializeTestProject("AppWithPackageAndP2PReference", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
[InitializeTestProject("AppWithPackageAndP2PReference", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
||||||
public async Task Publish_NoBuild_CopiesStaticWebAssetsToDestinationFolder()
|
public async Task Publish_NoBuild_CopiesStaticWebAssetsToDestinationFolder()
|
||||||
{
|
{
|
||||||
await RestoreWithRetry();
|
|
||||||
var build = await DotnetMSBuild("Build");
|
var build = await DotnetMSBuild("Build");
|
||||||
|
|
||||||
Assert.BuildPassed(build);
|
Assert.BuildPassed(build);
|
||||||
|
|
@ -159,7 +150,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
[InitializeTestProject("SimpleMvc")]
|
[InitializeTestProject("SimpleMvc")]
|
||||||
public async Task Build_DoesNotEmbedManifestWhen_NoStaticResourcesAvailable()
|
public async Task Build_DoesNotEmbedManifestWhen_NoStaticResourcesAvailable()
|
||||||
{
|
{
|
||||||
await RestoreWithRetry();
|
|
||||||
var result = await DotnetMSBuild("Build");
|
var result = await DotnetMSBuild("Build");
|
||||||
|
|
||||||
Assert.BuildPassed(result);
|
Assert.BuildPassed(result);
|
||||||
|
|
@ -173,10 +163,9 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
[InitializeTestProject("AppWithPackageAndP2PReference",language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
[InitializeTestProject("AppWithPackageAndP2PReference", language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
||||||
public async Task Clean_Success_RemovesManifestAndCache()
|
public async Task Clean_Success_RemovesManifestAndCache()
|
||||||
{
|
{
|
||||||
await RestoreWithRetry();
|
|
||||||
var result = await DotnetMSBuild("Build");
|
var result = await DotnetMSBuild("Build");
|
||||||
|
|
||||||
Assert.BuildPassed(result);
|
Assert.BuildPassed(result);
|
||||||
|
|
@ -195,11 +184,10 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
[InitializeTestProject("AppWithPackageAndP2PReference",language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
[InitializeTestProject("AppWithPackageAndP2PReference", language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
||||||
public async Task Rebuild_Success_RecreatesManifestAndCache()
|
public async Task Rebuild_Success_RecreatesManifestAndCache()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
await RestoreWithRetry();
|
|
||||||
var result = await DotnetMSBuild("Build");
|
var result = await DotnetMSBuild("Build");
|
||||||
|
|
||||||
var expectedManifest = GetExpectedManifest();
|
var expectedManifest = GetExpectedManifest();
|
||||||
|
|
@ -243,10 +231,9 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
[InitializeTestProject("AppWithPackageAndP2PReference",language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
[InitializeTestProject("AppWithPackageAndP2PReference", language: "C#", additionalProjects: new[] { "ClassLibrary", "ClassLibrary2" })]
|
||||||
public async Task GenerateStaticWebAssetsManifest_IncrementalBuild_ReusesManifest()
|
public async Task GenerateStaticWebAssetsManifest_IncrementalBuild_ReusesManifest()
|
||||||
{
|
{
|
||||||
await RestoreWithRetry();
|
|
||||||
var result = await DotnetMSBuild("GenerateStaticWebAssetsManifest");
|
var result = await DotnetMSBuild("GenerateStaticWebAssetsManifest");
|
||||||
|
|
||||||
Assert.BuildPassed(result);
|
Assert.BuildPassed(result);
|
||||||
|
|
@ -282,47 +269,6 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task InitializeAsync()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return PackageTestProjects.PackAsync(Output);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
// We observed pack would "complete" in the past but MSBuild would get stuck.
|
|
||||||
// The generated package looked right, but it caused flakyness on our build infrastructure.
|
|
||||||
// We will try and continue running (even if the process didn't complete) and see if we can
|
|
||||||
// complete the test successfully.
|
|
||||||
Output.WriteLine($"Pack failed or did not complete: '{ex}'.");
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task RestoreWithRetry()
|
|
||||||
{
|
|
||||||
for (var i = 0; i < 3; i++)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var result = await DotnetMSBuild("Restore");
|
|
||||||
if (result.ExitCode == 0)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
// Keep retrying if it fails.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task DisposeAsync()
|
|
||||||
{
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
private string GetExpectedManifest()
|
private string GetExpectedManifest()
|
||||||
{
|
{
|
||||||
// We need to do this for Mac as apparently the temp folder in mac is prepended by /private by the os, even though the current user
|
// We need to do this for Mac as apparently the temp folder in mac is prepended by /private by the os, even though the current user
|
||||||
|
|
@ -330,7 +276,14 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
// validate the behavior at runtime.
|
// validate the behavior at runtime.
|
||||||
var source = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? $"/private{Project.SolutionPath}" : Project.SolutionPath;
|
var source = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? $"/private{Project.SolutionPath}" : Project.SolutionPath;
|
||||||
|
|
||||||
var restorePath = LocalNugetPackagesCacheTempPath;
|
var nugetPackages = Environment.GetEnvironmentVariable("NUGET_PACKAGES");
|
||||||
|
var restorePath = !string.IsNullOrEmpty(nugetPackages) ?
|
||||||
|
nugetPackages :
|
||||||
|
Path.Combine(
|
||||||
|
RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? Environment.GetEnvironmentVariable("USERPROFILE") : Environment.GetEnvironmentVariable("HOME"),
|
||||||
|
".nuget",
|
||||||
|
"packages");
|
||||||
|
|
||||||
var projects = new[]
|
var projects = new[]
|
||||||
{
|
{
|
||||||
Path.Combine(restorePath, "packagelibrarytransitivedependency", "1.0.0", "build", "..", "staticwebassets") + Path.DirectorySeparatorChar,
|
Path.Combine(restorePath, "packagelibrarytransitivedependency", "1.0.0", "build", "..", "staticwebassets") + Path.DirectorySeparatorChar,
|
||||||
|
|
@ -347,71 +300,4 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
</StaticWebAssets>";
|
</StaticWebAssets>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PackageTestProjectsFixture
|
|
||||||
{
|
|
||||||
private const int MaxPackRetries = 3;
|
|
||||||
private const int MaxPackTimeoutInMinutes = 5;
|
|
||||||
|
|
||||||
private bool _packed;
|
|
||||||
|
|
||||||
internal async Task PackAsync(ITestOutputHelper output)
|
|
||||||
{
|
|
||||||
if (_packed)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var projectsToPack = GetProjectsToPack();
|
|
||||||
|
|
||||||
foreach (var project in projectsToPack)
|
|
||||||
{
|
|
||||||
output.WriteLine(project);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var project in projectsToPack)
|
|
||||||
{
|
|
||||||
var psi = new ProcessStartInfo
|
|
||||||
{
|
|
||||||
FileName = DotNetMuxer.MuxerPathOrDefault(),
|
|
||||||
#if DEBUG
|
|
||||||
Arguments = "msbuild /t:Restore;Pack /p:Configuration=Debug",
|
|
||||||
#else
|
|
||||||
Arguments = "msbuild /t:Restore;Pack /p:Configuration=Release",
|
|
||||||
#endif
|
|
||||||
WorkingDirectory = project,
|
|
||||||
RedirectStandardOutput = true,
|
|
||||||
RedirectStandardError = true
|
|
||||||
};
|
|
||||||
|
|
||||||
for (int i = 0; i < MaxPackRetries; i++)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var result = await MSBuildProcessManager.RunProcessCoreAsync(
|
|
||||||
psi,
|
|
||||||
TimeSpan.FromMinutes(MaxPackTimeoutInMinutes));
|
|
||||||
|
|
||||||
output.WriteLine(result.Output);
|
|
||||||
Assert.Equal(0, result.ExitCode);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
await Task.Delay(1000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_packed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string[] GetProjectsToPack()
|
|
||||||
{
|
|
||||||
return typeof(PackageTestProjectsFixture).Assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
|
|
||||||
.Where(a => a.Key == "Testing.ProjectToPack")
|
|
||||||
.Select(a => a.Value)
|
|
||||||
.ToArray();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,19 +28,9 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
|
|
||||||
<_Parameter1>Testing.ProjectToPack</_Parameter1>
|
|
||||||
<_Parameter2>$(MSBuildThisFileDirectory)..\testapps\PackageLibraryDirectDependency</_Parameter2>
|
|
||||||
</AssemblyAttribute>
|
|
||||||
|
|
||||||
<AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
|
|
||||||
<_Parameter1>Testing.ProjectToPack</_Parameter1>
|
|
||||||
<_Parameter2>$(MSBuildThisFileDirectory)..\testapps\PackageLibraryTransitiveDependency</_Parameter2>
|
|
||||||
</AssemblyAttribute>
|
|
||||||
|
|
||||||
<AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
|
<AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
|
||||||
<_Parameter1>Testing.AdditionalRestoreSources</_Parameter1>
|
<_Parameter1>Testing.AdditionalRestoreSources</_Parameter1>
|
||||||
<_Parameter2>$(MSBuildThisFileDirectory)..\testapps\TestPackageRestoreSource</_Parameter2>
|
<_Parameter2>$(MSBuildThisFileDirectory)..\testapps\PregeneratedPackages</_Parameter2>
|
||||||
</AssemblyAttribute>
|
</AssemblyAttribute>
|
||||||
|
|
||||||
<AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
|
<AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
|
||||||
|
|
@ -126,6 +116,9 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
<Target Name="RestoreTestProjects" BeforeTargets="Restore;Build" Condition="'$(DotNetBuildFromSource)' != 'true'">
|
<Target Name="RestoreTestProjects" BeforeTargets="Restore;Build" Condition="'$(DotNetBuildFromSource)' != 'true'">
|
||||||
<MSBuild Projects="..\testapps\RestoreTestProjects\RestoreTestProjects.csproj" Targets="Restore" Properties="MicrosoftNetCompilersToolsetPackageVersion=$(MicrosoftNetCompilersToolsetPackageVersion)" />
|
<MSBuild Projects="..\testapps\RestoreTestProjects\RestoreTestProjects.csproj" Targets="Restore" Properties="MicrosoftNetCompilersToolsetPackageVersion=$(MicrosoftNetCompilersToolsetPackageVersion)" />
|
||||||
|
|
||||||
|
<MSBuild Projects="..\testapps\PackageLibraryDirectDependency\PackageLibraryDirectDependency.csproj" Targets="Restore" Properties="MicrosoftNetCompilersToolsetPackageVersion=$(MicrosoftNetCompilersToolsetPackageVersion)" />
|
||||||
|
<MSBuild Projects="..\testapps\PackageLibraryTransitiveDependency\PackageLibraryTransitiveDependency.csproj" Targets="Restore" Properties="MicrosoftNetCompilersToolsetPackageVersion=$(MicrosoftNetCompilersToolsetPackageVersion)" />
|
||||||
|
|
||||||
<!-- This target restores SimpleMvc11 and SimpleMvc11NetFx separately because otherwise the TFMs in SimpleMvc11.csproj and SimpleMvc11NetFx.csproj are not respected. -->
|
<!-- This target restores SimpleMvc11 and SimpleMvc11NetFx separately because otherwise the TFMs in SimpleMvc11.csproj and SimpleMvc11NetFx.csproj are not respected. -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework11>netcoreapp1.1</TargetFramework11>
|
<TargetFramework11>netcoreapp1.1</TargetFramework11>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
||||||
<RuntimeAdditionalRestoreSources Condition="'$(RuntimeAdditionalRestoreSources)'==''">$(MSBuildThisFileDirectory)..\TestPackageRestoreSource\</RuntimeAdditionalRestoreSources>
|
<RuntimeAdditionalRestoreSources Condition="'$(RuntimeAdditionalRestoreSources)'==''">$(MSBuildThisFileDirectory)..\PregeneratedPackages\</RuntimeAdditionalRestoreSources>
|
||||||
<RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources);$(RuntimeAdditionalRestoreSources)</RestoreAdditionalProjectSources>
|
<RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources);$(RuntimeAdditionalRestoreSources)</RestoreAdditionalProjectSources>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
||||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||||
<RuntimeAdditionalRestoreSources Condition="'$(RuntimeAdditionalRestoreSources)'=='' AND EXISTS('$(MSBuildThisFileDirectory)..\TestPackageRestoreSource\')">$(MSBuildThisFileDirectory)..\TestPackageRestoreSource\</RuntimeAdditionalRestoreSources>
|
<RuntimeAdditionalRestoreSources Condition="'$(RuntimeAdditionalRestoreSources)'=='' AND EXISTS('$(MSBuildThisFileDirectory)..\PregeneratedPackages\')">$(MSBuildThisFileDirectory)..\PregeneratedPackages\</RuntimeAdditionalRestoreSources>
|
||||||
<RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources);$(RuntimeAdditionalRestoreSources)</RestoreAdditionalProjectSources>
|
<RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources);$(RuntimeAdditionalRestoreSources)</RestoreAdditionalProjectSources>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -22,15 +22,7 @@
|
||||||
<ProjectReference Include="..\SimpleMvcFSharp\SimpleMvcFSharp.fsproj" />
|
<ProjectReference Include="..\SimpleMvcFSharp\SimpleMvcFSharp.fsproj" />
|
||||||
<ProjectReference Include="..\SimpleMvc\SimpleMvc.csproj" />
|
<ProjectReference Include="..\SimpleMvc\SimpleMvc.csproj" />
|
||||||
<ProjectReference Include="..\SimplePages\SimplePages.csproj" />
|
<ProjectReference Include="..\SimplePages\SimplePages.csproj" />
|
||||||
<ProjectReference Include="..\PackageLibraryDirectDependency\PackageLibraryDirectDependency.csproj" />
|
<ProjectReference Include="..\AppWithPackageAndP2PReference\AppWithPackageAndP2PReference.csproj" />
|
||||||
<ProjectReference Include="..\PackageLibraryTransitiveDependency\PackageLibraryTransitiveDependency.csproj" />
|
|
||||||
|
|
||||||
<!--
|
|
||||||
We don't add AppWithPackageAndP2PReference, PackageLibraryDirectDependency or PackageLibraryTransitiveDependency here
|
|
||||||
as PackageLibraryDirectDependency and PackageLibraryTransitiveDependency are test packages that
|
|
||||||
need to be produced on the fly and AppWithPackageAndP2PReference depends on them so adding them here
|
|
||||||
will make restore fail.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<ProjectReference Include="..\..\Microsoft.AspNetCore.Razor.Test.MvcShim.ClassLib\Microsoft.AspNetCore.Razor.Test.MvcShim.ClassLib.csproj"/>
|
<ProjectReference Include="..\..\Microsoft.AspNetCore.Razor.Test.MvcShim.ClassLib\Microsoft.AspNetCore.Razor.Test.MvcShim.ClassLib.csproj"/>
|
||||||
<ProjectReference Include="..\..\Microsoft.AspNetCore.Razor.Test.ComponentShim\Microsoft.AspNetCore.Razor.Test.ComponentShim.csproj"/>
|
<ProjectReference Include="..\..\Microsoft.AspNetCore.Razor.Test.ComponentShim\Microsoft.AspNetCore.Razor.Test.ComponentShim.csproj"/>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<packageSources>
|
||||||
|
<add key="pregenerated" value=".\PregeneratedPackages\" />
|
||||||
|
</packageSources>
|
||||||
|
</configuration>
|
||||||
Loading…
Reference in New Issue