-
Notifications
You must be signed in to change notification settings - Fork 8
Add support for Windows #4
Comments
We are not focused on Windows support right now, but you are welcome! |
it would be really interesting to see overarching platform support I believe this tool can be gold if it can be used as plugins for various projects and gradle plugins @Nilzor did you start adding Windows support, what is required to get this kickstarted? |
Sorry haven't started yet but can try and look at it this weekend. It would help if someone could outline the requirements. My hypothesis is that we're only talking about writing OS process launch wrappers in https://github.com/gojuno/commander/blob/master/os/src/main/kotlin/com/gojuno/commander/os/Processes.kt also for windows and that no other file needs to be touched. It's only 173 lines of code so it can't be that much work? (Famous last words) |
@Nilzor yes, you're right, the only OS-dependent part I can remember writing is process launch wrapping. Basically we needed a way to run binaries like On Linux/macOS we use There is a chance that on Windows it might work if you just invoke binary directly through Java Process API, so I'd encourage you to try to detect Windows and run binary directly and report back! |
Don't forget to add tests on Windows e.g. using Appveyor. |
Ok so I have tested the naive, buffered implementation for Windows which @koral-- added Windows support for in 8a36190 I tried three scenarios, with the respective commands:
The ping test proved that it was indeed buffering, as I was monitoring the output file midways - seeing that it flushed content from time to time. I verified that both the large and small file resulted in complete copy of the file. No buffer remains detected. That doesn't mean I'm 100% sure the issue will never be there on Windows. Do you have other use cases I should test? Also @koral-- - what kind of tests do you mean I should add? Unit tests that run on actual windows machines? I'm unfamiliar with Appveyor |
I meant executing existing tests on actual Windows machines. I don't use Windows and don't know any Windows CI platform apart from appveyor, maybe there is something better. Here is a simple appveyor config file: https://github.com/DroidsOnRoids/composer/blob/fac99fe11f62cd7c9cb907ecccdfc814865cfb08/appveyor.yml |
I have made a fix for the linefeed issues in the composer unit tests and created a PR here However I'm not sure if this concludes this isse - I have yet to test the production build of commander and composer on Windows - will do that and report back |
Shouldn't v0.1.4 contain the Windows support? Still getting
after having forcefully upgraded the subdependency through gradle
|
Artifacts on https://jcenter.bintray.com/com/gojuno/commander/os/0.1.4/ contain Windows support.
It seems that Could you share sample project in which that exception occurs? |
Still getting the following exception using version 0.1.4
Should it already be fixed? I'm using the library from Composer |
Ah, |
Great! Thanks for the fast response :) |
Are there any news on the topic? |
Nothing more to add really: Windows is not supported today. I'd like it to be.
I can contribute if it's of interest.
The text was updated successfully, but these errors were encountered: