umbraco / UmbPack

13 stars 13 forks source link

Separate logic from CLI #48

Open callumbwhyte opened 4 years ago

callumbwhyte commented 4 years ago

I would love to see the packaging logic separated out into a separate assembly / package - e.g. Umbraco.Packaging.

This would offer a number of benefits:

The CMS and UmbPack could then depend on the same Umbraco.Packaging package, while the CLI would retain it's package upload abilities (I don't think these would belong in the CMS).

Currently the only way to do this would be by shipping the EXE, which could be flagged by antivirus etc...

Happy to help with this if it's something the Package Team thinks could work.

jmayntzhusen commented 4 years ago

This is an interesting idea for sure!

Main issue I see is backwards compatibility, let's say this was done from Umbraco 8.10, you'd need package devs to use separate UmbPack versions to generate separate versions of their packages that may do exactly the same feature wise but are built differently?

callumbwhyte commented 4 years ago

Do you have an example of where this might be an issue?

Here's how I see it:

Maybe I'm missing something here? 🤔 😊

jmayntzhusen commented 4 years ago

No you're right, I was considering if we removing the build part from UmbPack moving forwards it wouldn't work for older CMS versions that didn't point to the new shared package for building, but obviously that's not the case, the new package would just replace the parts within umbpack and stay backwards compatible as you've described here.

Do you have any idea of the amount of work required to extract that part from the CMS? May be a good netcore project.

callumbwhyte commented 4 years ago

My thinking was we do this in UmbPack first seeing as it's far easier to change (and selfishly I want to use it for my project too 😂)

Steps would be:

If you're happy to accept PRs for parts of this I will be more than happy to contribute.