Skip to content

chore(webui): Enable NuGet packaging for Ploch.Common.WebUI - #261

Open
kploch wants to merge 2 commits into
masterfrom
chore/250-webui-enable-packaging
Open

chore(webui): Enable NuGet packaging for Ploch.Common.WebUI#261
kploch wants to merge 2 commits into
masterfrom
chore/250-webui-enable-packaging

Conversation

@kploch

@kploch kploch commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements #250 — resolves the IsPackable conflict for Ploch.Common.WebUI by deciding yes, the project ships as a NuGet package (the decision requested by the issue, confirmed with the repo owner as part of the v4.0 pre-release batch).

Changes

  • Added <IsPackable>true</IsPackable> to Ploch.Common.WebUI.csproj (with a comment explaining the Microsoft.NET.Sdk.Web default it overrides).
  • Added a change-log entry — a new package shipping is a user-visible change for the v4.0 release notes.

Design Decisions

Testing

  • Ploch.Common.WebUI.4.0.9-prerelease.*.nupkg produced on build; nuspec inspected and correct.
  • Full solution build: zero warnings — first fully-clean build (this was the last remaining warning).
  • Full test suite: all 15 test assemblies pass, 0 failures.

Related

Closes #250

Summary by Sourcery

Enable NuGet packaging for Ploch.Common.WebUI and document the change in the release change-log.

New Features:

  • Publish Ploch.Common.WebUI as a NuGet package alongside other Ploch.* libraries.

Bug Fixes:

  • Resolve the NuGet packaging warning by explicitly enabling IsPackable for the WebUI project.

Documentation:

  • Add a change-log entry describing that Ploch.Common.WebUI now ships as a NuGet package.

Microsoft.NET.Sdk.Web defaults IsPackable to false, while the repo-level
Directory.Build.props sets GeneratePackageOnBuild for all non-test
projects. The conflict emitted a pack warning on every solution build and
silently prevented the package from being produced, despite the project's
clear packaging intent (PackageReadmeFile + packed README).

Explicitly enable IsPackable so Ploch.Common.WebUI (AppPage,
SelectListHelper and related Razor/MVC page utilities) ships alongside
the other Ploch.* packages. Verified the produced package metadata:
readme, licence, SourceLink repository commit and dependencies all render
correctly. The full solution now builds with zero warnings.

Refs: #250
Copilot AI review requested due to automatic review settings July 25, 2026 13:15
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@kploch kploch self-assigned this Jul 25, 2026
@cursor

cursor Bot commented Jul 25, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@codereviewbot-ai

Copy link
Copy Markdown

🤖 Review skipped: Repository Owner rate limit exceeded. Free accounts are limited to 3 reviews per 4 hours across all repositories. Upgrade to a paid plan for unlimited reviews.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@sourcery-ai

sourcery-ai Bot commented Jul 25, 2026

Copy link
Copy Markdown

🧙 Sourcery has finished reviewing your pull request!


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@kploch, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8da8e62b-cc29-4c98-9699-fe5aaec21b0c

📥 Commits

Reviewing files that changed from the base of the PR and between 5f324e1 and da06543.

📒 Files selected for processing (2)
  • change-log/2026-07-25-250-webui-package-enabled.md
  • src/Common.WebUI/Ploch.Common.WebUI.csproj
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/250-webui-enable-packaging

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

codacy-production Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Coverage ∅ diff coverage · +0.00% coverage variation

Metric Results
Coverage variation +0.00% coverage variation
Diff coverage diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (5f324e1) 1989 1715 86.22%
Head commit (da06543) 1989 (+0) 1715 (+0) 86.22% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#261) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@deepsource-io

deepsource-io Bot commented Jul 25, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in 5f324e1...da06543 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
C# Jul 25, 2026 1:29p.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Enables NuGet packaging for Ploch.Common.WebUI by explicitly overriding Microsoft.NET.Sdk.Web’s default IsPackable=false, aligning the project’s build behavior with its existing packaging intent and repository-wide GeneratePackageOnBuild configuration.

Changes:

  • Set <IsPackable>true</IsPackable> in src/Common.WebUI/Ploch.Common.WebUI.csproj to eliminate the recurring pack warning and ensure the package is produced.
  • Added a change-log entry documenting that Ploch.Common.WebUI now ships as a NuGet package and that the pack warning is resolved.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/Common.WebUI/Ploch.Common.WebUI.csproj Explicitly enables packing for the Web SDK project to resolve the IsPackable conflict and produce a NuGet package.
change-log/2026-07-25-250-webui-package-enabled.md Documents the new packaging behavior and the removal of the recurring NuGet pack warning for v4.0 notes.

Comment thread change-log/2026-07-25-250-webui-package-enabled.md Outdated

@codacy-production codacy-production Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

The PR successfully enables NuGet packaging for the Ploch.Common.WebUI library, resolving build warnings and providing the required changelog documentation. Automated quality checks indicate the project remains up to standards. However, the implementation reveals that the project currently uses the Web SDK (Microsoft.NET.Sdk.Web) for what is effectively a library (OutputType Library). Switching to the Razor SDK would be more idiomatic for this use case and would enable packaging by default without explicit property overrides.

Test suggestions

  • Verify that IsPackable is explicitly set to true in the .csproj file
  • Verify that the project build no longer produces packaging-related warnings
  • Verify the presence of a changelog entry documenting the transition to a NuGet package

TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback

Comment thread src/Common.WebUI/Ploch.Common.WebUI.csproj
Review follow-up on PR #261: the missing package was not silent - the
build emitted a pack warning on every run. Reworded accordingly.

Refs: #250
@codereviewbot-ai

Copy link
Copy Markdown

🤖 Review skipped: Repository Owner rate limit exceeded. Free accounts are limited to 3 reviews per 4 hours across all repositories. Upgrade to a paid plan for unlimited reviews.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@sonarqubecloud

Copy link
Copy Markdown

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.

chore(webui): Resolve NuGet pack warning for Ploch.Common.WebUI (IsPackable conflict)

2 participants