square / okio

A modern I/O library for Android, Java, and Kotlin Multiplatform.
https://square.github.io/okio/
Apache License 2.0
8.81k stars 1.18k forks source link

mingwX64 on linux like env (mingw, msys2, cygwin) does not support unix like paths #951

Open NikkyAI opened 3 years ago

NikkyAI commented 3 years ago

i am using okio on mingwX64 and it seems to work without issues via poweshell and cmd but when executed in gitbash things seem to fall apart i am getting

Uncaught Kotlin exception: okio.IOException: Permission denied

when calling filesystem.delete(command.reportFile.toPath()) and

Uncaught Kotlin exception: okio.FileNotFoundException: No such file or directory

when calling val write: BufferedSink = fileSystem.appendingSink(command.reportFile.toPath()).buffer()

command.reportFile is /c/Users/nikky/dev/kotlin-cli-starter/git-standup-report.txt the file exists and is writable:

ls -la /c/Users/nikky/dev/kotlin-cli-starter/git-standup-report.txt
-rw-r--r-- 1 nikky 197121 407 Jun  4 10:41 /c/Users/nikky/dev/kotlin-cli-starter/git-standup-report.txt
swankjesse commented 3 years ago

I think this might be pretty difficult! From what I read on the Cygwin site that system provides an alternative POSIX implementation that you build against instead of the Windows OS API.

I think if we were to support Cygwin for Okio it’d be in addition to mingwX64, not a feature of mingwX64. Are you aware of other Kotlin Multiplatform projects that support Cygwin? I think this would be great but I don’t even know where to get started.

xxfast commented 2 years ago

I think this is the same issue I'm running into here. Will be watching this issue in the future