14 Commits

5 changed files with 100 additions and 17 deletions

View File

@@ -16,6 +16,7 @@ on:
jobs: jobs:
build: build:
name: Build name: Build
runs-on: linux
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
@@ -23,7 +24,12 @@ jobs:
uses: actions/setup-dotnet@v4 uses: actions/setup-dotnet@v4
with: with:
dotnet-version: 8.0.x dotnet-version: 8.0.x
- name: Add package source
run: dotnet nuget add source --name gitea --username SimpleToolkit --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text https://repos.mateuszskoczek.com/api/packages/SimpleToolkit/nuget/index.json
- name: Restore dependencies - name: Restore dependencies
run: dotnet restore run: dotnet restore
- name: Build - name: Build
run: dotnet build --no-restore run: dotnet build --no-restore
- name: Create NuGet package
run: dotnet pack -c Debug --output ./

View File

@@ -1,4 +1,4 @@
name: Build and publish app name: Build and publish package
on: on:
workflow_dispatch: workflow_dispatch:
@@ -13,6 +13,7 @@ on:
jobs: jobs:
build: build:
name: Build name: Build
runs-on: linux
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
@@ -20,12 +21,15 @@ jobs:
uses: actions/setup-dotnet@v4 uses: actions/setup-dotnet@v4
with: with:
dotnet-version: 8.0.x dotnet-version: 8.0.x
- name: Add package source
run: dotnet nuget add source --name gitea --username SimpleToolkit --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text https://repos.mateuszskoczek.com/api/packages/SimpleToolkit/nuget/index.json
- name: Restore dependencies - name: Restore dependencies
run: dotnet restore run: dotnet restore
- name: Build - name: Build
run: dotnet build --no-restore run: dotnet build --no-restore
version: version:
name: Determine version name: Determine version
runs-on: linux
needs: build needs: build
steps: steps:
- name: Checkout - name: Checkout
@@ -49,6 +53,7 @@ jobs:
version: ${{ steps.gitversion.outputs.SemVer }} version: ${{ steps.gitversion.outputs.SemVer }}
pack: pack:
name: Pack name: Pack
runs-on: linux
needs: version needs: version
steps: steps:
- name: Checkout - name: Checkout
@@ -57,6 +62,8 @@ jobs:
uses: actions/setup-dotnet@v3 uses: actions/setup-dotnet@v3
with: with:
dotnet-version: 8.0.x dotnet-version: 8.0.x
- name: Add package source
run: dotnet nuget add source --name gitea --username SimpleToolkit --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text https://repos.mateuszskoczek.com/api/packages/SimpleToolkit/nuget/index.json
- name: Create NuGet package - name: Create NuGet package
run: dotnet pack -c Release -p:Version=${{needs.version.outputs.version}} -p:PackageVersion=${{needs.version.outputs.version}} --output ./ run: dotnet pack -c Release -p:Version=${{needs.version.outputs.version}} -p:PackageVersion=${{needs.version.outputs.version}} --output ./
- name: Upload artifact - name: Upload artifact
@@ -68,6 +75,7 @@ jobs:
version: ${{needs.version.outputs.version}} version: ${{needs.version.outputs.version}}
publish: publish:
name: Publish name: Publish
runs-on: linux
needs: pack needs: pack
steps: steps:
- name: Download artifact - name: Download artifact
@@ -79,8 +87,10 @@ jobs:
uses: actions/setup-dotnet@v3 uses: actions/setup-dotnet@v3
with: with:
dotnet-version: 8.0.x dotnet-version: 8.0.x
- name: Add package source
run: dotnet nuget add source --name gitea --username SimpleToolkit --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text https://repos.mateuszskoczek.com/api/packages/SimpleToolkit/nuget/index.json
- name: Publish - name: Publish
run: dotnet nuget push ./SimpleToolkit.Extensions.${{needs.pack.outputs.version}}.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} run: dotnet nuget push ./SimpleToolkit.Extensions.${{needs.pack.outputs.version}}.nupkg --source gitea --api-key ${{ secrets.PACKAGES_WRITE_TOKEN }} --skip-duplicate
- name: Create Release - name: Create Release
uses: akkuman/gitea-release-action@v1 uses: akkuman/gitea-release-action@v1
with: with:

View File

@@ -8,6 +8,13 @@
--- ---
## Informations
> [!Important]
> **For Github users:**
>
> This is only mirror repository. All changes are first uploaded to the repository <a href="https://repos.mateuszskoczek.com/SimpleToolkit/SimpleToolkit.Extensions">here</a>. Releases are also published on original repository. However, Github repository handles issues and pull requests for better accessibility.
## NuGet registry status ## NuGet registry status
<table> <table>
@@ -24,7 +31,7 @@
<b>SimpleToolkit.Extensions</b> <b>SimpleToolkit.Extensions</b>
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.Extensions/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.Extensions.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.extensions/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.Extensions?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -37,7 +44,7 @@
SimpleToolkit.Attributes SimpleToolkit.Attributes
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.Attributes/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.Attributes.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.attributes/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.Attributes?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -45,7 +52,7 @@
SimpleToolkit.MVVM SimpleToolkit.MVVM
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.MVVM/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.MVVM.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.mvvm/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.MVVM?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -53,7 +60,7 @@
SimpleToolkit.UI.Models SimpleToolkit.UI.Models
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.UI.Models/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.UI.Models.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.models/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.Models?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -61,7 +68,7 @@
SimpleToolkit.UI.WinUI.Behaviors SimpleToolkit.UI.WinUI.Behaviors
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.UI.WinUI.Behaviors/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.UI.WinUI.Behaviors.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.behaviors/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Behaviors?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -69,7 +76,7 @@
SimpleToolkit.UI.WinUI.Converters SimpleToolkit.UI.WinUI.Converters
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.UI.WinUI.Converters/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.UI.WinUI.Converters.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.converters/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Converters?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -77,7 +84,7 @@
SimpleToolkit.UI.WinUI.Controls SimpleToolkit.UI.WinUI.Controls
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.UI.WinUI.Controls/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.UI.WinUI.Controls.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.controls/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Controls?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -85,7 +92,7 @@
SimpleToolkit.UI.WinUI.Helpers SimpleToolkit.UI.WinUI.Helpers
</td> </td>
<td> <td>
<a href="https://www.nuget.org/packages/SimpleToolkit.UI.WinUI.Helpers/"><img src="https://img.shields.io/nuget/v/SimpleToolkit.UI.WinUI.Helpers.svg?style=flat-square"></a> <a href="https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.helpers/"><img src="https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Helpers?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget"></a>
</td> </td>
</tr> </tr>
</table> </table>
@@ -104,18 +111,19 @@
## Installation and usage ## Installation and usage
You can download package from official NuGet registry or .nupkg file itself from Releases tab. To download package from organization package registry, you have to add new NuGet package source. You will need access details, which you can obtain by contacting the repository owner. You can also download .nupkg file from repository Releases page.
**CLI:** **CLI:**
``` ```
dotnet add package SimpleToolkit.Extensions dotnet nuget add source --name SimpleToolkit --username <username> --password <password> https://repos.mateuszskoczek.com/api/packages/SimpleToolkit/nuget/index.json
dotnet add package --source SimpleToolikt SimpleToolkit.Extensions
``` ```
**Package reference in .csproj file:** **Package reference in .csproj file:**
``` ```
<PackageReference Include="SimpleToolkit.Extensions" Version="*.*.*" /> <PackageReference Include="SimpleToolkit.Extensions" Version="<version>" />
``` ```
## Attribution and contribution ## Attribution and contribution

View File

@@ -0,0 +1,59 @@
# SimpleToolkit.Extensions
### Set of helpers, class extensions, UI controls used in my other C# projects
SimpleToolkit is package of useful classes, helpers, extensions and UI controls, I use in my C# projects. Extensions subpackage contains classes extensions.
---
## NuGet registry status
| Subpackage | Status |
|-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **SimpleToolkit.Extensions** | [![NuGet version (SimpleToolkit.Extensions)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.Extensions?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.extensions/) |
| SimpleToolkit.Attributes | [![NuGet version (SimpleToolkit.Attributes)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.Attributes?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.attributes/) |
| SimpleToolkit.MVVM | [![NuGet version (SimpleToolkit.MVVM)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.MVVM?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.mvvm/) |
| SimpleToolkit.UI.Models | [![NuGet version (SimpleToolkit.UI.Models)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.Models?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.models/) |
| SimpleToolkit.UI.WinUI.Behaviors | [![NuGet version (SimpleToolkit.UI.WinUI.Behaviors)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Behaviors?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.behaviors/) |
| SimpleToolkit.UI.WinUI.Converters | [![NuGet version (SimpleToolkit.UI.WinUI.Converters)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Converters?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.converters/) |
| SimpleToolkit.UI.WinUI.Controls | [![NuGet version (SimpleToolkit.UI.WinUI.Controls)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Controls?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.controls/) |
| SimpleToolkit.UI.WinUI.Helpers | [![NuGet version (SimpleToolkit.UI.WinUI.Helpers)](https://img.shields.io/gitea/v/release/SimpleToolkit/SimpleToolkit.UI.WinUI.Helpers?gitea_url=https%3A%2F%2Frepos.mateuszskoczek.com%2F&display_name=release&label=nuget)](https://repos.mateuszskoczek.com/SimpleToolkit/-/packages/nuget/simpletoolkit.ui.winui.helpers/) |
## Features
- **StringExtensions**
- *(static)* **CreateRandom** - returns random string
- **Shuffle** - returns shuffled string
- **HttpClientExtensions**
- **DownloadAsync** - allows to track progress of downloading data
- **StreamExtensions**
- **CopyToAsync** - allows to track progress of copying data
- **IEnumerableExtensions**
- **Random** - returns random item from IEnumerable
## Installation and usage
To download package from organization package registry, you have to add new NuGet package source. You will need access details, which you can obtain by contacting the repository owner. You can also download .nupkg file from repository Releases page.
**CLI:**
```
dotnet nuget add source --name SimpleToolkit --username <username> --password <password> https://repos.mateuszskoczek.com/api/packages/SimpleToolkit/nuget/index.json
dotnet add package --source SimpleToolikt SimpleToolkit.Extensions
```
**Package reference in .csproj file:**
```
<PackageReference Include="SimpleToolkit.Extensions" Version="<version>" />
```
## Attribution and contribution
This project is open source on MIT License, so you can just copy and upload again to your repository. But according to the license, you must include information about the original author. You can find license [here](https://repos.mateuszskoczek.com/SimpleToolkit/SimpleToolkit.Extensions/src/branch/main/LICENSE).
However, the preferred way to contribute would be to propose improvements in a pull request, through issues, or through other means of communication.
**Other sources:**
- Icon by [Icons8](icons8.com)

View File

@@ -12,6 +12,7 @@
<PackageIcon>icon.png</PackageIcon> <PackageIcon>icon.png</PackageIcon>
<RepositoryUrl>https://repos.mateuszskoczek.com/SimpleToolkit/SimpleToolkit.Extensions</RepositoryUrl> <RepositoryUrl>https://repos.mateuszskoczek.com/SimpleToolkit/SimpleToolkit.Extensions</RepositoryUrl>
<Description>Set of helpers, class extensions, UI controls used in my other C# projects - Class extensions </Description> <Description>Set of helpers, class extensions, UI controls used in my other C# projects - Class extensions </Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@@ -19,10 +20,9 @@
<Pack>True</Pack> <Pack>True</Pack>
<PackagePath></PackagePath> <PackagePath></PackagePath>
</None> </None>
<None Include="..\README.md"> <None Update="README.md">
<Pack>True</Pack> <Pack>True</Pack>
<PackagePath>\</PackagePath> <PackagePath></PackagePath>
</None> </None>
</ItemGroup> </ItemGroup>
</Project> </Project>