GSOC’17 Second Week: 5 June 2017- 11 June 2017
This week I worked on windows compatibility for cwltool. In first few days I documented roadblocks in windows compatibility and tried to find their solution. Initially some of the issues that I faced were:
- Unsupported Scheme
- Windows path separator
- Symlinks
First two issues didn’t took much time as I confronted them in schema-salad as well.
Third one took time as Symlinks
or symbolic links doesn’t work on windows(..or it does but you need admin privileges everytime you execute your program)
Creating an alternative path for execution on windows to avoid use of symlinks took second half of the week.
Over the weekend I worked on other unexpected issues like
- NamedTempFile: Apparently on unix we can open a temp file and read/write on it without first closing it while on windows you can’t. And once you close
a
NamedTempFile
object it gets deleted by default. - windows environment: On windows, a subprocess class expects only string as its
environment
input. - TEMP variable: Subprocess executionn on windows need
TEMP
variable always set, there is no such requirement on linux though.
Once this task gets over I am thinking of writing a blog discussing possible problems you may encounter in porting a linux based software to windows.
I also made a PR to allow builds on merging but avoiding double builds on each Pull Request on Travis.
Overall, this week was like a roller coaster ride with many ups and down moments.
In the upcoming week I will be working on remaining problems in windows compatibility. Here is my current progess