Changes Emscripten SDK version to match that used to compile the default export
templates used by Godot 3.4 (in this case 2.0.25 as can be seen here:
https://github.com/godotengine/build-containers/blob/3.4/Dockerfile.javascript).
This means we no longer need to compile custom export templates when
exporting HTML5 for Godot 3.4. Exports from other Godot versions may
requiring compiling the GDNative library with a different version of the
Emscripten SDK.
- Enable tests for osx.universal platform.
- Export HTML5 (but skip upload as .cast files aren't exported
properly).
- HACK: Use HTML5 export to generate .import directory for tests
This way we don't get an error message even if using
`continue-on-error` set to `true`.
- Renamed LICENSE -> LICENSE.md as it contains markdown, and added
contact address.
- Adds THIRDPARTY_NOTICES.txt and THIRDPARTY_NOTICES_nopty.txt which
bundles licenses of all third-party components for versions of
GodotXterm compiled with and without PTY node support.
- Adds misc/gen_3rdparty_licenses.sh file to generate the above
mentioned text files.
- Seperated node_pty and tmux licenses.
- Updated libuv submodule to use version that contains additional license
information.
- Updated README to reflect these changes.
Uses fork of node-pty native code for forking pseudoterminals.
Uses libuv pipe handle to communicate with the child process.
- Paves the way for cross-platform (Linux, macOS and Windows) support.
- Renames Pseudoterminal to PTY (which is much easier to type and spell :D).
- Better performance than the old Pseudoterminal node. Especially when
streaming large amounts of data such as running the `yes` command.
- Allows setting custom file, args, initial window size, cwd, env vars
(including important ones such as TERM and COLORTERM) and uid/gid
on Linux and macOS.
- Returns process exit code and terminating signal.
Fresh clones of this repo will need to install Gut using
gd-plug:
```
godot --no-window -s plug.gd install
```
Similar to how git submodules also need to be installed.
In a freshly cloned repo, submodule directories exist but are not
empty. Check if they are empty and update submodules. Previously,
submodules where only updated if their directories did not exist.