diff --git a/.github/workflows/nuget_push.yml b/.github/workflows/nuget_push.yml new file mode 100644 index 0000000..c2f3e29 --- /dev/null +++ b/.github/workflows/nuget_push.yml @@ -0,0 +1,37 @@ +name: NuGet Push + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + + - name: Restore dependencies + run: dotnet restore ./src + + - name: Build + run: dotnet build ./src --no-restore --configuration Release + + - name: Pack NuGet Package(s) + run: dotnet pack ./src --no-restore --no-build --configuration Release --output ./nuget-packages + + - name: Upload Build Artifact(s) + uses: actions/upload-artifact@v4 + with: + name: nuget-packages + path: ./nuget-packages + + - name: Push NuGet Package(s) + run: dotnet nuget push ./nuget-packages/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate + env: + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} diff --git a/LICENSE b/LICENSE index 224e8e4..efac5cf 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Marlon +Copyright (c) 2024 NotOfficer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md new file mode 100644 index 0000000..f2f0b09 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +
+ +# Utils + +Utils for .NET + +[![GitHub release](https://img.shields.io/github/v/release/NotOfficer/Utils?logo=github)](https://github.com/NotOfficer/Utils/releases/latest) [![Nuget](https://img.shields.io/nuget/v/OffiUtils?logo=nuget)](https://www.nuget.org/packages/OffiUtils) ![Nuget DLs](https://img.shields.io/nuget/dt/OffiUtils?logo=nuget) [![GitHub issues](https://img.shields.io/github/issues/NotOfficer/Utils?logo=github)](https://github.com/NotOfficer/Utils/issues) [![GitHub License](https://img.shields.io/github/license/NotOfficer/Utils)](https://github.com/NotOfficer/Utils/blob/master/LICENSE) + +
+ +### NuGet + +```md +Install-Package OffiUtils +``` diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..0af6747 Binary files /dev/null and b/icon.png differ diff --git a/src/OffiUtils.Tests/JsonUtilsTests.cs b/src/OffiUtils.Tests/JsonUtilsTests.cs index 3b7d520..335065e 100644 --- a/src/OffiUtils.Tests/JsonUtilsTests.cs +++ b/src/OffiUtils.Tests/JsonUtilsTests.cs @@ -18,4 +18,4 @@ public void TryUnescape() var result = JsonUtils.GetUnescapedString(escapedBytes); Assert.Equal(unescaped.Replace("\r", ""), result); } -} \ No newline at end of file +} diff --git a/src/OffiUtils.Tests/MemoryUtilsTests.cs b/src/OffiUtils.Tests/MemoryUtilsTests.cs index afbb76f..4065177 100644 --- a/src/OffiUtils.Tests/MemoryUtilsTests.cs +++ b/src/OffiUtils.Tests/MemoryUtilsTests.cs @@ -12,4 +12,4 @@ public void AsSpan() span.Fill(0x69_240); Assert.All(array, x => Assert.Equal(0x69_240, x)); } -} \ No newline at end of file +} diff --git a/src/OffiUtils.Tests/OffiUtils.Tests.csproj b/src/OffiUtils.Tests/OffiUtils.Tests.csproj index 3c8beac..b84750e 100644 --- a/src/OffiUtils.Tests/OffiUtils.Tests.csproj +++ b/src/OffiUtils.Tests/OffiUtils.Tests.csproj @@ -1,7 +1,7 @@ - net7.0 + net8.0 enable enable @@ -10,13 +10,13 @@ - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/src/OffiUtils.Tests/StringUtilsTests.cs b/src/OffiUtils.Tests/StringUtilsTests.cs index 8c44d60..76f8952 100644 --- a/src/OffiUtils.Tests/StringUtilsTests.cs +++ b/src/OffiUtils.Tests/StringUtilsTests.cs @@ -85,4 +85,4 @@ public void ToUpper() StringUtils.ToUpperAsciiInvariant(str); Assert.Equal("ABC", str); } -} \ No newline at end of file +} diff --git a/src/OffiUtils/Delegates.cs b/src/OffiUtils/Delegates.cs index 82e7140..2529a0e 100644 --- a/src/OffiUtils/Delegates.cs +++ b/src/OffiUtils/Delegates.cs @@ -2,4 +2,4 @@ internal delegate string FastAllocateStringDelegate(int length); internal delegate ref char GetRawStringDataDelegate(string instance); -internal delegate bool TryUnescapeDelegate(ReadOnlySpan source, Span destination, out int written); \ No newline at end of file +internal delegate bool TryUnescapeDelegate(ReadOnlySpan source, Span destination, out int written); diff --git a/src/OffiUtils/JsonUtils.cs b/src/OffiUtils/JsonUtils.cs index e6c6c19..0fc713d 100644 --- a/src/OffiUtils/JsonUtils.cs +++ b/src/OffiUtils/JsonUtils.cs @@ -48,4 +48,4 @@ public static string GetUnescapedString(ReadOnlySpan utf8Source) return utf8String; } -} \ No newline at end of file +} diff --git a/src/OffiUtils/MemoryUtils.cs b/src/OffiUtils/MemoryUtils.cs index 8f73c04..a6038a8 100644 --- a/src/OffiUtils/MemoryUtils.cs +++ b/src/OffiUtils/MemoryUtils.cs @@ -29,4 +29,4 @@ public static Span AsSpan(ReadOnlySpan readonlySpan) ref var reference = ref MemoryMarshal.GetReference(readonlySpan); return MemoryMarshal.CreateSpan(ref reference, readonlySpan.Length); } -} \ No newline at end of file +} diff --git a/src/OffiUtils/OffiUtils.csproj b/src/OffiUtils/OffiUtils.csproj index e8e070c..0442457 100644 --- a/src/OffiUtils/OffiUtils.csproj +++ b/src/OffiUtils/OffiUtils.csproj @@ -1,10 +1,37 @@ - net7.0 + net8.0 enable enable true + + true + NotOfficer + NotOfficer + Utils for .NET + Copyright (c) 2024 NotOfficer + LICENSE + https://github.com/NotOfficer/Utils + icon.png + https://github.com/NotOfficer/Utils + git + utils + 1.0.0.0 + 1.0.0.0 + 1.0.0 + en + + + True + + + + True + + + + diff --git a/src/OffiUtils/StringUtils.cs b/src/OffiUtils/StringUtils.cs index ab26bc8..bf24912 100644 --- a/src/OffiUtils/StringUtils.cs +++ b/src/OffiUtils/StringUtils.cs @@ -147,4 +147,4 @@ public static string RealClone(string value) value.AsSpan().CopyTo(GetSpan(clone)); return clone; } -} \ No newline at end of file +}