Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .github/workflows/netcore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,14 @@ jobs:
run: dotnet build ./EasyScrutor.sln --configuration Release --no-restore

- name: Test
run: dotnet test ./EasyScrutor.sln --configuration Release --no-build --verbosity normal
run: dotnet test ./EasyScrutor.sln --configuration Release --no-build --verbosity normal --collect:"XPlat Code Coverage" --results-directory ./TestResults

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: ./TestResults/**/coverage.cobertura.xml
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}

- name: Pack
run: dotnet pack ./src/EasyScrutor/EasyScrutor.csproj -c Release --no-build -o ./packages
Expand Down
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,28 @@

* add missing benefit point to documentation ([bcca87f](https://github.com/alexdresko/EasyScrutor/commit/bcca87f7ec6f013b7aae7140e5cc8054447fae35))
* add missing benefit point to documentation ([acf0ac6](https://github.com/alexdresko/EasyScrutor/commit/acf0ac62ed9a1f75dc33bb675d80553c835ae328))

---

## Major Changes Since Fork

The following are the major changes made since forking from [Scrutor.AspNetCore](https://github.com/sefacan/Scrutor.AspNetCore):

- **Project renamed** from Scrutor.AspNetCore to **EasyScrutor** to better reflect its purpose and remove misleading framework-specific naming
- **Removed service locator pattern** implementation (anti-pattern) and all ASP.NET Core-specific dependencies, making the library compatible with any .NET application using dependency injection
- **Multi-framework support**: Added support for .NET 8.0, 9.0, and 10.0 target frameworks
- **Complete test coverage**: Added comprehensive NUnit test suite with 43 tests across 6 test classes covering all lifetime marker interfaces
- **Example applications**: Created working examples for ASP.NET Core (Blazor Server, MVC, Web API) and console/worker services demonstrating the library works with any .NET application
- **Advanced filtering documentation**: Added comprehensive documentation on assembly filtering for performance optimization
- **Developer experience improvements**:
- Added .editorconfig and dotnet format support
- Added C# Copilot instructions
- XML documentation comments for all public APIs
- Created package.json for easy task automation
- **CI/CD improvements**: Updated GitHub Actions workflows to latest versions, added Release Please automation for semantic versioning
- **Code quality improvements**: Fixed code scanning alerts (proper LINQ usage, resource disposal, variable assignments)
- **Code formatting standardization**: Configured consistent line endings and added formatting verification to CI workflows
- **Community health files**: Added CODE_OF_CONDUCT.md and CONTRIBUTING.md
- **Enhanced NuGet package**: Added package icon, README inclusion, and improved metadata with automatic release notes
- **Build quality improvements**: Enabled Source Link (allows developers to step into the library source code during debugging), deterministic builds (ensures identical binaries across different machines for security and verification), embedded debugging symbols, and proper compiler flags for optimal builds and diagnostics
- Maintained backward compatibility with all six lifetime marker interfaces (IScopedLifetime, ITransientLifetime, ISingletonLifetime, and their Self* variants)
24 changes: 2 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ The original project was created by [sefacan](https://github.com/sefacan) and pr
| Build server | Platform | Status |
|-----------------|----------------|-------------|
| Github Actions | All | ![Build Status](https://github.com/alexdresko/EasyScrutor/workflows/.NET%20Core%20CI/badge.svg) |
| Code Coverage | All | [![codecov](https://codecov.io/gh/alexdresko/EasyScrutor/branch/master/graph/badge.svg)](https://codecov.io/gh/alexdresko/EasyScrutor) |
| NuGet | Package | [![NuGet](https://img.shields.io/nuget/v/EasyScrutor.svg)](https://www.nuget.org/packages/EasyScrutor/) |
| NuGet | Downloads | [![NuGet Downloads](https://img.shields.io/nuget/dt/EasyScrutor.svg)](https://www.nuget.org/packages/EasyScrutor/) |
| GitHub | Release | [![GitHub Release](https://img.shields.io/github/release/alexdresko/EasyScrutor.svg)](https://github.com/alexdresko/EasyScrutor/releases) |
Expand Down Expand Up @@ -208,25 +209,4 @@ We welcome contributions! Please read our [CONTRIBUTING.md](CONTRIBUTING.md) gui

## Changelog

Major changes made since forking from [Scrutor.AspNetCore](https://github.com/sefacan/Scrutor.AspNetCore):

- **Project renamed** from Scrutor.AspNetCore to **EasyScrutor** to better reflect its purpose and remove misleading framework-specific naming
- **Removed service locator pattern** implementation (anti-pattern) and all ASP.NET Core-specific dependencies, making the library compatible with any .NET application using dependency injection
- **Multi-framework support**: Added support for .NET 8.0, 9.0, and 10.0 target frameworks
- **Complete test coverage**: Added comprehensive NUnit test suite with 43 tests across 6 test classes covering all lifetime marker interfaces
- **Example applications**: Created working examples for ASP.NET Core (Blazor Server, MVC, Web API) and console/worker services demonstrating the library works with any .NET application
- **Advanced filtering documentation**: Added comprehensive documentation on assembly filtering for performance optimization
- **Developer experience improvements**:
- Added .editorconfig and dotnet format support
- Added C# Copilot instructions
- XML documentation comments for all public APIs
- Created package.json for easy task automation
- **CI/CD improvements**: Updated GitHub Actions workflows to latest versions, added Release Please automation for semantic versioning
- **Code quality improvements**: Fixed code scanning alerts (proper LINQ usage, resource disposal, variable assignments)
- **Code formatting standardization**: Configured consistent line endings and added formatting verification to CI workflows
- **Community health files**: Added CODE_OF_CONDUCT.md and CONTRIBUTING.md
- **Enhanced NuGet package**: Added package icon, README inclusion, and improved metadata with automatic release notes
- **Build quality improvements**: Enabled Source Link for debugging support, deterministic builds for reproducibility, and proper compiler flags
- Maintained backward compatibility with all six lifetime marker interfaces (IScopedLifetime, ITransientLifetime, ISingletonLifetime, and their Self* variants)

Hello
See [CHANGELOG.md](CHANGELOG.md) for the complete version history and detailed list of changes since forking from [Scrutor.AspNetCore](https://github.com/sefacan/Scrutor.AspNetCore).
68 changes: 0 additions & 68 deletions azure-pipelines.yml

This file was deleted.

9 changes: 9 additions & 0 deletions tests/EasyScrutor.Tests/EasyScrutor.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@
<IsTestProject>true</IsTestProject>
</PropertyGroup>

<!-- Code Coverage Configuration -->
<PropertyGroup>
<CollectCoverage>true</CollectCoverage>
<CoverletOutputFormat>opencover,cobertura</CoverletOutputFormat>
<CoverletOutput>./TestResults/</CoverletOutput>
<Exclude>[*.Tests]*</Exclude>
<ExcludeByAttribute>Obsolete,GeneratedCodeAttribute,CompilerGeneratedAttribute</ExcludeByAttribute>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="NUnit" Version="4.3.0" />
Expand Down
Loading