fsprojects / fsprojects/Paket

Suggestion: Warn when a package was packaged incorrectly

Open
#2,173 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement need diagnostic info/warn/error
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Description

In Short: Add a big red warning when stuff like https://github.com/fsharp/fsharp/issues/672 happens.

In general paket update/install (or maybe even restore) could detect this whole class of packaging errors (even earlier when using pack)

  • Warn when a binary is part of an incompatible framework folder. (the above issue)
  • Warn when the package contains a dependency group but no folder for the corresponding framework (it should at least contain an empty folder)
  • Warn when a dependency was not added because no group was matched (and therefore empty dependencies are assumed). For example see https://www.nuget.org/packages/FsCheck.xunit . If you use net45 and reference FsCheck.xunit you will get compiler errors because xunit.abstractions will not be referenced (because the dependency is for group net452 only)

My suggestion would be to add those warnings and see how often they trigger, if they trigger to often we might want to disable them or add some kind of "pure" mode.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the paket update, install, restore, and possibly pack entry points mentioned in the issue. Review how framework folders and dependency groups are handled, then define tests covering the three listed packaging-error cases. Done means the relevant commands warn about these mismatches without silently accepting missing dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.