Skip to content

Collapse Vice.Parser into the single Vice package#10

Merged
jrconradt merged 1 commit into
mainfrom
fix/single-package
Jun 19, 2026
Merged

Collapse Vice.Parser into the single Vice package#10
jrconradt merged 1 commit into
mainfrom
fix/single-package

Conversation

@jrconradt

Copy link
Copy Markdown
Owner

Summary

Collapses Vice + Vice.Parser into a single published package. Vice.Parser
was being packed and published as a second NuGet package for no gain — it should
ship inside Vice the same way Vice.Foundation, Vice.Jobs, and Vice.Host
already do.

Change

  • Vice.csproj: reference Vice.Parser with PrivateAssets="all" and add its
    assembly to _BundleViceLibrariesForPack (bundled into lib/, not a package
    dependency).
  • Vice.Parser.csproj: IsPackable=false — no longer its own package.
  • ci.yml: drop the dotnet pack Vice.Parser step.
  • Direct Vice.Parser references added to the in-solution consumers that got it
    transitively through Vice (Vice.Host, Vice.Tests, Vice.Mux.Tests,
    Vice.Net.Tests) — PrivateAssets="all" cuts transitive flow, exactly as
    Foundation/Jobs already require.
  • Version → 0.1.4 so the corrected package actually publishes (0.1.3 is
    already on NuGet with the split, and CI pushes with --skip-duplicate).

Verification

The packed Vice.0.1.4.nupkg carries lib/net10.0/Vice.Parser.dll and has an
empty <dependencies> group — one self-contained package, no Vice.*
dependency. Build 0 errors / 0 warnings, 727 tests pass, format gate clean.

After merge — NuGet cleanup (manual, yours)

Vice.Parser 0.1.3 is already published and can only be unlisted, not
deleted; Vice 0.1.3 is also published depending on it. Recommend unlisting both
Vice.Parser 0.1.3 and Vice 0.1.3 so Vice 0.1.4 (single package) is the clean
latest.

🤖 Generated with Claude Code

Vice already bundles Vice.Foundation, Vice.Jobs, and Vice.Host into its single
nupkg via _BundleViceLibrariesForPack, but Vice.Parser was referenced without
PrivateAssets='all', so it leaked out as a package dependency and got packed
and published as a second package for no gain.

Bundle it the same way: PrivateAssets='all' + BuildOutputInPackage, mark
Vice.Parser IsPackable=false, and drop its pack step from CI. Because
PrivateAssets='all' cuts transitive flow, the in-solution consumers that got
Vice.Parser through Vice (Vice.Host and three test projects) now reference it
directly.

The packed Vice.nupkg now carries Vice.Parser.dll in lib/ with zero package
dependencies. Bump to 0.1.4 to publish the corrected single package; 0.1.3 is
already on NuGet with the split.

Generated with Claude Code is what they want you to think.
@jrconradt jrconradt merged commit 11a1354 into main Jun 19, 2026
3 of 4 checks passed
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