Skip to content

Comments

Adopt build-standards for shared .NET configuration#1023

Merged
jas88 merged 1 commit intomainfrom
adopt-build-standards
Jan 13, 2026
Merged

Adopt build-standards for shared .NET configuration#1023
jas88 merged 1 commit intomainfrom
adopt-build-standards

Conversation

@jas88
Copy link
Owner

@jas88 jas88 commented Jan 12, 2026

Summary

Adopt the shared build-standards submodule for consistent .NET build configuration across jas88 projects.

Changes

  • build-standards submodule: Shared build properties, editorconfig, target framework patterns
  • Central package management: All package versions now in Directory.Packages.props
  • Simplified csproj files: Removed version attributes and target framework (inherited from build-standards)
  • Renamed test project: nccid.Testnccid.Tests to match convention
  • Disabled AOT/trimming: Project uses reflection-based JSON serialization

Benefits

  • Consistent build settings across projects
  • Single place to update package versions
  • Automatic target framework selection based on project naming conventions
  • Shared editorconfig and analyzer settings

High-level PR Summary

This PR adopts a shared build-standards submodule to standardize .NET build configuration across the project. It introduces central package management via Directory.Packages.props, simplifies project files by inheriting common build properties from the submodule, renames the test project from nccid.Test to nccid.Tests to follow naming conventions, and replaces the local .editorconfig with a reference to a shared configuration. The changes also explicitly disable AOT and trimming in the main project due to its use of reflection-based JSON serialization.

⏱️ Estimated Review Time: 30-90 minutes

💡 Review Order Suggestion
Order File Path
1 .gitmodules
2 build-standards
3 Directory.Build.props
4 Directory.Packages.props
5 .editorconfig
6 nccid/nccid.csproj
7 nccid.Tests/nccid.Tests.csproj
8 nccid.sln
9 .github/workflows/test-publish.yml
10 nccid.Tests/CsvMergerTests.cs
11 nccid.Tests/DataTests.cs
12 nccid.Tests/OptionsTests.cs
13 nccid.Tests/UnitTest1.cs
14 nccid.Tests/UtilsTests.cs

Need help? Join our Discord


Summary by cubic

Standardizes .NET build config by adopting the shared build-standards submodule and moving all package versions to central management. Simplifies project files and renames the test project to nccid.Tests.

  • Refactors

    • Add build-standards submodule; import shared Directory.Build.props and .editorconfig.
    • Enable central package management (Directory.Packages.props); remove per-project version pins.
    • Inherit target frameworks from standards; simplify csproj files.
    • Rename nccid.Test → nccid.Tests; update InternalsVisibleTo and CI coverage path.
    • Disable AOT and trimming due to reflection-based JSON serialization.
  • Migration

    • Run: git submodule update --init --recursive
    • Then dotnet restore and build as usual.

Written for commit b25af1b. Summary will update on new commits.

Copy link

@recurseml recurseml bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by RecurseML

🔍 Review performed on f795c1b..c6a9fbc

✨ No bugs found, your code is sparkling clean

✅ Files analyzed, no issues (8)

.github/workflows/test-publish.yml
.gitmodules
Directory.Build.props
Directory.Packages.props
nccid.Test/nccid.Test.csproj
nccid.Tests/nccid.Tests.csproj
nccid.sln
nccid/nccid.csproj

⏭️ Files skipped (5)
  Locations  
nccid.Tests/CsvMergerTests.cs
nccid.Tests/DataTests.cs
nccid.Tests/OptionsTests.cs
nccid.Tests/UnitTest1.cs
nccid.Tests/UtilsTests.cs

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 16 files

@jas88 jas88 force-pushed the adopt-build-standards branch 5 times, most recently from 7ec5c99 to 2bd4468 Compare January 13, 2026 15:07
- Add build-standards submodule for shared build properties
- Enable central package management via Directory.Packages.props
- Simplify csproj files (versions now centralized)
- Rename nccid.Test → nccid.Tests to match convention
- Replace .editorconfig with symlink to build-standards
- Disable AOT/trimming (uses reflection-based JSON serialization)
@jas88 jas88 force-pushed the adopt-build-standards branch from 2bd4468 to b25af1b Compare January 13, 2026 15:08
@sonarqubecloud
Copy link

@jas88 jas88 merged commit 6738e09 into main Jan 13, 2026
4 checks passed
@jas88 jas88 deleted the adopt-build-standards branch January 13, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant