Cleanup project files and workaround, run tests on .NET Core 1.1

This commit is contained in:
Nate McMaster 2017-02-10 08:26:17 -08:00 committed by GitHub
parent 7019c55219
commit 5a444fa75c
16 changed files with 76 additions and 111 deletions

View File

@ -1,38 +1,29 @@
{
"adx": {
"rules": [
"AdxVerificationCompositeRule"
],
"packages": {
"Microsoft.DotNet.Watcher.Tools": {
"exclusions": {
"DOC_MISSING": {
"lib/netcoreapp1.0/dotnet-watch.dll": "xmldocs not required for DotnetCliTool packages"
}
},
"packageTypes": ["DotnetCliTool"]
},
"Microsoft.Extensions.Caching.SqlConfig.Tools": {
"exclusions": {
"DOC_MISSING": {
"lib/netcoreapp1.0/dotnet-sql-cache.dll": "xmldocs not required for DotnetCliTool packages"
}
},
"packageTypes": ["DotnetCliTool"]
},
"Microsoft.Extensions.SecretManager.Tools": {
"exclusions": {
"DOC_MISSING": {
"lib/netcoreapp1.0/dotnet-user-secrets.dll": "xmldocs not required for DotnetCliTool packages"
}
},
"packageTypes": ["DotnetCliTool"]
}
}
},
"Default": {
"rules": [
"DefaultCompositeRule"
"adx": {
"rules": [
"AdxVerificationCompositeRule"
],
"packages": {
"Microsoft.DotNet.Watcher.Tools": {
"packageTypes": [
"DotnetCliTool"
]
},
"Microsoft.Extensions.Caching.SqlConfig.Tools": {
"packageTypes": [
"DotnetCliTool"
]
},
"Microsoft.Extensions.SecretManager.Tools": {
"packageTypes": [
"DotnetCliTool"
]
}
}
}
},
"Default": {
"rules": [
"DefaultCompositeRule"
]
}
}

View File

@ -1,4 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\build\common.props" />
<PropertyGroup>
@ -9,7 +10,6 @@
<PackageId>Microsoft.DotNet.Watcher.Tools</PackageId>
<PackageTags>dotnet;watch</PackageTags>
<PackageType>DotnetCliTool</PackageType>
<NetCoreAppImplicitPackageVersion>1.0.0</NetCoreAppImplicitPackageVersion>
</PropertyGroup>
<ItemGroup>
@ -23,4 +23,4 @@
<PackageReference Include="Microsoft.Extensions.Process.Sources" Version="1.2.0-*" PrivateAssets="All" />
</ItemGroup>
</Project>
</Project>

View File

@ -4,5 +4,3 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.DotNet.Watcher.Tools.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
// TODO remove when .Source packages work
[assembly: InternalsVisibleTo("Microsoft.DotNet.Watcher.Tools.FunctionalTests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

View File

@ -1,5 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\build\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<AssemblyName>dotnet-sql-cache</AssemblyName>
@ -8,7 +10,6 @@
<PackageId>Microsoft.Extensions.Caching.SqlConfig.Tools</PackageId>
<PackageTags>cache;distributedcache;sqlserver</PackageTags>
<PackageType>DotnetCliTool</PackageType>
<NetCoreAppImplicitPackageVersion>1.0.0</NetCoreAppImplicitPackageVersion>
</PropertyGroup>
<ItemGroup>
@ -20,4 +21,4 @@
<PackageReference Include="System.Data.SqlClient" Version="4.1.0" />
</ItemGroup>
</Project>
</Project>

View File

@ -1,5 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\build\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<AssemblyName>dotnet-user-secrets</AssemblyName>
@ -9,7 +11,6 @@
<PackageTags>configuration;secrets;usersecrets</PackageTags>
<PackageType>DotnetCliTool</PackageType>
<GenerateUserSecretsAttribute>false</GenerateUserSecretsAttribute>
<NetCoreAppImplicitPackageVersion>1.0.0</NetCoreAppImplicitPackageVersion>
</PropertyGroup>
<ItemGroup>
@ -22,4 +23,4 @@
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.0.1" />
</ItemGroup>
</Project>
</Project>

View File

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\build\common.props" />
<PropertyGroup>
<TargetFrameworks>netcoreapp1.0;netcoreapp1.1</TargetFrameworks>
<TargetFramework>netcoreapp1.1</TargetFramework>
<DefaultItemExcludes>$(DefaultItemExcludes);TestProjects\**\*</DefaultItemExcludes>
</PropertyGroup>
@ -18,6 +18,10 @@
<ItemGroup>
<ProjectReference Include="..\..\src\Microsoft.DotNet.Watcher.Tools\Microsoft.DotNet.Watcher.Tools.csproj" />
<ProjectReference Include="..\Microsoft.DotNet.Watcher.Tools.Tests\Microsoft.DotNet.Watcher.Tools.Tests.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Process.Sources" Version="1.2.0-*" PrivateAssets="All" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0-*" />
<PackageReference Include="xunit" Version="2.2.0-*" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0-*" />
@ -27,4 +31,4 @@
<RemoveDir Directories="$(TargetDir)TestProjects" Condition="Exists('$(TargetDir)TestProjects')" />
</Target>
</Project>
</Project>

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.5</TargetFramework>

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>

View File

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\build\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
@ -28,11 +28,9 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
[Fact]
public async Task FindsCustomWatchItems()
{
TemporaryCSharpProject target;
_tempDir
.WithCSharpProject("Project1", out target)
.WithCSharpProject("Project1", out var target)
.WithTargetFrameworks("netcoreapp1.0")
.WithDefaultGlobs()
.WithItem(new ItemSpec { Name = "Watch", Include = "*.js", Exclude = "gulpfile.js" })
.Dir()
.WithFile("Program.cs")
@ -56,12 +54,10 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
[Fact]
public async Task ExcludesDefaultItemsWithWatchFalseMetadata()
{
TemporaryCSharpProject target;
_tempDir
.WithCSharpProject("Project1", out target)
.WithCSharpProject("Project1", out var target)
.WithTargetFrameworks("net40")
.WithItem(new ItemSpec { Name = "Compile", Include = "*.cs" })
.WithItem(new ItemSpec { Name = "EmbeddedResource", Include = "*.resx", Watch = false })
.WithItem(new ItemSpec { Name = "EmbeddedResource", Update = "*.resx", Watch = false })
.Dir()
.WithFile("Program.cs")
.WithFile("Strings.resx");
@ -82,14 +78,11 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
[Fact]
public async Task SingleTfm()
{
TemporaryCSharpProject target;
_tempDir
.SubDir("src")
.SubDir("Project1")
.WithCSharpProject("Project1", out target)
.WithCSharpProject("Project1", out var target)
.WithTargetFrameworks("netcoreapp1.0")
.WithDefaultGlobs()
.Dir()
.WithFile("Program.cs")
.WithFile("Class1.cs")
@ -117,12 +110,12 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
[Fact]
public async Task MultiTfm()
{
TemporaryCSharpProject target;
_tempDir
_tempDir
.SubDir("src")
.SubDir("Project1")
.WithCSharpProject("Project1", out target)
.WithCSharpProject("Project1", out var target)
.WithTargetFrameworks("netcoreapp1.0", "net451")
.WithProperty("EnableDefaultCompileItems", "false")
.WithItem("Compile", "Class1.netcore.cs", "'$(TargetFramework)'=='netcoreapp1.0'")
.WithItem("Compile", "Class1.desktop.cs", "'$(TargetFramework)'=='net451'")
.Dir()
@ -147,22 +140,18 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
[Fact]
public async Task ProjectReferences_OneLevel()
{
TemporaryCSharpProject target;
TemporaryCSharpProject proj2;
_tempDir
.SubDir("src")
.SubDir("Project2")
.WithCSharpProject("Project2", out proj2)
.WithCSharpProject("Project2", out var proj2)
.WithTargetFrameworks("netstandard1.1")
.WithDefaultGlobs()
.Dir()
.WithFile("Class2.cs")
.Up()
.SubDir("Project1")
.WithCSharpProject("Project1", out target)
.WithCSharpProject("Project1", out var target)
.WithTargetFrameworks("netcoreapp1.0", "net451")
.WithProjectReference(proj2)
.WithDefaultGlobs()
.Dir()
.WithFile("Class1.cs");
@ -184,31 +173,25 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
[Fact]
public async Task TransitiveProjectReferences_TwoLevels()
{
TemporaryCSharpProject target;
TemporaryCSharpProject proj2;
TemporaryCSharpProject proj3;
_tempDir
.SubDir("src")
.SubDir("Project3")
.WithCSharpProject("Project3", out proj3)
.WithCSharpProject("Project3", out var proj3)
.WithTargetFrameworks("netstandard1.0")
.WithDefaultGlobs()
.Dir()
.WithFile("Class3.cs")
.Up()
.SubDir("Project2")
.WithCSharpProject("Project2", out proj2)
.WithCSharpProject("Project2", out TemporaryCSharpProject proj2)
.WithTargetFrameworks("netstandard1.1")
.WithProjectReference(proj3)
.WithDefaultGlobs()
.Dir()
.WithFile("Class2.cs")
.Up()
.SubDir("Project1")
.WithCSharpProject("Project1", out target)
.WithCSharpProject("Project1", out TemporaryCSharpProject target)
.WithTargetFrameworks("netcoreapp1.0", "net451")
.WithProjectReference(proj2)
.WithDefaultGlobs()
.Dir()
.WithFile("Class1.cs");
@ -233,7 +216,7 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
public async Task ProjectReferences_Graph()
{
var graph = new TestProjectGraph(_tempDir);
graph.OnCreate(p => p.WithTargetFrameworks("net45").WithDefaultGlobs());
graph.OnCreate(p => p.WithTargetFrameworks("net45"));
var matches = Regex.Matches(@"
A->B B->C C->D D->E
B->E

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
@ -11,8 +11,7 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
public class TemporaryCSharpProject
{
private const string Template =
@"<Project ToolsVersion=""15.0"" xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<Import Project=""$(MSBuildExtensionsPath)/$(MSBuildToolsVersion)/Microsoft.Common.props"" />
@"<Project Sdk=""Microsoft.NET.Sdk"">
<PropertyGroup>
{0}
<OutputType>Exe</OutputType>
@ -20,13 +19,8 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
<ItemGroup>
{1}
</ItemGroup>
<Import Project=""$(MSBuildToolsPath)/Microsoft.CSharp.targets"" />
</Project>";
private const string DefaultGlobs =
@"<Compile Include=""**/*.cs"" Exclude=""obj/**/*;bin/**/*"" />
<EmbeddedResource Include=""**/*.resx"" Exclude=""obj/**/*;bin/**/*"" />";
private readonly string _filename;
private readonly TemporaryDirectory _directory;
private List<string> _items = new List<string>();
@ -37,9 +31,6 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
Name = name;
_filename = name + ".csproj";
_directory = directory;
// workaround CLI issue
WithProperty("SkipInvalidConfigurations", "true");
}
public string Name { get; }
@ -81,6 +72,7 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
sb.Append(item.Name).Append(" ");
if (item.Include != null) sb.Append(" Include=\"").Append(item.Include).Append('"');
if (item.Remove != null) sb.Append(" Remove=\"").Append(item.Remove).Append('"');
if (item.Update != null) sb.Append(" Update=\"").Append(item.Update).Append('"');
if (item.Exclude != null) sb.Append(" Exclude=\"").Append(item.Exclude).Append('"');
if (item.Condition != null) sb.Append(" Exclude=\"").Append(item.Condition).Append('"');
if (!item.Watch) sb.Append(" Watch=\"false\" ");
@ -99,12 +91,6 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
return WithItem(new ItemSpec { Name = "ProjectReference", Include = reference.Path, Watch = watch });
}
public TemporaryCSharpProject WithDefaultGlobs()
{
_items.Add(DefaultGlobs);
return this;
}
public TemporaryDirectory Dir() => _directory;
public void Create()
@ -117,6 +103,7 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
public string Name { get; set; }
public string Include { get; set; }
public string Exclude { get; set; }
public string Update { get; set; }
public string Remove { get; set; }
public bool Watch { get; set; } = true;
public string Condition { get; set; }
@ -128,4 +115,4 @@ namespace Microsoft.DotNet.Watcher.Tools.Tests
public string Value { get; set; }
}
}
}
}

View File

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\build\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
@ -17,4 +17,4 @@
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0-*" />
</ItemGroup>
</Project>
</Project>

View File

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\build\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
@ -16,4 +16,4 @@
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0-*" />
</ItemGroup>
</Project>
</Project>

View File

@ -4,4 +4,4 @@
<VersionPrefix>1.0.1</VersionPrefix>
<VersionSuffix>alpha</VersionSuffix>
</PropertyGroup>
</Project>
</Project>