themill / wiz

Environment management framework
GNU Lesser General Public License v3.0
45 stars 4 forks source link

Windows support #14

Open kirijiri opened 4 years ago

kirijiri commented 4 years ago

Wiz currently works on Linux and Mac, but not on windows. It should work cross platform.

kirijiri commented 4 years ago

Looks like 'pwd' (https://docs.python.org/2/library/pwd.html) is only for linux and does not have a good alternative on windows. We might have to write something to retrieve the full user name ourselves in both platforms.

The 'termios' library also only exists for Unix (https://docs.python.org/2/library/termios.html). There is a TermiWin (https://github.com/ChristianVisintin/termiWin) but it even states that it should only be used when you don't need performance and high reliability. Taking termios out makes the wiz shell spawn on windows.

kirijiri commented 4 years ago

Since there does not seem to be a an appropriate substitute for termios (pty in particular) on windows, I've been checking how Rez got its windows shell and found this thread: https://github.com/nerdvegas/rez/issues/55 Looks like rez shells are plugins: https://github.com/nerdvegas/rez/tree/master/src/rezplugins/shell

For windows only CMD and PowerShell are supported in Rez: https://github.com/nerdvegas/rez/blob/99e0ddb0f501d8efaaf7fc524b11db5244f67abb/src/rezplugins/shell/powershell.py https://github.com/nerdvegas/rez/blob/663efc277924bdb353c85869585132f4191b703e/src/rezplugins/shell/cmd.py

There does not seem to be windows support for bash, which is what Wiz uses in unix right now: https://github.com/nerdvegas/rez/blob/676a6236a51f2207267c91722328a682b76802aa/src/rezplugins/shell/bash.py#L91

buddly27 commented 4 years ago

Dropping the issue from the milestones 3.1.0, it's gonna come with the following version