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