Closed Bug 1481526 Opened 3 years ago Closed 3 years ago

add support for windows

Categories

(Conduit :: moz-phab, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: glob, Assigned: glob)

References

Details

(Keywords: conduit-story, conduit-triaged)

Attachments

(1 file)

add support for windows to moz-phab, including, but not limited to:

* paths and environmental vars
  * particularly with arc config discovery [.arcrc](https://github.com/phacility/arcanist/blob/9e82ef979e8148c43b9b8439025d505b1219e213/src/configuration/ArcanistConfigurationManager.php#L260), [arcconfig](https://github.com/phacility/arcanist/blob/9e82ef979e8148c43b9b8439025d505b1219e213/src/configuration/ArcanistConfigurationManager.php#L282)

* tempfile.NamedTemporaryFile doesn't work as expected on windows
  * vendor [mozfile.NamedTemporaryFile](https://hg.mozilla.org/mozilla-central/file/tip/testing/mozbase/mozfile/mozfile/mozfile.py#l314)

* arc requires a full path to the `EDITOR`, which is different from `hg`; find the editor on the path and update `EDITOR` if required

* reading a single char from the user needs to change to something like (via [stack overflow](https://stackoverflow.com/a/36974338/953)) but with a fallback to `readline()` mostly for IDE support:

```
def get_char():
    try:
        # for Windows-based systems
        import msvcrt  # If successful, we are on Windows
        return msvcrt.getch()
    except ImportError:
        # for POSIX-based systems (with termios & tty support)
        import tty, sys, termios  # raises ImportError if unsupported
        fd = sys.stdin.fileno()
        old_term_attrs = termios.tcgetattr(fd)
        try:
            tty.setcbreak(fd)
            return sys.stdin.read(1)
        finally:
            termios.tcsetattr(fd, termios.TCSADRAIN, old_term_attrs)
```
I hope MozillaBuild and/or `mach bootstrap` installs prerequisites...
Assignee: nobody → glob
Keywords: conduit-triaged
Priority: -- → P1
See Also: → 1482146
Keywords: conduit-story
Priority: P1 → --
Depends on: 1482146
we don't need to mess with EDITOR; we prevent arc from using one.
Comment on attachment 8999495 [details]
Bug 1481526 - add windows support  r=smacleod

Steven MacLeod [:smacleod] has approved the revision.
Attachment #8999495 - Flags: review+
Comment on attachment 8999495 [details]
Bug 1481526 - add windows support  r=smacleod

Mark Côté [:mcote] has approved the revision.
Attachment #8999495 - Flags: review+
released: https://github.com/mozilla-conduit/review/releases/tag/1.1
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.