From 997893ac21a470cb214f8f11264c6615d3c52444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Zaj=C4=85c?= Date: Wed, 30 Aug 2023 10:25:20 +0200 Subject: [PATCH] Github workflow (#44) * Replace AppVeyor build definition with GitHub workflows * Enable GitHub workflow manual trigger and introduce ability to select environment and package * Use windows agents to support old .NET Framework * Update expected dotnet version from 6 to 7 * Update analyzers * Ignore S6608 rule in tests * Address IDE0005 analyzer on the build issue: https://github.com/dotnet/aspnetcore/issues/47912 * Use gitversion for automatic Versioning * Automate pushing tags when publishing packages --------- Co-authored-by: krzysztofkaczorowski Co-authored-by: Krzysztof Kaczorowski --- ...vity.AutoFixture.XUnit2.AutoFakeItEasy.yml | 33 ---- ...Objectivity.AutoFixture.XUnit2.AutoMoq.yml | 60 ------ ...ity.AutoFixture.XUnit2.AutoNSubstitute.yml | 33 ---- .github/workflows/cicd.yml | 178 ++++++++++++++---- GitVersion.yml | 1 + README.md | 2 +- appveyor.yml | 90 --------- src/Directory.Build.props | 8 +- src/GlobalAssemblyInfo.cs | 20 -- .../.editorconfig | 4 +- ...Fixture.XUnit2.AutoFakeItEasy.Tests.csproj | 26 ++- .../Properties/AssemblyInfo.cs | 13 +- ...y.AutoFixture.XUnit2.AutoFakeItEasy.csproj | 35 ++-- .../Properties/AssemblyInfo.cs | 13 +- .../.editorconfig | 4 +- ...ty.AutoFixture.XUnit2.AutoMoq.Tests.csproj | 26 ++- .../Properties/AssemblyInfo.cs | 13 +- ...ectivity.AutoFixture.XUnit2.AutoMoq.csproj | 35 ++-- .../Properties/AssemblyInfo.cs | 13 +- .../.editorconfig | 4 +- ...ixture.XUnit2.AutoNSubstitute.Tests.csproj | 26 ++- .../Properties/AssemblyInfo.cs | 13 +- ....AutoFixture.XUnit2.AutoNSubstitute.csproj | 35 ++-- .../Properties/AssemblyInfo.cs | 13 +- .../.editorconfig | 4 +- ...ivity.AutoFixture.XUnit2.Core.Tests.csproj | 26 ++- .../Properties/AssemblyInfo.cs | 13 +- ...Objectivity.AutoFixture.XUnit2.Core.csproj | 24 ++- .../Properties/AssemblyInfo.cs | 13 +- 29 files changed, 308 insertions(+), 470 deletions(-) delete mode 100644 .github/workflows/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.yml delete mode 100644 .github/workflows/Objectivity.AutoFixture.XUnit2.AutoMoq.yml delete mode 100644 .github/workflows/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.yml create mode 100644 GitVersion.yml delete mode 100644 appveyor.yml delete mode 100644 src/GlobalAssemblyInfo.cs diff --git a/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.yml b/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.yml deleted file mode 100644 index ab30e566..00000000 --- a/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: AutoFakeItEasy - -on: - push: - branches: [ "master" ] - paths: - - 'src/**' - - '.github/workflows/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.yml' - pull_request: - branches: [ "master" ] - paths: - - 'src/**' - - '.github/workflows/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.yml' - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Restore dependencies - run: dotnet restore ./src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.sln - - name: Build - run: dotnet build --no-restore ./src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.sln - - name: Test - run: dotnet test --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover ./src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.sln - - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 diff --git a/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoMoq.yml b/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoMoq.yml deleted file mode 100644 index 0d963186..00000000 --- a/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoMoq.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: AutoMoq - -on: - push: - branches: [ "master" ] - paths: - - 'src/**' - - '.github/workflows/Objectivity.AutoFixture.XUnit2.AutoMoq.yml' - pull_request: - branches: [ "master" ] - paths: - - 'src/**' - - '.github/workflows/Objectivity.AutoFixture.XUnit2.AutoMoq.yml' - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Restore dependencies - run: dotnet restore ./src/Objectivity.AutoFixture.XUnit2.AutoMoq.sln - - name: Build - run: dotnet build --no-restore ./src/Objectivity.AutoFixture.XUnit2.AutoMoq.sln - - name: Test - run: dotnet test --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover ./src/Objectivity.AutoFixture.XUnit2.AutoMoq.sln - - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 - - publish: - needs: build - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Materialize Signing Key - id: write_sign_key_file - uses: timheuer/base64-to-file@v1 - with: - fileName: 'MyKeys.snk' - encodedString: ${{ secrets.SIGNING_KEY }} - - name: Restore dependencies - run: dotnet restore ./src/Objectivity.AutoFixture.XUnit2.AutoMoq.sln - - name: Build - run: dotnet build --no-restore -c Release ./src/Objectivity.AutoFixture.XUnit2.AutoMoq.sln - env: - SignAssembly: true - AssemblyOriginatorKeyFile: ${{ steps.write_sign_key_file.outputs.filePath }} - - name: Pack - run: dotnet pack ./src/Objectivity.AutoFixture.XUnit2.AutoMoq.sln - - name: Publish - run: dotnet nuget push ./src/Objectivity.AutoFixture.XUnit2.AutoMoq/bin/Debug/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json diff --git a/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.yml b/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.yml deleted file mode 100644 index ce0a33a4..00000000 --- a/.github/workflows/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: AutoNSubstitute - -on: - push: - branches: [ "master" ] - paths: - - 'src/**' - - '.github/workflows/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.yml' - pull_request: - branches: [ "master" ] - paths: - - 'src/**' - - '.github/workflows/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.yml' - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Restore dependencies - run: dotnet restore ./src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.sln - - name: Build - run: dotnet build --no-restore ./src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.sln - - name: Test - run: dotnet test --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover ./src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.sln - - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index adb9eec5..98be59bb 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -1,75 +1,173 @@ name: CI/CD on: workflow_dispatch: - push: - branches: [ '*' ] - paths: - - 'src/**' + inputs: + buildAutoMoq: + description: "Build AutoMoq" + required: true + type: boolean + default: true + buildAutoNSubstitute: + description: "Build AutoNSubstitute" + required: true + type: boolean + default: true + buildAutoFakeItEasy: + description: "Build AutoFakeItEasy" + required: true + type: boolean + default: true + environment: + description: "Environment" + type: environment + required: true + default: prod pull_request: - paths: - - 'src/**' + branches: ["*"] + paths-ignore: + - "**.md" + - "**.png" types: [opened, synchronize, reopened] env: DOTNET_NOLOGO: true DOTNET_CLI_TELEMETRY_OPTOUT: true - version: 0.0.${{ github.run_number }} - configuration: Release - namespace: Objectivity.AutoFixture.XUnit2 + Configuration: Release + Namespace: Objectivity.AutoFixture.XUnit2 + StrongNameKeyName: key.snk + CoverageDirectory: ${{ github.workspace }}\src\opencover defaults: run: - shell: bash + shell: pwsh jobs: - build: + init: runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.MATRIX }} + Version: ${{ steps.gitversion.outputs.MajorMinorPatch }} + steps: + - name: 🎰 prepare strategy matrix + id: set-matrix + run: | + $allModules = @{ + AutoMoq=if ('${{inputs.buildAutoMoq}}') { $${{inputs.buildAutoMoq}} } else { $true }; + AutoNSubstitute=if ('${{inputs.buildAutoNSubstitute}}') { $${{inputs.buildAutoNSubstitute}} } else { $true }; + AutoFakeItEasy=if ('${{inputs.buildAutoFakeItEasy}}') { $${{inputs.buildAutoFakeItEasy}} } else { $true } + } + $matrix = @{ + package_module = @(Foreach ($module in ($allModules.GetEnumerator() | Where-Object { $_.Value })) {$module.Name}) + } + "MATRIX=$($matrix | ConvertTo-JSON -Compress)" >> $env:GITHUB_OUTPUT + - name: 📥 checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 🗜️ install GitVersion + uses: gittools/actions/gitversion/setup@v0 + with: + versionSpec: "5.x" + - name: 🎱 determine version + id: gitversion + uses: gittools/actions/gitversion/execute@v0 + with: + useConfigFile: true + build: + needs: init + runs-on: windows-latest #We are using windows instead of ubuntu becaus it provides support for net472 & net48. timeout-minutes: 15 + env: + Version: ${{ needs.init.outputs.Version }} strategy: - matrix: - package_module: [AutoMoq, AutoNSubstitute, AutoFakeItEasy] + matrix: ${{ fromJSON(needs.init.outputs.matrix) }} steps: - - name: 🤘 checkout + - name: 📥 checkout uses: actions/checkout@v3 - - name: 🏭 prepare .NET - uses: actions/setup-dotnet@v3 with: - dotnet-version: 6.0.x + fetch-depth: 0 - name: 🖊️ materialize signing key - id: write_sign_key_file - uses: timheuer/base64-to-file@v1 - with: - fileName: 'private.snk' - encodedString: ${{ secrets.SIGNING_KEY }} + id: signing-key + run: | + $path = [IO.Path]::Combine("${{ github.workspace }}","src","${{ env.StrongNameKeyName }}") + [IO.File]::WriteAllBytes($path, [Convert]::FromBase64String("$env:StrongNameKey")) + "PATH=$path" >> $env:GITHUB_OUTPUT + env: + StrongNameKey: ${{ secrets.SIGNING_KEY }} - name: 🏗️ build - run: dotnet build ./src/${{ env.namespace }}.${{ matrix.package_module }}.sln -p:Version=${{ env.version }} -p:AssemblyVersion=${{ env.version }} + run: dotnet build ./src/${{ env.Namespace }}.${{ matrix.package_module }}.sln + env: + CI: true + StrongNameKey: ${{ secrets.SIGNING_KEY }} + StrongNameKeyPath: ${{ steps.signing-key.outputs.PATH }} + - name: 🧪 test Core in net7.0 & collect coverage + id: core-code-coverage + run: | + $path = [IO.Path]::Combine("$env:CoverageDirectory","$env:CoverageFileName.xml") + dotnet test ./src/${{ env.Namespace }}.Core.Tests/ --no-build -f $env:TargetFramework -e:CollectCoverage=true -e:CoverletOutputFormat=opencover -e:Exclude="[xunit*]*" -e:CoverletOutput=$path + "FILE=$env:CoverageFileName.$env:TargetFramework.xml" >> $env:GITHUB_OUTPUT env: - StrongNameKey: true #TODO: consider removing - StrongNameKeyPath: ${{ steps.write_sign_key_file.outputs.filePath }} - - name: 🧪 test net472 - run: dotnet test -f net472 --no-build --verbosity normal - - name: 🧪 test net48 - run: dotnet test -f net48 --no-build --verbosity normal - - name: 🧪 test net7.0 & collect coverage - run: dotnet test -f net7.0 --no-build --verbosity normal -e:CollectCoverage=true -e:CoverletOutputFormat=opencover -e:Exclude="[xunit*]*" -e:CoverletOutput=$coverletFile + CoverageFileName: ${{ env.Namespace }}.Core + TargetFramework: net7.0 + - name: 🧪 test Core in net472 + run: dotnet test ./src/${{ env.Namespace }}.Core.Tests/ --no-build -f net472 + - name: 🧪 test Core in net48 + run: dotnet test ./src/${{ env.Namespace }}.Core.Tests/ --no-build -f net48 + - name: 🧪 test ${{ matrix.package_module }} in net7.0 & collect coverage + id: module-code-coverage + run: | + $path = [IO.Path]::Combine("$env:CoverageDirectory","$env:CoverageFileName.xml") + dotnet test ./src/${{ env.Namespace }}.${{ matrix.package_module }}.Tests/ --no-build -f $env:TargetFramework -e:CollectCoverage=true -e:CoverletOutputFormat=opencover -e:Exclude="[xunit*]*" -e:CoverletOutput=$path + "FILE=$env:CoverageFileName.$env:TargetFramework.xml" >> $env:GITHUB_OUTPUT env: - coverletFile: "${{ github.workspace }}/src/opencover/${{ env.namespace }}.${{ matrix.package_module }}.xml" + CoverageFileName: ${{ env.Namespace }}.${{ matrix.package_module }} + TargetFramework: net7.0 + - name: 🧪 test ${{ matrix.package_module }} in net472 + run: dotnet test ./src/${{ env.Namespace }}.${{ matrix.package_module }}.Tests/ --no-build -f net472 + - name: 🧪 test ${{ matrix.package_module }} in net48 + run: dotnet test ./src/${{ env.Namespace }}.${{ matrix.package_module }}.Tests/ --no-build -f net48 - name: 📤 upload coverage reports to Codecov uses: codecov/codecov-action@v3 with: - files: "${{ github.workspace }}/src/opencover/${{ env.namespace }}.${{ matrix.package_module }}.xml" + token: ${{ secrets.CODECOV_TOKEN }} + files: ${{ steps.core-code-coverage.outputs.FILE }},${{ steps.module-code-coverage.outputs.FILE }} + directory: ${{ env.CoverageDirectory }} + flags: unittests - name: 📦 pack - run: dotnet pack ./src/${{ env.namespace }}.${{ matrix.package_module }} --no-restore -p:Version=${{ env.version }} -p:AssemblyVersion=${{ env.version }} -p:AssemblyFileVersion=${{ env.version }} -p:PackageVersion=${{ env.version }} - - name: 🔼 packages - uses: actions/upload-artifact@v2 + run: dotnet pack ./src/${{ env.Namespace }}.${{ matrix.package_module }} --no-restore + env: + CI: true + StrongNameKey: ${{ secrets.SIGNING_KEY }} + StrongNameKeyPath: ${{ steps.signing-key.outputs.PATH }} + - name: 🔼 upload packages + uses: actions/upload-artifact@v3 with: - name: bin - path: bin/*.nupkg + name: packages + path: ./src/**/*.nupkg publish: runs-on: ubuntu-latest timeout-minutes: 15 needs: [build] + environment: ${{ inputs.environment }} + if: ${{ inputs.environment != null }} + steps: + - name: 🔽 download packages + uses: actions/download-artifact@v3 + with: + name: packages + - name: 📤 push + run: dotnet nuget push **/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source "nuget.org" --skip-duplicate + add-tags: + runs-on: ubuntu-latest + timeout-minutes: 15 + needs: [publish, init] + if: ${{ github.ref == 'refs/heads/main' }} steps: - - name: 🤘 checkout + - name: 📥 checkout uses: actions/checkout@v3 - # TODO: Publish to NuGet \ No newline at end of file + with: + fetch-depth: 0 + - name: 🏷️ tag version + run: | + git tag "${{ needs.init.outputs.Version }}" + git push origin "${{ needs.init.outputs.Version }}" \ No newline at end of file diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 00000000..4f51a94f --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1 @@ +mode: ContinuousDelivery diff --git a/README.md b/README.md index c45d76bb..3cb14c88 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Objectivity.AutoFixture.XUnit2.AutoMock -[![Build Status](https://ci.appveyor.com/api/projects/status/github/ObjectivityLtd/AutoFixture.XUnit2.AutoMock?branch=master&svg=true)](https://ci.appveyor.com/project/ObjectivityAdminsTeam/autofixture-xunit2-automock) [![Tests Status](https://img.shields.io/appveyor/tests/ObjectivityAdminsTeam/autofixture-xunit2-automock/master.svg)](https://ci.appveyor.com/project/ObjectivityAdminsTeam/autofixture-xunit2-automock) [![codecov](https://codecov.io/gh/ObjectivityLtd/AutoFixture.XUnit2.AutoMock/branch/master/graph/badge.svg)](https://codecov.io/gh/ObjectivityLtd/AutoFixture.XUnit2.AutoMock) [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FObjectivityLtd%2FAutoFixture.XUnit2.AutoMock.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FObjectivityLtd%2FAutoFixture.XUnit2.AutoMock?ref=badge_shield) +[![CI/CD](https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock/actions/workflows/cicd.yml/badge.svg?branch=master)](https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock/actions/workflows/cicd.yml) [![codecov](https://codecov.io/gh/ObjectivityLtd/AutoFixture.XUnit2.AutoMock/branch/master/graph/badge.svg)](https://codecov.io/gh/ObjectivityLtd/AutoFixture.XUnit2.AutoMock) [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FObjectivityLtd%2FAutoFixture.XUnit2.AutoMock.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FObjectivityLtd%2FAutoFixture.XUnit2.AutoMock?ref=badge_shield) Accelerates preparation of mocked structures for unit tests under [XUnit2](http://xunit.github.io/) by configuring [AutoFixture](https://github.com/AutoFixture/AutoFixture) data generation to use a mocking library of your choice. Gracefully handles recursive structures by omitting recursions. diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 9f6d13f6..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,90 +0,0 @@ -version: 3.1.{build} -image: Visual Studio 2022 -skip_commits: - files: - - '**/*.md' -configuration: Release -init: -- ps: | - if ($env:APPVEYOR_REPO_TAG -eq "true") { - Update-AppveyorBuild -Version "$($env:APPVEYOR_REPO_TAG_NAME.split("-")[0])" - } -assembly_info: - patch: true - file: '**\GlobalAssemblyInfo.*' - assembly_version: '{version}' - assembly_file_version: '{version}' - assembly_informational_version: '{version}' -dotnet_csproj: - patch: true - file: '**\*.csproj' - version: '{version}' - package_version: '{version}' - assembly_version: '{version}' - file_version: '{version}' - informational_version: '{version}' -environment: - namespace: Objectivity.AutoFixture.XUnit2 - core_module: Core - cc: opencover - StrongNameKeyName: key.snk - StrongNameKeyPath: '' - StrongNameKey: - secure: emlT+pgXbc71fbq4lkrJcNaY+wQgMmK16MC2qS40MrHm45CV4MFayJMittYhcVjU2oySHyqIjnUhjxm7PmTdulxQ/E0vJFxbCaiQpyn97dF7f8S5UJz0dC3DT+YPZnXK7e9xxtnBdNJRaMVTj776PAyFECrTl4w2i38rhd6buyDSOrssaHPwBHZEwFpkgf3urdJY6P0Z5Yr6+PaMDFJ4osS8liOYACndhKi4M48sM0kGK46hahcig5Sg8SNTa9GstIJYn0j/mx7SYj+c8tpKF621tVyAl5/4tVsEGpcWizzGRSoQurv7jSTkg+m3Yht502TVsS8iD6Zr5DRJXZ4oVrtVMJlKYZsTZnSu3GyFlZYbRnFGBjEZ0igcdB7Iqx7DVJh5arTuqRHjLbZUYdALMXoic9JxmRmGe7hcGSvIWXSnGKUp0JWCfmHtH1b11SpgovLx2oe6izLwZqIqpwDASro+Iu/Fq0ortm0FgpKpsMZqUOm07yi5JgoiS+II/lX5LnrYxqnS58ynv/7rrz277jHY+py4NNmDwP1OVhQwqXfwKkV/aIA/eFpH4BgI6p8LbJHQ0Gz0NQhAhMhbn8HwMNLQKkudwh8eFzzyk3JMpqe9KOmtQqLXeq6WzEAYVT9mhVzKtzgi/SjlFZfUfNRyiXfniq0Te1cWllwmTCPOh6KK/rZJ0bPBDOjf+oi8V10/xqWqUl9gGYPSFzAFQ59AoThn+1tLWkqchj7GiWkkl0GM+0DpNXgZ9tb76aRb017R7KknewpIUvT6UCgBE7cs5HnXJZMlIwb28e7WreqGFrHIH12zh4e9wPc8igDjY/5SmyVz8ik5Dn0nczlFpQfpz/GHlYvtwSCbeOcieruvy02hxmzBEGCrhlo2SHQ3fzQFM9EWlvbxlrw4i98jtl3RJnr28OJx8Z766YFRw6hlnEWCfSEWUxYWKtqU0d/WxT43Z0YTpe1aDOoUtMhdSQFk9trzK34D/jpTGqt/8JnVznBukqg2/INvluFmo9QdpbyXVxtQaDI939MNXleocvfDcVrzDSNPsSW3xZazSfTkpO4= - matrix: - - package_module: AutoMoq - - package_module: AutoNSubstitute - - package_module: AutoFakeItEasy -install: -- ps: | - choco install codecov --no-progress - if ($env:StrongNameKey) { - Set-AppveyorBuildVariable "StrongNameKeyPath" "..\$env:StrongNameKeyName" - [IO.File]::WriteAllBytes("$env:APPVEYOR_BUILD_FOLDER\src\$env:StrongNameKeyName",[Convert]::FromBase64String($env:StrongNameKey)) - } -build_script: -- ps: | - $packageName = "$($env:namespace).$($env:package_module)" - Write-Host "Building package $($packageName)" -ForegroundColor Cyan - dotnet build ./src/$packageName.sln --nologo - Write-Host "Building package complete" -ForegroundColor Green - $packageVersion = if ($env:APPVEYOR_REPO_TAG -eq "true") {$env:APPVEYOR_REPO_TAG_NAME} else {$env:APPVEYOR_BUILD_VERSION} - Write-Host "Preparing package $($packageName) with $($packageVersion) version" -ForegroundColor Cyan - dotnet pack ./src/$packageName --no-restore --nologo -p:PackageVersion=$packageVersion - Write-Host "Preparing package complete" -ForegroundColor Green -test_script: -- ps: | - $modules = ($env:core_module, $env:package_module) - $frameworks = [ordered]@{ - 'net472' = $false - 'net48' = $false - 'net7.0' = $true - } - foreach ($module in $modules) { - $project = "$($env:namespace).$($module).Tests" - cd "$($env:APPVEYOR_BUILD_FOLDER)\src\$($project)" - foreach ($framework in $frameworks.GetEnumerator()) { - Write-Host "Running tests from $($project) against $($framework.Name) framework " -NoNewline -ForegroundColor Cyan - $collectCoverage = $framework.Value - if ($collectCoverage) { - Write-Host "collecting Code Coverage" -ForegroundColor Cyan - $coverletFile="$($env:APPVEYOR_BUILD_FOLDER)\src\$($env:cc)\$($env:namespace).$($module)" - # Use environment variables (-e) instead of build parameters (-p) because of the net7.0 issue: https://github.com/coverlet-coverage/coverlet/issues/1391 - dotnet test -f $framework.Name --no-restore --nologo -e:CollectCoverage=true -e:CoverletOutputFormat=$env:cc -e:Exclude="[xunit*]*" -e:CoverletOutput=$coverletFile.xml - codecov -f "$($coverletFile).$($framework.Name).xml" --flag unittests - } else { - Write-Host "without Code Coverage" -ForegroundColor Cyan - dotnet test -f $framework.Name --no-restore --nologo - } - Write-Host "Running tests from $($project) against $($framework.Name) framework complete" -ForegroundColor Green - } - } -artifacts: -- path: '**\*.nupkg' -deploy: -- provider: NuGet - api_key: - secure: 1B11kCpkL/nOEGkTdyzcUl1rwCp3++J29VdnyQpr9fEU5aEfkiM4lZfNXhDepAuD - on: - appveyor_repo_tag: true - skip_symbols: true \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props index d026caae..a935e045 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,5 +1,11 @@ - false + true + 1.0.0.0 + Objectivity Ltd + $(Company) + Copyright (c) $(Company) + $(AssemblyName) + $(AssemblyName) \ No newline at end of file diff --git a/src/GlobalAssemblyInfo.cs b/src/GlobalAssemblyInfo.cs deleted file mode 100644 index b75bdd41..00000000 --- a/src/GlobalAssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyCompany("Objectivity Ltd")] -[assembly: AssemblyCopyright("Copyright (c) Objectivity Ltd")] diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/.editorconfig b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/.editorconfig index bfa5967c..eb0c75a0 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/.editorconfig +++ b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/.editorconfig @@ -19,4 +19,6 @@ dotnet_diagnostic.RCS1090.severity = none # S3376: Attribute, EventArgs, and Exception type names should end with the type being extended. dotnet_diagnostic.S3376.severity = none # S4158: Empty collections should not be accessed or iterated. -dotnet_diagnostic.S4158.severity = none \ No newline at end of file +dotnet_diagnostic.S4158.severity = none +# S6608: Prefer indexing instead of "Enumerable" methods on types implementing "IList" +dotnet_diagnostic.S6608.severity = none \ No newline at end of file diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests.csproj b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests.csproj index 10c7b70b..01509649 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests.csproj @@ -22,6 +22,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -31,10 +43,6 @@ - - - - @@ -50,25 +58,25 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Properties/AssemblyInfo.cs index af2b00a2..f922f5a0 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests/Properties/AssemblyInfo.cs @@ -1,15 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] +using System.Runtime.InteropServices; // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.csproj b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.csproj index 1dab307c..13f0d5cc 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.csproj @@ -10,8 +10,8 @@ latest All true - True - True + true + true latest false @@ -25,12 +25,7 @@ See https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock/releases https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock.git git - 1.0.0 - Objectivity Ltd - $(Company) - Copyright (c) $(Company) - $(AssemblyName) - $(AssemblyName) + $(Version) Accelerates preparation of mocked structures for unit tests under xUnit2 by configuring AutoFixture data generation to use FakeItEasy. Gracefully handles recursive structures by omitting recursions. @@ -43,6 +38,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -55,10 +62,6 @@ - - - - @@ -71,7 +74,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -79,15 +82,15 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Properties/AssemblyInfo.cs index 67ba7906..10508e08 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.AutoFakeItEasy/Properties/AssemblyInfo.cs @@ -1,17 +1,6 @@ -using System.Reflection; -using System.Runtime.CompilerServices; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.AutoFakeItEasy")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.AutoFakeItEasy")] -[assembly: AssemblyDescription("Accelerates preparation of mocked structures for unit tests under xUnit2 by configuring AutoFixture data generation to use FakeItEasy. Gracefully handles recursive structures by omitting recursions.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - // Allow internals testing [assembly: InternalsVisibleTo("Objectivity.AutoFixture.XUnit2.AutoFakeItEasy.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001007d78e6d8daff3a54f2992121ba90ece3d21507654f93c2b2e1f581c8694e90422b41d380ae82a5aac57f065cf3c96d69e1886a8e714497b686091bcfc8f62ed9687ccb4bdf9e2208b9c88a827def3f70d68d51ef47c0b7250ae9c88d5b05c65c451228247655b4ac019413df487fef931ddd860fb31407c9b26f3039bef789bc")] diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/.editorconfig b/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/.editorconfig index bfa5967c..eb0c75a0 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/.editorconfig +++ b/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/.editorconfig @@ -19,4 +19,6 @@ dotnet_diagnostic.RCS1090.severity = none # S3376: Attribute, EventArgs, and Exception type names should end with the type being extended. dotnet_diagnostic.S3376.severity = none # S4158: Empty collections should not be accessed or iterated. -dotnet_diagnostic.S4158.severity = none \ No newline at end of file +dotnet_diagnostic.S4158.severity = none +# S6608: Prefer indexing instead of "Enumerable" methods on types implementing "IList" +dotnet_diagnostic.S6608.severity = none \ No newline at end of file diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests.csproj b/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests.csproj index fae3bfe4..9528141e 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests.csproj @@ -22,6 +22,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -32,10 +44,6 @@ - - - - @@ -51,25 +59,25 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Properties/AssemblyInfo.cs index ee328abe..44b5c0fe 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.AutoMoq.Tests/Properties/AssemblyInfo.cs @@ -1,15 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.AutoMoq.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.AutoMoq.Tests")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] +using System.Runtime.InteropServices; // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Objectivity.AutoFixture.XUnit2.AutoMoq.csproj b/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Objectivity.AutoFixture.XUnit2.AutoMoq.csproj index 23132f6b..0ababb08 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Objectivity.AutoFixture.XUnit2.AutoMoq.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Objectivity.AutoFixture.XUnit2.AutoMoq.csproj @@ -10,8 +10,8 @@ latest All true - True - True + true + true latest false @@ -25,12 +25,7 @@ See https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock/releases https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock.git git - 1.0.0 - Objectivity Ltd - $(Company) - Copyright (c) $(Company) - $(AssemblyName) - $(AssemblyName) + $(Version) Accelerates preparation of mocked structures for unit tests under xUnit2 by configuring AutoFixture data generation to use Moq. Gracefully handles recursive structures by omitting recursions. @@ -43,6 +38,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -55,10 +62,6 @@ - - - - @@ -70,7 +73,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -79,15 +82,15 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Properties/AssemblyInfo.cs index 74ebf9be..884072c0 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.AutoMoq/Properties/AssemblyInfo.cs @@ -1,17 +1,6 @@ -using System.Reflection; -using System.Runtime.CompilerServices; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.AutoMoq")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.AutoMoq")] -[assembly: AssemblyDescription("Accelerates preparation of mocked structures for unit tests under xUnit2 by configuring AutoFixture data generation to use Moq. Gracefully handles recursive structures by omitting recursions.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - // Allow internals testing [assembly: InternalsVisibleTo("Objectivity.AutoFixture.XUnit2.AutoMoq.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001007d78e6d8daff3a54f2992121ba90ece3d21507654f93c2b2e1f581c8694e90422b41d380ae82a5aac57f065cf3c96d69e1886a8e714497b686091bcfc8f62ed9687ccb4bdf9e2208b9c88a827def3f70d68d51ef47c0b7250ae9c88d5b05c65c451228247655b4ac019413df487fef931ddd860fb31407c9b26f3039bef789bc")] diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/.editorconfig b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/.editorconfig index bfa5967c..eb0c75a0 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/.editorconfig +++ b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/.editorconfig @@ -19,4 +19,6 @@ dotnet_diagnostic.RCS1090.severity = none # S3376: Attribute, EventArgs, and Exception type names should end with the type being extended. dotnet_diagnostic.S3376.severity = none # S4158: Empty collections should not be accessed or iterated. -dotnet_diagnostic.S4158.severity = none \ No newline at end of file +dotnet_diagnostic.S4158.severity = none +# S6608: Prefer indexing instead of "Enumerable" methods on types implementing "IList" +dotnet_diagnostic.S6608.severity = none \ No newline at end of file diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests.csproj b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests.csproj index 04230faf..f0a08daa 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests.csproj @@ -22,6 +22,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -31,10 +43,6 @@ - - - - @@ -50,25 +58,25 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Properties/AssemblyInfo.cs index 2ad5cbc9..8a4f007e 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests/Properties/AssemblyInfo.cs @@ -1,15 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] +using System.Runtime.InteropServices; // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.csproj b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.csproj index 8fb7fc64..34168a49 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Objectivity.AutoFixture.XUnit2.AutoNSubstitute.csproj @@ -10,8 +10,8 @@ latest All true - True - True + true + true latest false @@ -25,12 +25,7 @@ See https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock/releases https://github.com/ObjectivityLtd/AutoFixture.XUnit2.AutoMock.git git - 1.0.0 - Objectivity Ltd - $(Company) - Copyright (c) $(Company) - $(AssemblyName) - $(AssemblyName) + $(Version) Accelerates preparation of mocked structures for unit tests under xUnit2 by configuring AutoFixture data generation to use NSubstitute. Gracefully handles recursive structures by omitting recursions. @@ -43,6 +38,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -55,10 +62,6 @@ - - - - @@ -70,7 +73,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -79,15 +82,15 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Properties/AssemblyInfo.cs index f4a2cc09..10088bed 100644 --- a/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.AutoNSubstitute/Properties/AssemblyInfo.cs @@ -1,17 +1,6 @@ -using System.Reflection; -using System.Runtime.CompilerServices; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.AutoNSubstitute")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.AutoNSubstitute")] -[assembly: AssemblyDescription("Accelerates preparation of mocked structures for unit tests under xUnit2 by configuring AutoFixture data generation to use NSubstitute. Gracefully handles recursive structures by omitting recursions.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - // Allow internals testing [assembly: InternalsVisibleTo("Objectivity.AutoFixture.XUnit2.AutoNSubstitute.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001007d78e6d8daff3a54f2992121ba90ece3d21507654f93c2b2e1f581c8694e90422b41d380ae82a5aac57f065cf3c96d69e1886a8e714497b686091bcfc8f62ed9687ccb4bdf9e2208b9c88a827def3f70d68d51ef47c0b7250ae9c88d5b05c65c451228247655b4ac019413df487fef931ddd860fb31407c9b26f3039bef789bc")] diff --git a/src/Objectivity.AutoFixture.XUnit2.Core.Tests/.editorconfig b/src/Objectivity.AutoFixture.XUnit2.Core.Tests/.editorconfig index bfa5967c..eb0c75a0 100644 --- a/src/Objectivity.AutoFixture.XUnit2.Core.Tests/.editorconfig +++ b/src/Objectivity.AutoFixture.XUnit2.Core.Tests/.editorconfig @@ -19,4 +19,6 @@ dotnet_diagnostic.RCS1090.severity = none # S3376: Attribute, EventArgs, and Exception type names should end with the type being extended. dotnet_diagnostic.S3376.severity = none # S4158: Empty collections should not be accessed or iterated. -dotnet_diagnostic.S4158.severity = none \ No newline at end of file +dotnet_diagnostic.S4158.severity = none +# S6608: Prefer indexing instead of "Enumerable" methods on types implementing "IList" +dotnet_diagnostic.S6608.severity = none \ No newline at end of file diff --git a/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Objectivity.AutoFixture.XUnit2.Core.Tests.csproj b/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Objectivity.AutoFixture.XUnit2.Core.Tests.csproj index f01b11dd..3ba7d245 100644 --- a/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Objectivity.AutoFixture.XUnit2.Core.Tests.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Objectivity.AutoFixture.XUnit2.Core.Tests.csproj @@ -22,6 +22,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -31,10 +43,6 @@ - - - - @@ -49,25 +57,25 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Properties/AssemblyInfo.cs index afd4c711..73e5c0df 100644 --- a/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.Core.Tests/Properties/AssemblyInfo.cs @@ -1,15 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.Core.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.Core.Tests")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] +using System.Runtime.InteropServices; // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from diff --git a/src/Objectivity.AutoFixture.XUnit2.Core/Objectivity.AutoFixture.XUnit2.Core.csproj b/src/Objectivity.AutoFixture.XUnit2.Core/Objectivity.AutoFixture.XUnit2.Core.csproj index d6f25afe..0e3de614 100644 --- a/src/Objectivity.AutoFixture.XUnit2.Core/Objectivity.AutoFixture.XUnit2.Core.csproj +++ b/src/Objectivity.AutoFixture.XUnit2.Core/Objectivity.AutoFixture.XUnit2.Core.csproj @@ -21,6 +21,18 @@ $(StrongNameKeyPath) + + + true + $(NoWarn),1573,1591,1712 + + @@ -32,10 +44,6 @@ - - - - @@ -44,7 +52,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -52,15 +60,15 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Objectivity.AutoFixture.XUnit2.Core/Properties/AssemblyInfo.cs b/src/Objectivity.AutoFixture.XUnit2.Core/Properties/AssemblyInfo.cs index cdf78de1..5b13798b 100644 --- a/src/Objectivity.AutoFixture.XUnit2.Core/Properties/AssemblyInfo.cs +++ b/src/Objectivity.AutoFixture.XUnit2.Core/Properties/AssemblyInfo.cs @@ -1,17 +1,6 @@ -using System.Reflection; -using System.Runtime.CompilerServices; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Objectivity.AutoFixture.XUnit2.Core")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("Objectivity.AutoFixture.XUnit2.Core")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - // Allow internals testing [assembly: InternalsVisibleTo("Objectivity.AutoFixture.XUnit2.Core.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001007d78e6d8daff3a54f2992121ba90ece3d21507654f93c2b2e1f581c8694e90422b41d380ae82a5aac57f065cf3c96d69e1886a8e714497b686091bcfc8f62ed9687ccb4bdf9e2208b9c88a827def3f70d68d51ef47c0b7250ae9c88d5b05c65c451228247655b4ac019413df487fef931ddd860fb31407c9b26f3039bef789bc")]