redcode-labs / easyWSL

Create WSL distros based on Docker Images.
Other
556 stars 37 forks source link

Add console app to import a wsl distro from dockerhub #37

Closed DewJunkie closed 8 months ago

DewJunkie commented 9 months ago

I moved DockerDownloader and Helpers into a shared library. My goal was to make as minimum of changes as possible. So the things that were specific to store apps, I put into an interface rather than trying to make them more generic.

unrooted commented 9 months ago

Hi, first of all, thanks a lot for this PR.

Could you please provide me with some screenshots of how and if it works? I remember running into some issues (most of the Docker images were not importing properly) - do you see any of those issues on your end?

DewJunkie commented 9 months ago

Usage Screenshot Import Distro Screenshot

DewJunkie commented 9 months ago

Regression tests on existing app Register Details Test

DewJunkie commented 9 months ago

Overview of changes are: Copied DockerDownloader.cs and Helpers.cs into a library so they could be shared. I had first tried just adding a reference to EasyWSL, but I got a compile error

 error NU1201: Project easyWSL is not compatible with net6.0 (.NETCoreApp,Version=v6.0). Project easyWSL supports: net6.0-windows10.0.19041 (.NETCoreApp,Version=v6.0)

So then after copying, anything that didn't compile, I moved the signature into IPlatformHelper. Then in EasyWSL, I created PlatformHelper:IPlatformHelper, from the existing implementation.

I had to move some stuff out of DockerDownloader, because the Windows HttpRequestMessage doesn't appear to share any interface with System.Net.HttpRequestMessage.

My main goal was to keep the UWP code as same as possible. I don't do any UWP development, so I didn't want to mess anything up.

DewJunkie commented 9 months ago

Side note, multi platform images don't currently work. Looks like it will be easy enough to fix, but I didn't want to do to much in 1 PR, and I probably won't have time to touch it again until next weekend. If you want to do slack, discord, or comments here if anything isn't clear. I'm down for whatever.

DewJunkie commented 9 months ago

Side note, multi platform images don't currently work By this I mean not working in the curried store version.

unrooted commented 9 months ago

I just want @wr0belj to take a second look on all of this.

But, this is for sure a massive contribution. Thanks a lot.

Please feel free to join our Discord server for our small community: https://discord.gg/NCdzvava7J

DewJunkie commented 9 months ago

I thought this was a pretty neat project, happy to contribute.