Skip to content

Commit

Permalink
Add local artifacts dir as restore source for tests
Browse files Browse the repository at this point in the history
  • Loading branch information
prafullbhosale committed Oct 6, 2017
1 parent 9beb32a commit c171e3c
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 32 deletions.
37 changes: 35 additions & 2 deletions test/Shared/MsBuildProjectSetupHelper.cs
Expand Up @@ -21,6 +21,34 @@ internal class MsBuildProjectSetupHelper

private static object _syncObj = new object();

private static string artifactsDir;
private static string ArtifactsDirectory
{
get
{
if (string.IsNullOrEmpty(artifactsDir))
{
lock(_syncObj)
{
if (string.IsNullOrEmpty(artifactsDir))
{
var current = new DirectoryInfo(AppContext.BaseDirectory);
while (current != null)
{
if (File.Exists(Path.Combine(current.FullName, "Scaffolding.sln")))
{
artifactsDir = Path.Combine(current.FullName, "artifacts", "build");
break;
}
current = current.Parent;
}
}
}
}
return artifactsDir;
}
}

private string AspNetCoreVersion
{
get
Expand Down Expand Up @@ -54,7 +82,10 @@ public void SetupProjects(TemporaryFileProvider fileProvider, ITestOutputHelper
{
Directory.CreateDirectory(Path.Combine(fileProvider.Root, "Root"));
Directory.CreateDirectory(Path.Combine(fileProvider.Root, "Library1"));


var propsFileText = string.Format( MsBuildProjectStrings.PropsFileTxt, "");
fileProvider.Add("Shared.props", propsFileText);

var rootProjectTxt = fullFramework ? MsBuildProjectStrings.RootNet45ProjectTxt : MsBuildProjectStrings.RootProjectTxt;
fileProvider.Add($"Root/{MsBuildProjectStrings.RootProjectName}", string.Format(rootProjectTxt, AspNetCoreVersion, CodeGenerationVersion, RuntimeFrameworkVersion, "2.0.1-*"));
fileProvider.Add($"Root/Startup.cs", MsBuildProjectStrings.StartupTxt);
Expand Down Expand Up @@ -99,7 +130,9 @@ public void SetupProjectsWithoutEF(TemporaryFileProvider fileProvider, ITestOutp
{
Directory.CreateDirectory(Path.Combine(fileProvider.Root, "Root"));
Directory.CreateDirectory(Path.Combine(fileProvider.Root, "Library1"));

var propsFileText = string.Format( MsBuildProjectStrings.PropsFileTxt, "");
fileProvider.Add("Shared.props", propsFileText);

var rootProjectTxt = MsBuildProjectStrings.RootProjectTxtWithoutEF;
fileProvider.Add($"Root/{MsBuildProjectStrings.RootProjectName}", string.Format(rootProjectTxt, AspNetCoreVersion, CodeGenerationVersion, RuntimeFrameworkVersion, "2.0.1-*"));
fileProvider.Add($"Root/Startup.cs", MsBuildProjectStrings.StartupTxtWithoutEf);
Expand Down
42 changes: 12 additions & 30 deletions test/Shared/MsBuildProjectStrings.cs
Expand Up @@ -9,19 +9,26 @@ namespace Microsoft.VisualStudio.Web.CodeGeneration
internal class MsBuildProjectStrings
{
public const string RootProjectName = "Test.csproj";
public const string RootProjectTxt = @"
<Project ToolsVersion=""15.0"" Sdk=""Microsoft.NET.Sdk.Web"">

public const string PropsFileTxt = @"<Project>
<PropertyGroup>
<RestoreSources>$(DotNetRestoreSources)</RestoreSources>
<ArtifactsDir>{0}</ArtifactsDir>
<RestoreSources Condition=""'$(DotNetBuildOffline)' != 'true'"">
$(RestoreSources);
https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
https://api.nuget.org/v3/index.json;
$(ArtifactsDir);
</RestoreSources>
</PropertyGroup>
</Project>";

public const string RootProjectTxt = @"
<Project ToolsVersion=""15.0"" Sdk=""Microsoft.NET.Sdk.Web"">
<Import Project=""..\Shared.props"" />
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RootNamespace>Microsoft.TestProject</RootNamespace>
<ProjectName>TestProject</ProjectName>
Expand Down Expand Up @@ -61,17 +68,8 @@ internal class MsBuildProjectStrings

public const string RootProjectTxtWithoutEF = @"
<Project ToolsVersion=""15.0"" Sdk=""Microsoft.NET.Sdk.Web"">
<Import Project=""..\Shared.props"" />
<PropertyGroup>
<RestoreSources>$(DotNetRestoreSources)</RestoreSources>
<RestoreSources Condition=""'$(DotNetBuildOffline)' != 'true'"">
$(RestoreSources);
https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
https://api.nuget.org/v3/index.json;
</RestoreSources>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RootNamespace>Microsoft.TestProject</RootNamespace>
<ProjectName>TestProject</ProjectName>
Expand Down Expand Up @@ -107,16 +105,8 @@ internal class MsBuildProjectStrings

public const string RootNet45ProjectTxt = @"
<Project Sdk=""Microsoft.NET.Sdk"">
<Import Project=""..\Shared.props"" />
<PropertyGroup>
<RestoreSources>$(DotNetRestoreSources)</RestoreSources>
<RestoreSources Condition=""'$(DotNetBuildOffline)' != 'true'"">
$(RestoreSources);
https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
https://api.nuget.org/v3/index.json;
</RestoreSources>
<RootNamespace>Microsoft.TestProject</RootNamespace>
<ProjectName>TestProject</ProjectName>
<OutputType>EXE</OutputType>
Expand Down Expand Up @@ -286,16 +276,8 @@ public static void Main(string[] args)
public const string LibraryProjectName = "Library1.csproj";
public const string LibraryProjectTxt = @"
<Project Sdk=""Microsoft.NET.Sdk"">
<Import Project=""..\Shared.props"" />
<PropertyGroup>
<RestoreSources>$(DotNetRestoreSources)</RestoreSources>
<RestoreSources Condition=""'$(DotNetBuildOffline)' != 'true'"">
$(RestoreSources);
https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
https://api.nuget.org/v3/index.json;
</RestoreSources>
<RootNamespace>Microsoft.Library</RootNamespace>
<ProjectName>Library1</ProjectName>
<OutputType>Library</OutputType>
Expand Down

0 comments on commit c171e3c

Please sign in to comment.