Merge pull request #13 from SixLabors/2017

Update project to final tooling and VS 2017
This commit is contained in:
Scott Williams 2017-03-12 14:24:17 +00:00 коммит произвёл GitHub
Родитель f2a4623a19 af23846d1f
Коммит 2aba964f28
20 изменённых файлов: 147 добавлений и 258 удалений

3
.gitignore поставляемый
Просмотреть файл

@ -254,3 +254,6 @@ paket-files/
# sample output
/samples/DrawShapesWithImageSharp/Output/**
/tests/CodeCoverage/OpenCover.*
SixLabors.Shapes.Coverage.xml

Просмотреть файл

@ -24,7 +24,7 @@ We also have a [MyGet package repository](https://www.myget.org/gallery/SixLabor
If you prefer, you can compile SixLabors.Shapes yourself (please do and help!), you'll need:
- [Visual Studio 2015 with Update 3 (or above)](https://www.visualstudio.com/news/releasenotes/vs2015-update3-vs)
- [Visual Studio 2017](https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes)
- The [.NET Core 1.0 SDK Installer](https://www.microsoft.com/net/core#windows) - Non VSCode link.
To clone it locally click the "Clone in Windows" button above or run the following git commands.

Просмотреть файл

@ -1,12 +1,12 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
# Visual Studio 15
VisualStudioVersion = 15.0.26228.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{C317F1B1-D75E-4C6D-83EB-80367343E0D7}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
global.json = global.json
appveyor.yml = appveyor.yml
README.md = README.md
EndProjectSection
EndProject
@ -20,13 +20,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{9E574A
src\Shared\stylecop.json = src\Shared\stylecop.json
EndProjectSection
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "SixLabors.Shapes", "src\SixLabors.Shapes\SixLabors.Shapes.xproj", "{09E744EC-4852-4FC7-BE78-C1B399F17967}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "SixLabors.Shapes.Tests", "tests\SixLabors.Shapes.Tests\SixLabors.Shapes.Tests.xproj", "{F836E8E6-B4D9-4208-8346-140C74678B91}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{9F33164A-9EA9-4CB4-A384-A8A0A6DCA35D}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "DrawShapesWithImageSharp", "samples\DrawShapesWithImageSharp\DrawShapesWithImageSharp.xproj", "{999EDFB3-9FE4-4E09-B669-CB02E597EC20}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SixLabors.Shapes", "src\SixLabors.Shapes\SixLabors.Shapes.csproj", "{09E744EC-4852-4FC7-BE78-C1B399F17967}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SixLabors.Shapes.Tests", "tests\SixLabors.Shapes.Tests\SixLabors.Shapes.Tests.csproj", "{F836E8E6-B4D9-4208-8346-140C74678B91}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrawShapesWithImageSharp", "samples\DrawShapesWithImageSharp\DrawShapesWithImageSharp.csproj", "{999EDFB3-9FE4-4E09-B669-CB02E597EC20}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

Просмотреть файл

@ -1,9 +1,11 @@
version: 0.0.{build}
image: Visual Studio 2017
install:
- choco install gitversion.portable -pre -y
before_build:
- cmd: dotnet --version
- ps: gitversion /l console /output buildserver
build_script:

Просмотреть файл

@ -1,26 +1,28 @@
@echo Off
REM No glob support on Windows
dotnet restore
dotnet test ./tests/SixLabors.Shapes.Tests/
REM run only if gitversion has ran i.e. from appveyor
if not "%GitVersion_NuGetVersion%" == "" (
cd src/SixLabors.Shapes
ECHO Setting version number to "%GitVersion_NuGetVersion%"
dotnet version "%GitVersion_NuGetVersion%"
cd ../../
if not "%errorlevel%"=="0" goto failure
)
ECHO Building nuget packages
if not "%GitVersion_NuGetVersion%" == "" (
dotnet pack -c Release --output ./artifacts ./src/SixLabors.Shapes/project.json
dotnet build -c Release /p:packageversion=%GitVersion_NuGetVersion%
)ELSE (
dotnet pack -c Release --version-suffix "local-build" --output ./artifacts ./src/SixLabors.Shapes/project.json
dotnet build -c Release
)
if not "%errorlevel%"=="0" goto failure
dotnet test ./tests/SixLabors.Shapes.Tests/SixLabors.Shapes.Tests.csproj
if not "%GitVersion_NuGetVersion%" == "" (
dotnet pack ./src/SixLabors.Shapes/ -c Release --output ../../artifacts --no-build /p:packageversion=%GitVersion_NuGetVersion%
)ELSE (
dotnet pack ./src/SixLabors.Shapes/ -c Release --output ../../artifacts --no-build
)
if not "%errorlevel%"=="0" goto failure
if not "%errorlevel%"=="0" goto failure
:success
ECHO successfully built project
REM exit 0

Просмотреть файл

@ -1,7 +1,7 @@
codecov:
notify:
require_ci_to_pass: true
comment:off
comment: off
coverage:
precision: 2
range:
@ -18,4 +18,4 @@ parsers:
conditional: true
loop: true
macro: false
method: false
method: false

Просмотреть файл

@ -1,6 +0,0 @@
{
"projects": [ "src" ],
"sdk": {
"version": "1.0.0-preview2-003121"
}
}

Просмотреть файл

@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
<DebugType>portable</DebugType>
<AssemblyName>DrawShapesWithImageSharp</AssemblyName>
<OutputType>Exe</OutputType>
<PackageId>DrawShapesWithImageSharp</PackageId>
<PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\SixLabors.Shapes\SixLabors.Shapes.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="ImageSharp.Drawing" Version="1.0.0-alpha2-00115" />
<PackageReference Include="ImageSharp.Formats.Png" Version="1.0.0-alpha2-00111" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup Label="Globals">
<ProjectGuid>999edfb3-9fe4-4e09-b669-cb02e597ec20</ProjectGuid>
<RootNamespace>SixLabors.Shapes.DrawShapesWithImageSharp</RootNamespace>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>

Просмотреть файл

@ -1,23 +0,0 @@
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"SixLabors.Shapes": { "target": "project" },
"ImageSharp.Drawing": "1.0.0-alpha2-00115",
"ImageSharp.Formats.Png": "1.0.0-alpha2-00111"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": "dnxcore50"
}
}
}

Просмотреть файл

@ -0,0 +1,43 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>Polygon manipulation/merging and interrogation library.
Its a fully manged netstandard library so should work everywhere.</Description>
<AssemblyTitle>SixLabors.Shapes</AssemblyTitle>
<VersionPrefix Condition="$(packageversion) != ''">$(packageversion)</VersionPrefix>
<VersionPrefix Condition="$(packageversion) == ''">0.1.0-alpha1</VersionPrefix>
<Authors>Scott Williams and contributors</Authors>
<TargetFramework>netstandard1.1</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AssemblyName>SixLabors.Shapes</AssemblyName>
<PackageId>SixLabors.Shapes</PackageId>
<PackageTags>polygon;rectangle;point in polygon;complex polygons;shape;2D</PackageTags>
<PackageIconUrl>https://raw.githubusercontent.com/SixLabors/Shapes/master/icons/icon.png</PackageIconUrl>
<PackageProjectUrl>https://github.com/SixLabors/Shapes</PackageProjectUrl>
<PackageLicenseUrl>http://www.apache.org/licenses/LICENSE-2.0</PackageLicenseUrl>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/SixLabors/Shapes</RepositoryUrl>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateNeutralResourcesLanguageAttribute>false</GenerateNeutralResourcesLanguageAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
<DebugType Condition="$(codecov) == 'true'">full</DebugType>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\Shared\*.cs" Exclude="bin\**;obj\**;**\*.xproj;packages\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="System.Buffers" Version="4.3.0" />
<PackageReference Include="System.Collections.Immutable" Version="1.3.1" />
<PackageReference Include="System.Numerics.Vectors" Version="4.3.0" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup Label="Globals">
<ProjectGuid>09e744ec-4852-4fc7-be78-c1b399f17967</ProjectGuid>
<RootNamespace>SixLabors.Shapes</RootNamespace>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<ProduceOutputsOnBuild>True</ProduceOutputsOnBuild>
</PropertyGroup>
<ItemGroup>
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
</ItemGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>

Просмотреть файл

@ -1,91 +0,0 @@
{
"version": "0.1.0-alpha1-*",
"title": "SixLabors.Shapes",
"description": "Polygon manipulation/merging and interrogation library. \n\nIts a fully manged netstandard library so should work everywhere.",
"authors": [
"Scott Williams and contributors"
],
"packOptions": {
"owners": [
"Scott Williams and contributors"
],
"summary": "Polygon manipulation/merging and interrogation library.",
"projectUrl": "https://github.com/SixLabors/Shapes",
"licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0",
"iconUrl": "https://raw.githubusercontent.com/SixLabors/Shapes/master/icons/icon.png",
"requireLicenseAcceptance": false,
"repository": {
"type": "git",
"url": "https://github.com/SixLabors/Shapes"
},
"tags": [
"polygon",
"rectangle",
"point in polygon",
"complex polygons",
"shape",
"2D"
]
},
"buildOptions": {
"allowUnsafe": true,
"xmlDoc": true,
"additionalArguments": [ "/additionalfile:../Shared/stylecop.json", "/ruleset:../../SixLabors.Shapes.ruleset" ],
"compile": [
"../Shared/*.cs"
]
},
"configurations": {
"Release": {
"buildOptions": {
"warningsAsErrors": false,
"optimize": true
}
}
},
"dependencies": {
"StyleCop.Analyzers": {
"version": "1.0.0",
"type": "build"
},
"System.Collections.Immutable": "1.2.0",
"System.Buffers": "4.0.0"
},
"frameworks": {
"netstandard1.1": {
"dependencies": {
"System.Collections": "4.0.11",
"System.Diagnostics.Debug": "4.0.11",
"System.Diagnostics.Tools": "4.0.1",
"System.Linq": "4.1.0",
"System.ObjectModel": "4.0.12",
"System.Resources.ResourceManager": "4.0.1",
"System.Runtime.Extensions": "4.1.0",
"System.Runtime.InteropServices": "4.1.0",
"System.Numerics.Vectors": "4.1.1",
"System.Runtime.Numerics": "4.0.1"
}
},
"net45": {
"dependencies": {
"System.Numerics.Vectors": "4.1.1"
},
"frameworkAssemblies": {
"System.Runtime": { "type": "build" }
}
},
"net461": {
"dependencies": {
"System.Threading.Tasks.Parallel": "4.0.0"
},
"frameworkAssemblies": {
"System.Runtime": { "type": "build" },
"System.Numerics": "4.0.0.0",
"System.Numerics.Vectors": "4.0.0.0"
}
}
},
"tools": {
"dotnet-version": "1.1.0"
}
}

Просмотреть файл

@ -0,0 +1,9 @@
{
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
"settings": {
"documentationRules": {
"companyName": "Scott Williams",
"copyrightText": "Copyright (c) Scott Williams and contributors.\nLicensed under the Apache License, Version 2.0."
}
}
}

Просмотреть файл

@ -4,15 +4,15 @@ cd tests\CodeCoverage
nuget restore packages.config -PackagesDirectory .
cd ..\SixLabors.Shapes.Tests
dotnet restore
cd ..
cd ..
dotnet restore SixLabors.Shapes.sln
dotnet build SixLabors.Shapes.sln --no-incremental -c debug /p:codecov=true
rem The -threshold options prevents this taking ages...
tests\CodeCoverage\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"C:\Program Files\dotnet\dotnet.exe" -targetargs:"test tests\SixLabors.Shapes.Tests -c Release -f net451" -threshold:10 -register:user -filter:"+[SixLabors.Shapes*]*" -excludebyattribute:*.ExcludeFromCodeCoverage* -hideskipped:All -returntargetcode -output:.\SixLabors.Shapes.Coverage.xml
rem tests\CodeCoverage\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"dotnet.exe" -targetargs:"test tests\SixLabors.Shapes.Tests\SixLabors.Shapes.Tests.csproj --no-build -c Release /p:codecov=true" -threshold:10 -register:user -filter:"+[SixLabors.Shapes*]*" -excludebyattribute:*.ExcludeFromCodeCoverage* -hideskipped:All -returntargetcode -output:.\SixLabors.Shapes.Coverage.xml
tests\CodeCoverage\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"dotnet.exe" -targetargs:"test tests\SixLabors.Shapes.Tests\SixLabors.Shapes.Tests.csproj --no-build -c debug" -searchdirs:"tests\SixLabors.Shapes.Tests\bin\Release\netcoreapp1.1" -register:user -output:.\SixLabors.Shapes.Coverage.xml -hideskipped:All -returntargetcode -oldStyle -filter:"+[SixLabors.Shapes*]*"
if %errorlevel% neq 0 exit /b %errorlevel%

Просмотреть файл

@ -0,0 +1,33 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<VersionPrefix>0.0.0</VersionPrefix>
<TargetFrameworks>netcoreapp1.1</TargetFrameworks>
<AssemblyName>SixLabors.Shapes.Tests</AssemblyName>
<PackageId>SixLabors.Shapes.Tests</PackageId>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<DebugType Condition="$(codecov) != ''">full</DebugType>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\SixLabors.Shapes\SixLabors.Shapes.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="Moq" Version="4.7.1" />
</ItemGroup>
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup Label="Globals">
<ProjectGuid>f836e8e6-b4d9-4208-8346-140c74678b91</ProjectGuid>
<RootNamespace>SixLabors.Shapes.Tests</RootNamespace>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>

Просмотреть файл

@ -10,7 +10,7 @@ namespace SixLabors.Shapes.Tests
public class TestPoint : IXunitSerializable
{
protected TestPoint() { }
public TestPoint() { }
public TestPoint(float x, float y)
{

Просмотреть файл

@ -8,7 +8,7 @@ namespace SixLabors.Shapes.Tests
{
public class TestSize : IXunitSerializable
{
protected TestSize() { }
public TestSize() { }
public TestSize(float width, float height)
{

Просмотреть файл

@ -1,36 +0,0 @@
{
"version": "0.0.0-*",
"configurations": {
"Release": {
"buildOptions": {
"warningsAsErrors": false
}
}
},
"dependencies": {
"SixLabors.Shapes": {
"target": "project"
},
"xunit": "2.2.0-*",
"dotnet-test-xunit": "2.2.0-*",
"Moq": "4.6.38-alpha"
},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"System.Linq": "4.3.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-*"
},
"Microsoft.CodeCoverage": "1.0.2"
}
},
"net451": {
"dependencies": {
"System.Linq": "4.0.0"
}
}
},
"testRunner": "xunit"
}