mirror of https://github.com/SixLabors/ImageSharp
committed by
GitHub
45 changed files with 335 additions and 1076 deletions
@ -0,0 +1,105 @@ |
|||||
|
name: Build |
||||
|
|
||||
|
on: |
||||
|
push: |
||||
|
branches: |
||||
|
- master |
||||
|
tags: |
||||
|
- "v*" |
||||
|
pull_request: |
||||
|
branches: |
||||
|
- master |
||||
|
|
||||
|
jobs: |
||||
|
Build: |
||||
|
strategy: |
||||
|
matrix: |
||||
|
options: |
||||
|
- os: ubuntu-latest |
||||
|
framework: netcoreapp3.1 |
||||
|
runtime: -x64 |
||||
|
codecov: false |
||||
|
- os: windows-latest |
||||
|
framework: netcoreapp3.1 |
||||
|
runtime: -x64 |
||||
|
codecov: true |
||||
|
- os: windows-latest |
||||
|
framework: netcoreapp2.1 |
||||
|
runtime: -x64 |
||||
|
codecov: false |
||||
|
- os: windows-latest |
||||
|
framework: net472 |
||||
|
runtime: -x64 |
||||
|
codecov: false |
||||
|
- os: windows-latest |
||||
|
framework: net472 |
||||
|
runtime: -x86 |
||||
|
codecov: false |
||||
|
|
||||
|
runs-on: ${{matrix.options.os}} |
||||
|
|
||||
|
steps: |
||||
|
- uses: actions/checkout@v2 |
||||
|
|
||||
|
- name: Install NuGet |
||||
|
uses: NuGet/setup-nuget@v1 |
||||
|
|
||||
|
- name: Setup Git |
||||
|
shell: bash |
||||
|
run: | |
||||
|
git config --global core.autocrlf false |
||||
|
git config --global core.longpaths true |
||||
|
git fetch --prune --unshallow |
||||
|
git submodule -q update --init --recursive |
||||
|
|
||||
|
- name: Fetch Tags for GitVersion |
||||
|
run: | |
||||
|
git fetch --tags |
||||
|
|
||||
|
- name: Fetch master for GitVersion |
||||
|
if: github.ref != 'refs/heads/master' |
||||
|
run: git branch --create-reflog master origin/master |
||||
|
|
||||
|
- name: Install GitVersion |
||||
|
uses: gittools/actions/setup-gitversion@v0.3 |
||||
|
with: |
||||
|
versionSpec: "5.1.x" |
||||
|
|
||||
|
- name: Use GitVersion |
||||
|
id: gitversion # step id used as reference for output values |
||||
|
uses: gittools/actions/execute-gitversion@v0.3 |
||||
|
|
||||
|
- name: Setup DotNet SDK |
||||
|
uses: actions/setup-dotnet@v1 |
||||
|
with: |
||||
|
dotnet-version: "3.1.101" |
||||
|
|
||||
|
- name: Build |
||||
|
shell: pwsh |
||||
|
run: ./ci-build.ps1 "${{steps.gitversion.outputs.nuGetVersion}}" "${{matrix.options.framework}}" |
||||
|
|
||||
|
- name: Test |
||||
|
shell: pwsh |
||||
|
run: ./ci-test.ps1 "${{matrix.options.os}}" "${{matrix.options.framework}}" "${{matrix.options.runtime}}" "${{matrix.options.codecov}}" |
||||
|
env: |
||||
|
CI : True |
||||
|
XUNIT_PATH: .\tests\ImageSharp.Tests # Required for xunit |
||||
|
|
||||
|
- name: Update Codecov |
||||
|
uses: iansu/codecov-action-node@v1.0.0 |
||||
|
if: matrix.options.codecov == true |
||||
|
with: |
||||
|
token: ${{secrets.CODECOV_TOKEN}} |
||||
|
file: "coverage.${{matrix.options.framework}}.xml" |
||||
|
flags: unittests |
||||
|
|
||||
|
- name: Pack # We can use this filter as we know it happens only once and takes the most time to complete. |
||||
|
if: (github.event_name == 'push') && (matrix.options.codecov == true) |
||||
|
shell: pwsh |
||||
|
run: ./ci-build.ps1 "${{steps.gitversion.outputs.nuGetVersion}}" |
||||
|
|
||||
|
- name: Publish to MyGet |
||||
|
if: (github.event_name == 'push') && (matrix.options.codecov == true) |
||||
|
shell: pwsh |
||||
|
run: nuget.exe push .\artifacts\*.nupkg ${{secrets.MYGET_TOKEN}} -Source https://www.myget.org/F/sixlabors/api/v2/package |
||||
|
# TODO: If github.ref starts with 'refs/tags' then it was tag push and we can optionally push out package to nuget.org |
||||
@ -1,43 +0,0 @@ |
|||||
language: csharp |
|
||||
solution: ImageSharp.sln |
|
||||
|
|
||||
matrix: |
|
||||
include: |
|
||||
- os: linux # Ubuntu 16.04 |
|
||||
dist: xenial |
|
||||
sudo: required |
|
||||
dotnet: 2.1.603 |
|
||||
mono: latest |
|
||||
# - os: osx # OSX 10.11 |
|
||||
# osx_image: xcode7.3.1 |
|
||||
# dotnet: 1.0.0-preview2-003121 |
|
||||
# mono: latest |
|
||||
|
|
||||
branches: |
|
||||
only: |
|
||||
- master |
|
||||
- coverity_scan |
|
||||
|
|
||||
script: |
|
||||
- git submodule -q update --init |
|
||||
- dotnet restore |
|
||||
- dotnet test tests/ImageSharp.Tests/ImageSharp.Tests.csproj -c Release -f "netcoreapp2.1" |
|
||||
|
|
||||
env: |
|
||||
global: |
|
||||
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created |
|
||||
# via the "travis encrypt" command using the project repo's public key |
|
||||
- secure: "rjMvEMN9rpvIXqXqCAAKzbHyABzr7E4wPU/dYJ/mHBqlCccFpQrEXVVM1MfRFXYuWZSaIioknhLATZjT5xvIYpTNM6D57z4OTmqeRHhYm80=" |
|
||||
|
|
||||
before_install: |
|
||||
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- |
|
||||
|
|
||||
addons: |
|
||||
coverity_scan: |
|
||||
project: |
|
||||
name: "SixLabors/ImageSharp" |
|
||||
description: "Build submitted via Travis CI" |
|
||||
notification_email: james_south@hotmail.com |
|
||||
build_command_prepend: "dotnet restore" |
|
||||
build_command: "dotnet build -c Release" |
|
||||
branch_pattern: coverity_scan |
|
||||
@ -1,28 +0,0 @@ |
|||||
{ |
|
||||
// Use IntelliSense to find out which attributes exist for C# debugging |
|
||||
// Use hover for the description of the existing attributes |
|
||||
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md |
|
||||
"version": "0.2.0", |
|
||||
"configurations": [ |
|
||||
{ |
|
||||
"name": ".NET Core Launch (console)", |
|
||||
"type": "coreclr", |
|
||||
"request": "launch", |
|
||||
"preLaunchTask": "build", |
|
||||
// If you have changed target frameworks, make sure to update the program path. |
|
||||
"program": "${workspaceRoot}/tests/ImageSharp.Benchmarks/bin/Debug/netcoreapp2.0/ImageSharp.Benchmarks.dll", |
|
||||
"args": [], |
|
||||
"cwd": "${workspaceRoot}/samples/AvatarWithRoundedCorner", |
|
||||
// For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window |
|
||||
"console": "internalConsole", |
|
||||
"stopAtEntry": false, |
|
||||
"internalConsoleOptions": "openOnSessionStart" |
|
||||
}, |
|
||||
{ |
|
||||
"name": ".NET Core Attach", |
|
||||
"type": "coreclr", |
|
||||
"request": "attach", |
|
||||
"processId": "${command:pickProcess}" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
@ -1,31 +0,0 @@ |
|||||
{ |
|
||||
// See https://go.microsoft.com/fwlink/?LinkId=733558 |
|
||||
// for the documentation about the tasks.json format |
|
||||
"version": "0.1.0", |
|
||||
"command": "dotnet", |
|
||||
"isShellCommand": true, |
|
||||
"args": [], |
|
||||
"tasks": [ |
|
||||
{ |
|
||||
"taskName": "build", |
|
||||
"args": [ "ImageSharp.sln" ], |
|
||||
"isBuildCommand": true, |
|
||||
"showOutput": "always", |
|
||||
"problemMatcher": "$msCompile" |
|
||||
}, |
|
||||
{ |
|
||||
"taskName": "build benchmark", |
|
||||
"suppressTaskName": true, |
|
||||
"args": [ "build", "tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj", "-f", "netcoreapp2.0", "-c", "Release" ], |
|
||||
"showOutput": "always", |
|
||||
"problemMatcher": "$msCompile" |
|
||||
}, |
|
||||
{ |
|
||||
"taskName": "test", |
|
||||
"args": ["tests/ImageSharp.Tests/ImageSharp.Tests.csproj", "-c", "release", "-f", "netcoreapp2.0"], |
|
||||
"isTestCommand": true, |
|
||||
"showOutput": "always", |
|
||||
"problemMatcher": "$msCompile" |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
@ -1,22 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<RunSettings> |
|
||||
<DataCollectionRunSettings> |
|
||||
<DataCollectors> |
|
||||
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
|
||||
<Configuration> |
|
||||
<CodeCoverage> |
|
||||
<ModulePaths> |
|
||||
<Include> |
|
||||
<ModulePath>.*ImageSharp.dll</ModulePath> |
|
||||
</Include> |
|
||||
<Exclude> |
|
||||
<ModulePath>.*tests*</ModulePath> |
|
||||
<ModulePath>.*Tests*</ModulePath> |
|
||||
</Exclude> |
|
||||
</ModulePaths> |
|
||||
</CodeCoverage> |
|
||||
</Configuration> |
|
||||
</DataCollector> |
|
||||
</DataCollectors> |
|
||||
</DataCollectionRunSettings> |
|
||||
</RunSettings> |
|
||||
@ -0,0 +1,6 @@ |
|||||
|
continuous-delivery-fallback-tag: ci |
||||
|
branches: |
||||
|
master: |
||||
|
tag: dev |
||||
|
pull-request: |
||||
|
tag: pr |
||||
@ -1,393 +0,0 @@ |
|||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeCleanup/Profiles/=StyleCop/@EntryIndexedValue"><?xml version="1.0" encoding="utf-16"?> |
|
||||
<Profile name="StyleCop"> |
|
||||
<CSUpdateFileHeader>False</CSUpdateFileHeader> |
|
||||
<CSArrangeQualifiers>True</CSArrangeQualifiers> |
|
||||
<CSOptimizeUsings> |
|
||||
<OptimizeUsings>True</OptimizeUsings> |
|
||||
<EmbraceInRegion>False</EmbraceInRegion> |
|
||||
<RegionName></RegionName> |
|
||||
</CSOptimizeUsings> |
|
||||
<CSReformatCode>True</CSReformatCode> |
|
||||
<CSReorderTypeMembers>True</CSReorderTypeMembers> |
|
||||
</Profile></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeCleanup/SilentCleanupProfile/@EntryValue">StyleCop</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/MODIFIERS_ORDER/@EntryValue">public protected internal private static new abstract virtual override sealed readonly extern unsafe volatile async</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/ThisQualifier/INSTANCE_MEMBERS_QUALIFY_MEMBERS/@EntryValue">Field, Property, Event, Method</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_LINQ_QUERY/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_ARRAY_AND_OBJECT_INITIALIZER/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_EXPRESSION/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_EXTENDS_LIST/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_FOR_STMT/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_PARAMETER/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTIPLE_DECLARATION/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTLINE_TYPE_PARAMETER_CONSTRAINS/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTLINE_TYPE_PARAMETER_LIST/@EntryValue">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue">NEXT_LINE_SHIFTED_2</s:String> |
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_AUTO_PROPERTY/@EntryValue">1</s:Int64> |
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_FIELD/@EntryValue">1</s:Int64> |
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE/@EntryValue">1</s:Int64> |
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_PROPERTY/@EntryValue">1</s:Int64> |
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_BETWEEN_USING_GROUPS/@EntryValue">1</s:Int64> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/CASE_BLOCK_BRACES/@EntryValue">NEXT_LINE_SHIFTED_2</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FIXED_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOR_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOREACH_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_IFELSE_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_WHILE_BRACES_STYLE/@EntryValue">ALWAYS_ADD</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INITIALIZER_BRACES/@EntryValue">NEXT_LINE_SHIFTED_2</s:String> |
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_CODE/@EntryValue">1</s:Int64> |
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue">1</s:Int64> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_EXISTING_EXPR_MEMBER_ARRANGEMENT/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_EXISTING_INITIALIZER_ARRANGEMENT/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_USER_LINEBREAKS/@EntryValue">False</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ACCESSORHOLDER_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE/@EntryValue">False</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE_EX/@EntryValue">NEVER</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE/@EntryValue">False</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_STATEMENT_ON_SAME_LINE/@EntryValue">ALWAYS</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_WHILE_ON_NEW_LINE/@EntryValue">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SIMPLE_EMBEDDED_STATEMENT_STYLE/@EntryValue">ON_SINGLE_LINE</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AROUND_MULTIPLICATIVE_OP/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/STICK_COMMENT/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_AFTER_DECLARATION_LPAR/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_AFTER_INVOCATION_LPAR/@EntryValue">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_ARGUMENTS_STYLE/@EntryValue">CHOP_IF_LONG</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_BEFORE_BINARY_OPSIGN/@EntryValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT/@EntryValue">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_EXTENDS_LIST_STYLE/@EntryValue">CHOP_IF_LONG</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_PARAMETERS_STYLE/@EntryValue">CHOP_IF_LONG</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CSharpFileLayoutPatterns/Pattern/@EntryValue"><?xml version="1.0" encoding="utf-16"?>
 |
|
||||
<Patterns xmlns="urn:schemas-jetbrains-com:member-reordering-patterns">
 |
|
||||
<TypePattern DisplayName="COM interfaces or structs">
 |
|
||||
<TypePattern.Match>
 |
|
||||
<Or>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Interface" />
 |
|
||||
<Or>
 |
|
||||
<HasAttribute Name="System.Runtime.InteropServices.InterfaceTypeAttribute" />
 |
|
||||
<HasAttribute Name="System.Runtime.InteropServices.ComImport" />
 |
|
||||
</Or>
 |
|
||||
</And>
 |
|
||||
<Kind Is="Struct" />
 |
|
||||
</Or>
 |
|
||||
</TypePattern.Match>
 |
|
||||
</TypePattern>
 |
|
||||
<TypePattern DisplayName="P/Invoke classes called 'NativeMethods' (StyleCop)">
 |
|
||||
<TypePattern.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Class" />
 |
|
||||
<Name Is=".*NativeMethods" />
 |
|
||||
</And>
 |
|
||||
</TypePattern.Match>
 |
|
||||
</TypePattern>
 |
|
||||
<TypePattern DisplayName="DataMember serialisation classes (StyleCop)">
 |
|
||||
<TypePattern.Match>
 |
|
||||
<And>
 |
|
||||
<Or>
 |
|
||||
<Kind Is="Field" />
 |
|
||||
<Kind Is="Property" />
 |
|
||||
</Or>
 |
|
||||
<HasAttribute Name="System.Runtime.Serialization.DataMemberAttribute" />
 |
|
||||
</And>
 |
|
||||
</TypePattern.Match>
 |
|
||||
</TypePattern>
 |
|
||||
<TypePattern DisplayName="Default Pattern (StyleCop)" RemoveRegions="All">
 |
|
||||
<Entry DisplayName="Constants">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Constant" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Static fields">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Field" />
 |
|
||||
<Static />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Readonly />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Fields">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Field" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Readonly />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry Priority="200" DisplayName="Constructors and Destructors">
 |
|
||||
<Entry.Match>
 |
|
||||
<Or>
 |
|
||||
<Kind Is="Constructor" />
 |
|
||||
<Kind Is="Destructor" />
 |
|
||||
</Or>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Static />
 |
|
||||
<Kind Order="Constructor Destructor" />
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Delegates">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Delegate" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Public events">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Event" />
 |
|
||||
<Access Is="Public" />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public" />
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Interface events">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Event" />
 |
|
||||
<ImplementsInterface />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<ImplementsInterface Immediate="True" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Other events">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Event" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Enums">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Enum" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Interfaces">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Interface" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Public properties">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Property" />
 |
|
||||
<Access Is="Public" />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Interface properties">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Property" />
 |
|
||||
<ImplementsInterface />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<ImplementsInterface Immediate="True" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Other properties">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Property" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry Priority="1000" DisplayName="Public indexers">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Indexer" />
 |
|
||||
<Access Is="Public" />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry Priority="1000" DisplayName="Interface indexers">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Indexer" />
 |
|
||||
<ImplementsInterface />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<ImplementsInterface Immediate="True" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry Priority="1000" DisplayName="Other indexers">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Indexer" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Public methods and operators">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Or>
 |
|
||||
<Kind Is="Method" />
 |
|
||||
<Kind Is="Operator" />
 |
|
||||
</Or>
 |
|
||||
<Access Is="Public" />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Interface methods">
 |
|
||||
<Entry.Match>
 |
|
||||
<And>
 |
|
||||
<Kind Is="Method" />
 |
|
||||
<ImplementsInterface />
 |
|
||||
</And>
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<ImplementsInterface Immediate="True" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Other methods">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Method" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="Operators">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Operator" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Static />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry Priority="600" DisplayName="Nested structs">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Struct" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Static />
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry Priority="700" DisplayName="Nested classes">
 |
|
||||
<Entry.Match>
 |
|
||||
<Kind Is="Class" />
 |
|
||||
</Entry.Match>
 |
|
||||
<Entry.SortBy>
 |
|
||||
<Static />
 |
|
||||
<Access Order="Public Internal ProtectedInternal Protected Private" />
 |
|
||||
<Name />
 |
|
||||
</Entry.SortBy>
 |
|
||||
</Entry>
 |
|
||||
<Entry DisplayName="All other members" />
 |
|
||||
</TypePattern>
 |
|
||||
</Patterns></s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/AddImportsToDeepestScope/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/QualifiedUsingAtNestedScope/@EntryValue">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/FileHeader/FileHeaderText/@EntryValue">// Copyright (c) Six Labors and contributors.
 |
|
||||
// Licensed under the Apache License, Version 2.0.
 |
|
||||
</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AC/@EntryIndexedValue">AC</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DC/@EntryIndexedValue">DC</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DCT/@EntryIndexedValue">DCT</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=EOF/@EntryIndexedValue">EOF</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FDCT/@EntryIndexedValue">FDCT</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IDCT/@EntryIndexedValue">IDCT</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=JPEG/@EntryIndexedValue">JPEG</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MCU/@EntryIndexedValue">MCU</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PNG/@EntryIndexedValue">PNG</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RGB/@EntryIndexedValue">RGB</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RLE/@EntryIndexedValue">RLE</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=XY/@EntryIndexedValue">XY</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=XYZ/@EntryIndexedValue">XYZ</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/EventHandlerPatternLong/@EntryValue">$object$_On$event$</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Constants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=EnumMember/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Interfaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="I" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=LocalConstants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Locals/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=MethodPropertyEvent/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Other/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Parameters/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateConstants/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticReadonly/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PublicFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=StaticReadonly/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypeParameters/@EntryIndexedValue"><Policy Inspect="True" Prefix="T" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypesAndNamespaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></s:String> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAlwaysTreatStructAsNotReorderableMigration/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bgra/@EntryIndexedValue">True</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Quantizer/@EntryIndexedValue">True</s:Boolean> |
|
||||
</wpf:ResourceDictionary> |
|
||||
@ -1,68 +0,0 @@ |
|||||
version: 1.0.0.{build} |
|
||||
image: Visual Studio 2017 |
|
||||
|
|
||||
# prevent the double build when a branch has an active PR |
|
||||
skip_branch_with_pr: true |
|
||||
|
|
||||
environment: |
|
||||
matrix: |
|
||||
- target_framework: netcoreapp2.1 |
|
||||
is_32bit: False |
|
||||
|
|
||||
- target_framework: netcoreapp2.1 |
|
||||
is_32bit: True |
|
||||
|
|
||||
- target_framework: net472 |
|
||||
is_32bit: False |
|
||||
|
|
||||
- target_framework: net472 |
|
||||
is_32bit: True |
|
||||
|
|
||||
- target_framework: net462 |
|
||||
is_32bit: False |
|
||||
|
|
||||
- target_framework: net462 |
|
||||
is_32bit: True |
|
||||
|
|
||||
#- target_framework: mono |
|
||||
# is_32bit: False |
|
||||
#- target_framework: mono |
|
||||
# is_32bit: True |
|
||||
#- target_framework: net47 |
|
||||
# is_32bit: False |
|
||||
#- target_framework: net47 |
|
||||
# is_32bit: True |
|
||||
|
|
||||
install: |
|
||||
- ps: | |
|
||||
if ($env:target_framework -eq "mono") { |
|
||||
if ($env:is_32bit -eq "True") { |
|
||||
cinst mono --x86 |
|
||||
} else { |
|
||||
cinst mono |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
before_build: |
|
||||
- git submodule -q update --init |
|
||||
- cmd: dotnet --info |
|
||||
|
|
||||
build_script: |
|
||||
- cmd: build.cmd |
|
||||
|
|
||||
test_script: |
|
||||
- ps: .\run-tests.ps1 $env:target_framework $env:is_32bit |
|
||||
|
|
||||
after_test: |
|
||||
- cmd: appveyor PushArtifact "artifacts\SixLabors.ImageSharp.%APPVEYOR_BUILD_VERSION%.nupkg" |
|
||||
|
|
||||
deploy: |
|
||||
# MyGet Deployment for builds & releases |
|
||||
- provider: NuGet |
|
||||
server: https://www.myget.org/F/sixlabors/api/v2/package |
|
||||
symbol_server: https://www.myget.org/F/sixlabors/symbols/api/v2/package |
|
||||
api_key: |
|
||||
secure: V/lEHP0UeMWIpWd0fiNlY2IgbCnJKQlGdRksECdJbOBdaE20Fl0RNL7WyqHe02o4 |
|
||||
artifact: /.*\.nupkg/ |
|
||||
on: |
|
||||
branch: master |
|
||||
@ -1,17 +0,0 @@ |
|||||
@echo Off |
|
||||
|
|
||||
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '.\build.ps1'" |
|
||||
|
|
||||
if not "%errorlevel%"=="0" goto failure |
|
||||
|
|
||||
:success |
|
||||
ECHO successfully built project |
|
||||
REM exit 0 |
|
||||
goto end |
|
||||
|
|
||||
:failure |
|
||||
ECHO failed to build. |
|
||||
REM exit -1 |
|
||||
goto end |
|
||||
|
|
||||
:end |
|
||||
@ -1,119 +0,0 @@ |
|||||
|
|
||||
# lets calulat the correct version here |
|
||||
$fallbackVersion = "1.0.0"; |
|
||||
$version = '' |
|
||||
|
|
||||
$tagRegex = '^v?(\d+\.\d+\.\d+)(-([a-zA-Z]+)\.?(\d*))?$' |
|
||||
|
|
||||
# we are running on the build server |
|
||||
$isVersionTag = $env:APPVEYOR_REPO_TAG_NAME -match $tagRegex |
|
||||
|
|
||||
if($isVersionTag) { |
|
||||
|
|
||||
Write-Debug "Building commit tagged with a compatable version number" |
|
||||
|
|
||||
$version = $matches[1] |
|
||||
$postTag = $matches[3] |
|
||||
$count = $matches[4] |
|
||||
Write-Debug "version number: ${version} post tag: ${postTag} count: ${count}" |
|
||||
if("$postTag" -ne ""){ |
|
||||
$version = "${version}-${postTag}" |
|
||||
} |
|
||||
if("$count" -ne ""){ |
|
||||
# for consistancy with previous releases we pad the counter to only 4 places |
|
||||
$padded = $count.Trim().Trim('0').PadLeft(4,"0"); |
|
||||
Write-Debug "count '$count', padded '${padded}'" |
|
||||
|
|
||||
$version = "${version}${padded}" |
|
||||
} |
|
||||
} |
|
||||
else { |
|
||||
|
|
||||
Write-Debug "Untagged" |
|
||||
$lastTag = (git tag --list --sort=-taggerdate) | Out-String |
|
||||
$list = $lastTag.Split("`n") |
|
||||
foreach ($tag in $list) { |
|
||||
|
|
||||
Write-Debug "testing ${tag}" |
|
||||
$tag = $tag.Trim(); |
|
||||
if($tag -match $tagRegex){ |
|
||||
Write-Debug "matched ${tag}" |
|
||||
$version = $matches[1]; |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
if("$version" -eq ""){ |
|
||||
$version = $fallbackVersion |
|
||||
Write-Debug "Failed to discover base version Fallback to '${version}'" |
|
||||
}else{ |
|
||||
|
|
||||
Write-Debug "Discovered base version from tags '${version}'" |
|
||||
} |
|
||||
|
|
||||
$buildNumber = $env:APPVEYOR_BUILD_NUMBER |
|
||||
|
|
||||
# build number replacement is padded to 6 places |
|
||||
$buildNumber = "$buildNumber".Trim().Trim('0').PadLeft(6,"0"); |
|
||||
if("$env:APPVEYOR_PULL_REQUEST_NUMBER" -ne ""){ |
|
||||
Write-Debug "building a PR" |
|
||||
|
|
||||
$prNumber = "$env:APPVEYOR_PULL_REQUEST_NUMBER".Trim().Trim('0').PadLeft(5,"0"); |
|
||||
# this is a PR |
|
||||
$version = "${version}-PullRequest${prNumber}${buildNumber}"; |
|
||||
}else{ |
|
||||
Write-Debug "building a branch commit" |
|
||||
|
|
||||
# this is a general branch commit |
|
||||
$branch = $env:APPVEYOR_REPO_BRANCH |
|
||||
|
|
||||
if("$branch" -eq ""){ |
|
||||
$branch = ((git rev-parse --abbrev-ref HEAD) | Out-String).Trim() |
|
||||
|
|
||||
if("$branch" -eq ""){ |
|
||||
$branch = "unknown" |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
$branch = $branch.Replace("/","-").ToLower() |
|
||||
|
|
||||
if($branch.ToLower() -eq "master"){ |
|
||||
$branch = "dev" |
|
||||
} |
|
||||
|
|
||||
$version = "${version}-${branch}${buildNumber}"; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
if("$env:APPVEYOR_API_URL" -ne ""){ |
|
||||
# update appveyor build number for this build |
|
||||
Invoke-RestMethod -Method "PUT" ` |
|
||||
-Uri "${env:APPVEYOR_API_URL}api/build" ` |
|
||||
-Body "{version:'${version}'}" ` |
|
||||
-ContentType "application/json" |
|
||||
} |
|
||||
|
|
||||
Write-Host "Building version '${version}'" |
|
||||
dotnet restore /p:packageversion=$version /p:DisableImplicitNuGetFallbackFolder=true |
|
||||
|
|
||||
Write-Host "Building projects" |
|
||||
dotnet build -c Release /p:packageversion=$version |
|
||||
|
|
||||
if ($LASTEXITCODE ){ Exit $LASTEXITCODE } |
|
||||
|
|
||||
# |
|
||||
# TODO: DO WE NEED TO RUN TESTS IMPLICITLY? |
|
||||
# |
|
||||
# if ( $env:CI -ne "True") { |
|
||||
# cd ./tests/ImageSharp.Tests/ |
|
||||
# dotnet xunit -nobuild -c Release -f netcoreapp2.0 --fx-version 2.0.0 |
|
||||
# ./RunExtendedTests.cmd |
|
||||
# cd ../.. |
|
||||
# } |
|
||||
# |
|
||||
|
|
||||
if ($LASTEXITCODE ){ Exit $LASTEXITCODE } |
|
||||
|
|
||||
Write-Host "Packaging projects" |
|
||||
dotnet pack ./src/ImageSharp/ -c Release --output ../../artifacts --no-build /p:packageversion=$version |
|
||||
if ($LASTEXITCODE ){ Exit $LASTEXITCODE } |
|
||||
@ -1,3 +0,0 @@ |
|||||
version https://git-lfs.github.com/spec/v1 |
|
||||
oid sha256:148a268c589b628f5d0b5af0e86911a0b393c35b8b25233c71553657c88e0b96 |
|
||||
size 7568 |
|
||||
@ -1,3 +0,0 @@ |
|||||
version https://git-lfs.github.com/spec/v1 |
|
||||
oid sha256:7e4b2ff72aef1979500cd130c28490a00be116bb833bc96ca30c85dc0596099c |
|
||||
size 15413 |
|
||||
@ -1,3 +0,0 @@ |
|||||
version https://git-lfs.github.com/spec/v1 |
|
||||
oid sha256:021c12313afbdc65f58bfea8c7b436d5c2102513bb63d9e64ee2b61a1344c56a |
|
||||
size 1799 |
|
||||
@ -1,3 +0,0 @@ |
|||||
version https://git-lfs.github.com/spec/v1 |
|
||||
oid sha256:3ae54ae0035df1f8f1459081e2f1d5cceda6f88cca6ec015d8c0209bf0d34edf |
|
||||
size 32534 |
|
||||
@ -1,3 +0,0 @@ |
|||||
version https://git-lfs.github.com/spec/v1 |
|
||||
oid sha256:92896854265693f28f9a503b9093cb2c9a4a9b329f310732efdd9c6f6c3761bc |
|
||||
size 3736 |
|
||||
@ -1,3 +0,0 @@ |
|||||
version https://git-lfs.github.com/spec/v1 |
|
||||
oid sha256:3ae54ae0035df1f8f1459081e2f1d5cceda6f88cca6ec015d8c0209bf0d34edf |
|
||||
size 32534 |
|
||||
|
Before Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,20 @@ |
|||||
|
param( |
||||
|
[Parameter(Mandatory, Position = 0)] |
||||
|
[string]$version, |
||||
|
[Parameter(Mandatory = $false, Position = 1)] |
||||
|
[string]$targetFramework = 'ALL' |
||||
|
) |
||||
|
|
||||
|
dotnet clean -c Release |
||||
|
|
||||
|
$repositoryUrl = "https://github.com/$env:GITHUB_REPOSITORY" |
||||
|
if ($targetFramework -ne 'ALL') { |
||||
|
|
||||
|
# Building for a specific framework. |
||||
|
dotnet build -c Release -f $targetFramework /p:packageversion=$version /p:RepositoryUrl=$repositoryUrl |
||||
|
} |
||||
|
else { |
||||
|
|
||||
|
# Building for packing and publishing. |
||||
|
dotnet pack -c Release --output "$PSScriptRoot/artifacts" /p:packageversion=$version /p:RepositoryUrl=$repositoryUrl |
||||
|
} |
||||
@ -0,0 +1,41 @@ |
|||||
|
param( |
||||
|
[Parameter(Mandatory, Position = 0)] |
||||
|
[string]$os, |
||||
|
[Parameter(Mandatory, Position = 1)] |
||||
|
[string]$targetFramework, |
||||
|
[Parameter(Mandatory, Position = 2)] |
||||
|
[string]$platform, |
||||
|
[Parameter(Mandatory, Position = 3)] |
||||
|
[string]$codecov, |
||||
|
[Parameter(Position = 4)] |
||||
|
[string]$codecovProfile = 'Release' |
||||
|
) |
||||
|
|
||||
|
$netFxRegex = '^net\d+' |
||||
|
|
||||
|
if ($codecov -eq 'true') { |
||||
|
|
||||
|
# Allow toggling of profile to workaround any potential JIT errors caused by code injection. |
||||
|
dotnet clean -c $codecovProfile |
||||
|
dotnet test -c $codecovProfile -f $targetFramework /p:codecov=true |
||||
|
} |
||||
|
elseif ($platform -eq '-x86' -and $targetFramework -match $netFxRegex) { |
||||
|
|
||||
|
# xunit doesn't run on core with NET SDK 3.1+. |
||||
|
# xunit doesn't actually understand -x64 as an option. |
||||
|
# |
||||
|
# xunit requires explicit path. |
||||
|
Set-Location $env:XUNIT_PATH |
||||
|
|
||||
|
dotnet xunit --no-build -c Release -f $targetFramework ${fxVersion} $platform |
||||
|
|
||||
|
Set-Location $PSScriptRoot |
||||
|
} |
||||
|
else { |
||||
|
|
||||
|
dotnet test --no-build -c Release -f $targetFramework |
||||
|
} |
||||
|
|
||||
|
# Explicitly exit with 0 to ignore errors caused by coverlet attempting to read |
||||
|
# project files that dotnet test is set to ignore. |
||||
|
exit 0 |
||||
@ -1,4 +0,0 @@ |
|||||
ignore: |
|
||||
"src/ImageSharp/Common/Helpers/DebugGuard.cs" |
|
||||
|
|
||||
|
|
||||
@ -1,112 +0,0 @@ |
|||||
param( |
|
||||
[string]$targetFramework, |
|
||||
[string]$is32Bit = "False" |
|
||||
) |
|
||||
|
|
||||
if (!$targetFramework){ |
|
||||
Write-Host "run-tests.ps1 ERROR: targetFramework is undefined!" |
|
||||
exit 1 |
|
||||
} |
|
||||
|
|
||||
function VerifyPath($path, $errorMessage) { |
|
||||
if (!(Test-Path -Path $path)) { |
|
||||
Write-Host "run-tests.ps1 $errorMessage `n $xunitRunnerPath" |
|
||||
exit 1 |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
function CheckSubmoduleStatus() { |
|
||||
$submoduleStatus = (git submodule status) | Out-String |
|
||||
# if the result string is empty, the command failed to run (we didn't capture the error stream) |
|
||||
if ($submoduleStatus) { |
|
||||
# git has been called successfully, what about the status? |
|
||||
if (($submoduleStatus -match "\-") -or ($submoduleStatus -match "\(\(null\)\)")) |
|
||||
{ |
|
||||
# submodule has not been initialized! |
|
||||
return 2; |
|
||||
} |
|
||||
elseif ($submoduleStatus -match "\+") |
|
||||
{ |
|
||||
# submodule is not synced: |
|
||||
return 1; |
|
||||
} |
|
||||
else { |
|
||||
# everything fine: |
|
||||
return 0; |
|
||||
} |
|
||||
} else { |
|
||||
# git call failed, so we should warn |
|
||||
return 3; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
if ( ($targetFramework -eq "netcoreapp2.1") -and ($env:CI -eq "True") -and ($is32Bit -ne "True")) { |
|
||||
# We execute CodeCoverage.cmd only for one specific job on CI (netcoreapp2.1 + 64bit ) |
|
||||
$testRunnerCmd = ".\tests\CodeCoverage\CodeCoverage.cmd" |
|
||||
} |
|
||||
elseif ($targetFramework -eq "mono") { |
|
||||
$testDllPath = "$PSScriptRoot\tests\ImageSharp.Tests\bin\Release\net462\SixLabors.ImageSharp.Tests.dll" |
|
||||
VerifyPath($testDllPath, "test dll missing:") |
|
||||
|
|
||||
$xunitRunnerPath = "${env:HOMEPATH}\.nuget\packages\xunit.runner.console\2.3.1\tools\net452\" |
|
||||
|
|
||||
VerifyPath($xunitRunnerPath, "xunit console runner is missing on path:") |
|
||||
|
|
||||
cd "$xunitRunnerPath" |
|
||||
|
|
||||
if ($is32Bit -ne "True") { |
|
||||
$monoPath = "${env:PROGRAMFILES}\Mono\bin\mono.exe" |
|
||||
} |
|
||||
else { |
|
||||
$monoPath = "${env:ProgramFiles(x86)}\Mono\bin\mono.exe" |
|
||||
} |
|
||||
|
|
||||
VerifyPath($monoPath, "mono runtime missing:") |
|
||||
|
|
||||
$testRunnerCmd = "& `"${monoPath}`" .\xunit.console.exe `"${testDllPath}`"" |
|
||||
} |
|
||||
else { |
|
||||
cd .\tests\ImageSharp.Tests |
|
||||
$xunitArgs = "-nobuild -c Release -framework $targetFramework" |
|
||||
|
|
||||
if ($targetFramework -eq "netcoreapp2.1") { |
|
||||
# There were issues matching the correct installed runtime if we do not specify it explicitly: |
|
||||
$xunitArgs += " --fx-version 2.1.0" |
|
||||
} |
|
||||
|
|
||||
if ($is32Bit -eq "True") { |
|
||||
$xunitArgs += " -x86" |
|
||||
} |
|
||||
|
|
||||
$testRunnerCmd = "dotnet xunit $xunitArgs" |
|
||||
} |
|
||||
|
|
||||
Write-Host "running:" |
|
||||
Write-Host $testRunnerCmd |
|
||||
Write-Host "..." |
|
||||
|
|
||||
Invoke-Expression $testRunnerCmd |
|
||||
|
|
||||
cd $PSScriptRoot |
|
||||
|
|
||||
$exitCodeOfTests = $LASTEXITCODE; |
|
||||
|
|
||||
if (0 -ne ([int]$exitCodeOfTests)) { |
|
||||
# check submodule status |
|
||||
$submoduleStatus = CheckSubmoduleStatus |
|
||||
if ([int]$submoduleStatus -eq 1) { |
|
||||
# not synced |
|
||||
Write-Host -ForegroundColor Yellow "Check if submodules are up to date. You can use 'git submodule update' to fix this"; |
|
||||
} elseif ($submoduleStatus -eq 2) { |
|
||||
# not initialized |
|
||||
Write-Host -ForegroundColor Yellow "Check if submodules are initialized. You can run 'git submodule init' to initialize them." |
|
||||
} elseif ($submoduleStatus -eq 3) { |
|
||||
# git not found, maybe submodules not synced? |
|
||||
Write-Host -ForegroundColor Yellow "Could not check if submodules are initialized correctly. Maybe git is not installed?" |
|
||||
} else { |
|
||||
#Write-Host "Submodules are up to date"; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
exit $exitCodeOfTests |
|
||||
@ -1 +1 @@ |
|||||
Subproject commit c2e689abe9227209e6d5bc4bf56255d92b4a5d62 |
Subproject commit 36b2d55f5bb0d91024955bd26ba220ee41cc96e5 |
||||
@ -1,21 +0,0 @@ |
|||||
@echo off |
|
||||
|
|
||||
|
|
||||
cd tests\CodeCoverage |
|
||||
|
|
||||
nuget restore packages.config -PackagesDirectory . |
|
||||
|
|
||||
cd .. |
|
||||
cd .. |
|
||||
|
|
||||
dotnet restore ImageSharp.sln |
|
||||
rem Clean the solution to force a rebuild with /p:codecov=true |
|
||||
dotnet clean ImageSharp.sln -c Release |
|
||||
rem The -threshold options prevents this taking ages... |
|
||||
tests\CodeCoverage\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"dotnet.exe" -targetargs:"test tests\ImageSharp.Tests\ImageSharp.Tests.csproj -c Release -f netcoreapp2.1 /p:codecov=true" -register:user -threshold:10 -oldStyle -safemode:off -output:.\ImageSharp.Coverage.xml -hideskipped:All -returntargetcode -filter:"+[SixLabors.ImageSharp*]*" |
|
||||
|
|
||||
if %errorlevel% neq 0 exit /b %errorlevel% |
|
||||
|
|
||||
SET PATH=C:\\Python34;C:\\Python34\\Scripts;%PATH% |
|
||||
pip install codecov |
|
||||
codecov -f "ImageSharp.Coverage.xml" |
|
||||
@ -1,4 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<packages> |
|
||||
<package id="OpenCover" version="4.6.519" /> |
|
||||
</packages> |
|
||||
@ -1,9 +0,0 @@ |
|||||
<ProjectConfiguration> |
|
||||
<Settings> |
|
||||
<CopyReferencedAssembliesToWorkspace>False</CopyReferencedAssembliesToWorkspace> |
|
||||
<FrameworkUtilisationTypeForGallio>UseStaticAnalysis</FrameworkUtilisationTypeForGallio> |
|
||||
<ImplicitProjectDependencyPathsRelativeToSolutionDirectory /> |
|
||||
<NUnit3Enabled>False</NUnit3Enabled> |
|
||||
<PreloadReferencedAssemblies>False</PreloadReferencedAssemblies> |
|
||||
</Settings> |
|
||||
</ProjectConfiguration> |
|
||||
@ -1,9 +0,0 @@ |
|||||
dotnet build -c Release |
|
||||
dotnet xunit -nobuild -c Release -f net462 |
|
||||
dotnet xunit -nobuild -c Release -f net462 -x86 |
|
||||
dotnet xunit -nobuild -c Release -f net47 |
|
||||
dotnet xunit -nobuild -c Release -f net47 -x86 |
|
||||
dotnet xunit -nobuild -c Release -f net471 |
|
||||
dotnet xunit -nobuild -c Release -f net471 -x86 |
|
||||
dotnet xunit -nobuild -c Release -f net472 |
|
||||
dotnet xunit -nobuild -c Release -f net472 -x86 |
|
||||
Loading…
Reference in new issue