-
Notifications
You must be signed in to change notification settings - Fork 18
Linux support with additional test project #82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…ing the code produces the right result then this patch fixes the test to include the ../ prefix
|
@failwyn is this repo still active and maintained? |
|
There were updates a few months ago - so I've assumed it is - @failwyn is certainly replying to things, so I'm happy to put some effort in to get it to a useful place for us docker users |
Yes, it’s still active and maintained; I just don’t currently have a way to test Unix or Mac. |
Can you maybe consider setting up a Unix VM on your Windows box to review the PR? |
|
@nukithelegend I'll need to find time to review all the code in the pull request, if the code is clean and stable on Windows amd64 |
|
If you want me to setup an AWS VM for a month or so then thats easily done |
|
@garyhuntddn I appreciate the offer, but I intend on maintaining this until Visual Studio implements native support, so I need to plan for a permanent solution. |
|
Hey, is there anything we can do to help get this done? Linux support would be really needed on my end here for building Docker images. |
Hi Velociraptor45 - there's a few bits that need expanding upon and some edge cases we should deal with. This is a good opportunity for me to write down where I've got to so that I/we can consider the next steps prior to failwyn taking over and accepting any form of pull-request.
We have a few options here: a) stick with the existing bundle (note 2 below) and rely upon having nodejs and 7z as *nix runtime dependencies (during your own solution build) that need to be installed and in the users path - the Windows solution bundles them which is fair enough as it's less likely these will be installed on your average VS developers machine My preference here is a) as it requires least effort from all involved.
From my perspective there are a number of goals: a) as few changes as possible |
|
I now really tried to get this solution to compile - but it won't. It does not seem to recognize my .net framework 4.8 (+ targeting-package) installation and is missing some node_modules folder. Do you have any "How to build" instructions? |
|
I finally got the project itself to run, but there seem to be a couple of implementations in the If you like, garyhuntddn, I'd fork your repo, fix this stuff & the tests and think about how we might get this into Docker. But in general, I'd also go for your 1a) suggestion and get this to *nix at all in a first step and then maybe later on refactor it in a different PR. |
|
I agree with the approach of doing 1a then the refactor as a separate PR. |
|
I've put a couple of hours now into this, but can't get some unit tests to work. This seems to be already an issue on your master branch, @failwyn. When executing the test I can reproduce the behavior locally and in a build pipeline that I'm currently setting up. |
|
@Velociraptor45 If you can add that as a new issue, I’ll take a look at it. Thanks for the heads up! |
|
Ok, I think we're almost there. I just opened a PR to garyhuntddn's branch where I fixed the remaining issues (esp. directory separator & file capitalization for Linux) & created pipelines for .net Core on Ubuntu, .net framework on Windows & .net Core on Windows. Sadly, I don't own any machines running macOS, thus I couldn't test that. |
Hi - I hit the issue with not being able to use WebCompiler in a docker build. So thought I'd have a go at tackling *nix support.
I've had to create an additional test project to be able to run the tests on OS X as the original test project targets .Net v4.8 - I've kept the artefacts in their original location though to reduce the duplication.
The highest risk change I've made is to FileHelpers.MakeRelative - this wasn't interested in working at all on OS X so I've started from scratch. I've added a few tests but there are a number of scenarios that it doesn't currently deal with such as the case-senstive/insensitive nature of *nix vs Windows.
For now I've implemented the code in place - but I would anticipate pulling the repetitive code out into a helper function.
Nearly all of tests are running under OS X - but it's a start - the ones that are failing are having issues where the LastWriteTimeUtc is being set. I need to compare a Windows and an OS X run to see if that's simply a limitation in *nix.
Have a look and see what you think.