umbraco / Umbraco.Marketplace.Issues

Public issue tracker for Umbraco Marketplace
2 stars 0 forks source link

Support Importing Packages which are not including Umbraco dependencies (aka PrivateAssets="All") #20

Closed hfloyd closed 1 year ago

hfloyd commented 1 year ago

I updated two packages on NuGet yesterday, adding the umbraco-marketplace tag... but today they haven't been added to the site. Checking the documentation, I see this:

The minimum requirement is adding the umbraco-marketplace tag to your NuGet package - our scheduled synchronization process searches for all packages with this tag, importing those that meet the minimum Umbraco version requirement (Umbraco 8 or above).

But NuGet doesn't necessarily know about Umbraco dependencies if the dependency is marked PrivateAssets="All"... so does that mean that my packages won't "Meet the minimum Umbraco version requirement" and thus won't be imported?

For reference, the packages are: https://www.nuget.org/packages/Dragonfly.Umbraco10.SchemaImporter https://www.nuget.org/packages/Dragonfly.Umbraco9.SchemaImporter

AndyButland commented 1 year ago

Hi @hfloyd - yes, that's correct as it stands. We do a check that not only is a package tagged, but also that it meets the requirements for display on the website (i.e. is related to Umbraco 8+), which we get from the dependency information.

Partly this is just a second check that we are displaying relevant packages (and people couldn't just tag anything to get included such that we would perhaps risk making spamming the site easier). But mainly it's so we can present accurate information about what versions of Umbraco are supported. This is particularly important when browsing the site via the Umbraco back-office.

We could look at adding a method via the JSON file for package owners to self-certify the versions supported, but I'd prefer really to get this from NuGet. There's less chance of errors as the dependency is, at least to an extent, "proved" by the code of the package.

Am I missing something if I was just to say I think you should add an actual dependency to Umbraco to your package? Could be I am and there's a good reason to not have it as you are doing. But it seems to me this is useful information for users of your package to have, even if we took the Umbraco marketplace out of the equation and they were just finding your package via NuGet.

hfloyd commented 1 year ago

Thanks for the thoughtful response, @AndyButland . I can see how spam could become an issue. I followed the examples of other packages and updated just the Umbraco.Core dependencies in my package files to include the upper-bound version information, and I see the two packages I am testing getting picked up by the marketplace site now. Thanks!