From a35e042db814dc71eb5375baa4b36c6a53f624e3 Mon Sep 17 00:00:00 2001 From: JeanxPereira Date: Mon, 8 Jun 2026 19:55:03 -0300 Subject: [PATCH] chore: package ReCap.CommonUI as a NuGet library (org CI/CD standard) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Makes the library publishable to the org GitHub Packages feed and consumable as a PackageReference (instead of a vendored project), part of the org-wide move from submodules/clones to NuGet packages. - build/avalonia.props: Avalonia.Desktop + Avalonia.Diagnostics are now app-host/dev-only (gated to OutputType Exe/WinExe), so they are no longer dependencies of the redistributable library. The demo (WinExe) still gets them. Library deps are now Avalonia, Avalonia.ReactiveUI, Avalonia.Themes.Fluent. - Directory.Build.props: org standard — MinVer (tag-driven versioning), SourceLink, deterministic + embedded PDBs, package metadata (MIT, author Splitwirez). Dropped the static AssemblyVersion (MinVer manages it). - src/ReCap.CommonUI.csproj: IsPackable, PackageId, Description, tags. - demo IsPackable=false; add nuget.config (org feed) + CI workflows (ci, release) that call the org reusable workflows. Build green (lib netstandard2.0 + demo net5.0); pack excludes Desktop/Diagnostics. --- .github/workflows/ci.yml | 15 ++++++ .github/workflows/release.yml | 12 +++++ Directory.Build.props | 50 ++++++++++++++++--- build/avalonia.props | 9 +++- nuget.config | 13 +++++ .../ReCap.CommonUI.Demo.csproj | 1 + src/ReCap.CommonUI/ReCap.CommonUI.csproj | 11 ++-- 7 files changed, 97 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml create mode 100644 nuget.config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b31300d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,15 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + ci: + uses: Resurrection-Capsule/.github/.github/workflows/dotnet-ci.yml@v1 + with: + solution: src/ReCap.CommonUI/ReCap.CommonUI.csproj + test: false + secrets: inherit diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..a380951 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,12 @@ +name: Release + +on: + push: + tags: ['v*'] + +jobs: + publish: + uses: Resurrection-Capsule/.github/.github/workflows/dotnet-nuget.yml@v1 + with: + project: src/ReCap.CommonUI/ReCap.CommonUI.csproj + secrets: inherit diff --git a/Directory.Build.props b/Directory.Build.props index 5a18f52..6a2cc84 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,10 +1,44 @@ - - 0.0.1 - $(AssemblyVersion) - - - 10.0 - - \ No newline at end of file + + + + + 10.0 + + + + Splitwirez + Resurrection-Capsule + ReCap + Copyright (c) Splitwirez + MIT + https://github.com/Resurrection-Capsule/ReCap.CommonUI + git + true + + + + true + true + embedded + false + v + + + + README.md + + + + + + + + + + + + diff --git a/build/avalonia.props b/build/avalonia.props index ad0797a..cf85bbf 100755 --- a/build/avalonia.props +++ b/build/avalonia.props @@ -3,11 +3,16 @@ 11.3.2 + - - + + + + + + diff --git a/nuget.config b/nuget.config new file mode 100644 index 0000000..00c1378 --- /dev/null +++ b/nuget.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/samples/ReCap.CommonUI.Demo/ReCap.CommonUI.Demo.csproj b/samples/ReCap.CommonUI.Demo/ReCap.CommonUI.Demo.csproj index 40220e0..8919d57 100755 --- a/samples/ReCap.CommonUI.Demo/ReCap.CommonUI.Demo.csproj +++ b/samples/ReCap.CommonUI.Demo/ReCap.CommonUI.Demo.csproj @@ -2,6 +2,7 @@ WinExe net5.0 + false diff --git a/src/ReCap.CommonUI/ReCap.CommonUI.csproj b/src/ReCap.CommonUI/ReCap.CommonUI.csproj index daac4be..feb5d17 100755 --- a/src/ReCap.CommonUI/ReCap.CommonUI.csproj +++ b/src/ReCap.CommonUI/ReCap.CommonUI.csproj @@ -3,10 +3,13 @@ Library netstandard2.0 True - + + + + true + ReCap.CommonUI + Shared Avalonia controls, styles, theme and fonts for ReCap desktop applications (Hub, tools). + avalonia;ui;controls;theme;recap;darkspore