isaacabraham / vsts-fsharp

Azure Devops extension for F#-friendly tools
https://marketplace.visualstudio.com/items?itemName=isaacabraham.fsharp-helpers-extension
Apache License 2.0
13 stars 7 forks source link

Multiple extensions #18

Closed matthid closed 6 years ago

matthid commented 6 years ago

Adds a "Fake" and "Paket" extension alongside the "all-in-one" extension. It's surprisingly simple to package a task into multiple extension. The question is if this leads to problems when multiple extensions contain the same task. Something left to test... I think I will add another round of extensions without public: true (which is the currently suggested official solution) and test on my instance.

isaacabraham commented 6 years ago

Yeah, I think this might be more confusing than not (as we discussed) but happy to see how it feels when you test it out.

matthid commented 6 years ago

image

:(

matthid commented 6 years ago

So the behavior is the following:

We can bundle the same tasks in different extensions no problem. But you get the above error once you try to install the second extension with the same task. This means: You can either install the all-in-one extension or all the individual ones, but not the all-in-one extension with an individual one.

This might actually be what we want but it might indeed confuse users. On the other hand we might have more visibility on the marktplace.

If we add docs on the marketplace page I think this would be fine. We could add to all individual extensions:

This extension is a subset of F# Helpers for VSTS which can not be installed at the same time as this extension

And a similar message listing all the individual packages on the F# Helpers for VSTS page

I leave the decision up to you but I'd vote for adding the "subset" extensions.

matthid commented 6 years ago

Even if we decide to not publish the individual extensions I'd like to merge this PR because having them makes testing a bit easier for me. We can change the default publishing code. At the very least we need to public <> nonpublic switch and the bugfixes from this PR.

matthid commented 6 years ago

image

Looks good and runs, next I'll check if I can use the tasks to implement the fake release process and use the new "Public Projects" feature of VSTS .

But this PR is good to go I think.

BTW: We could also add a release pipeline for this particular repository.

matthid commented 6 years ago

Ok I was able to get fake deployed on staging with these tasks. Even found a bug in the vault implementation of fake. But I'd this PR is working

matthid commented 6 years ago

Released: https://marketplace.visualstudio.com/items?itemName=isaacabraham.fsharp-helpers-extension

matthid commented 6 years ago

For the record: This happens when tasks have the same id:

image

With "private" extensions this works without issue :(