Added Firefox paths for Windows and OSX
Also updated Gopkg dep versions. And version bump to 1.0.0pre1!
This commit is contained in:
parent
7d3620e12d
commit
98fa8014b9
18
interfacer/Gopkg.lock
generated
18
interfacer/Gopkg.lock
generated
|
@ -11,7 +11,7 @@
|
||||||
branch = "master"
|
branch = "master"
|
||||||
name = "github.com/gdamore/tcell"
|
name = "github.com/gdamore/tcell"
|
||||||
packages = [".","terminfo"]
|
packages = [".","terminfo"]
|
||||||
revision = "2548ddfbd80a92e96bdde663cdb77b56d65e7dd9"
|
revision = "b3cebc399d6f98536af845ed8a5144ab586f6759"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "github.com/go-errors/errors"
|
name = "github.com/go-errors/errors"
|
||||||
|
@ -26,10 +26,10 @@
|
||||||
version = "v1.2.0"
|
version = "v1.2.0"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
|
||||||
name = "github.com/lucasb-eyer/go-colorful"
|
name = "github.com/lucasb-eyer/go-colorful"
|
||||||
packages = ["."]
|
packages = ["."]
|
||||||
revision = "231272389856c976b7500c4fffcc52ddf06ff4eb"
|
revision = "345fbb3dbcdb252d9985ee899a84963c0fa24c82"
|
||||||
|
version = "v1.0"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "github.com/mattn/go-runewidth"
|
name = "github.com/mattn/go-runewidth"
|
||||||
|
@ -40,14 +40,14 @@
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "github.com/onsi/ginkgo"
|
name = "github.com/onsi/ginkgo"
|
||||||
packages = [".","config","internal/codelocation","internal/containernode","internal/failer","internal/leafnodes","internal/remote","internal/spec","internal/spec_iterator","internal/specrunner","internal/suite","internal/testingtproxy","internal/writer","reporters","reporters/stenographer","reporters/stenographer/support/go-colorable","reporters/stenographer/support/go-isatty","types"]
|
packages = [".","config","internal/codelocation","internal/containernode","internal/failer","internal/leafnodes","internal/remote","internal/spec","internal/spec_iterator","internal/specrunner","internal/suite","internal/testingtproxy","internal/writer","reporters","reporters/stenographer","reporters/stenographer/support/go-colorable","reporters/stenographer/support/go-isatty","types"]
|
||||||
revision = "9eda700730cba42af70d53180f9dcce9266bc2bc"
|
revision = "fa5fabab2a1bfbd924faf4c067d07ae414e2aedf"
|
||||||
version = "v1.4.0"
|
version = "v1.5.0"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "github.com/onsi/gomega"
|
name = "github.com/onsi/gomega"
|
||||||
packages = [".","format","internal/assertion","internal/asyncassertion","internal/oraclematcher","internal/testingtsupport","matchers","matchers/support/goraph/bipartitegraph","matchers/support/goraph/edge","matchers/support/goraph/node","matchers/support/goraph/util","types"]
|
packages = [".","format","internal/assertion","internal/asyncassertion","internal/oraclematcher","internal/testingtsupport","matchers","matchers/support/goraph/bipartitegraph","matchers/support/goraph/edge","matchers/support/goraph/node","matchers/support/goraph/util","types"]
|
||||||
revision = "003f63b7f4cff3fc95357005358af2de0f5fe152"
|
revision = "62bff4df71bdbc266561a0caee19f0594b17c240"
|
||||||
version = "v1.3.0"
|
version = "v1.4.0"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
|
@ -59,13 +59,13 @@
|
||||||
branch = "master"
|
branch = "master"
|
||||||
name = "golang.org/x/net"
|
name = "golang.org/x/net"
|
||||||
packages = ["html","html/atom","html/charset"]
|
packages = ["html","html/atom","html/charset"]
|
||||||
revision = "b3c676e531a6dc479fa1b35ac961c13f5e2b4d2e"
|
revision = "1e491301e022f8f977054da4c2d852decd59571f"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
name = "golang.org/x/sys"
|
name = "golang.org/x/sys"
|
||||||
packages = ["unix"]
|
packages = ["unix"]
|
||||||
revision = "1d206c9fa8975fb4cf00df1dc8bf3283dc24ba0e"
|
revision = "9527bec2660bd847c050fda93a0f0c6dee0800bb"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "golang.org/x/text"
|
name = "golang.org/x/text"
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"runtime"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
|
@ -87,8 +88,10 @@ func Shutdown(err error) {
|
||||||
exitCode = 1
|
exitCode = 1
|
||||||
println(err.Error())
|
println(err.Error())
|
||||||
}
|
}
|
||||||
|
if *isDebug {
|
||||||
out := err.(*errors.Error).ErrorStack()
|
out := err.(*errors.Error).ErrorStack()
|
||||||
Log(fmt.Sprintf(out))
|
Log(fmt.Sprintf(out))
|
||||||
|
}
|
||||||
os.Exit(exitCode)
|
os.Exit(exitCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,14 +136,16 @@ func stripWhitespace(str string) string {
|
||||||
}, str)
|
}, str)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shell ... Nice and easy shell commands
|
// Shell provides nice and easy shell commands
|
||||||
func Shell(command string) string {
|
func Shell(command string) string {
|
||||||
parts := strings.Fields(command)
|
parts := strings.Fields(command)
|
||||||
head := parts[0]
|
head := parts[0]
|
||||||
parts = parts[1:len(parts)]
|
parts = parts[1:len(parts)]
|
||||||
out, err := exec.Command(head, parts...).Output()
|
out, err := exec.Command(head, parts...).CombinedOutput()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "firefox not found"
|
fmt.Printf(
|
||||||
|
"Browsh tried to run `%s` but failed with: %s", command, string(out))
|
||||||
|
Shutdown(err)
|
||||||
}
|
}
|
||||||
return stripWhitespace(string(out))
|
return stripWhitespace(string(out))
|
||||||
}
|
}
|
||||||
|
@ -176,7 +181,11 @@ func toInt32(char string) int32 {
|
||||||
func ttyEntry() {
|
func ttyEntry() {
|
||||||
// Hack to force true colours
|
// Hack to force true colours
|
||||||
// Follow: https://github.com/gdamore/tcell/pull/183
|
// Follow: https://github.com/gdamore/tcell/pull/183
|
||||||
|
if runtime.GOOS != "windows" {
|
||||||
|
// On windows this generates a "character set not supported" error. The error comes
|
||||||
|
// from tcell.
|
||||||
os.Setenv("TERM", "xterm-truecolor")
|
os.Setenv("TERM", "xterm-truecolor")
|
||||||
|
}
|
||||||
realScreen, err := tcell.NewScreen()
|
realScreen, err := tcell.NewScreen()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -52,10 +53,7 @@ var (
|
||||||
|
|
||||||
func startHeadlessFirefox() {
|
func startHeadlessFirefox() {
|
||||||
Log("Starting Firefox in headless mode")
|
Log("Starting Firefox in headless mode")
|
||||||
firefoxPath := Shell("which " + *firefoxBinary)
|
ensureFirefoxBinary()
|
||||||
if _, err := os.Stat(firefoxPath); os.IsNotExist(err) {
|
|
||||||
Shutdown(errors.New("Firefox command not found: " + *firefoxBinary))
|
|
||||||
}
|
|
||||||
args := []string{"--marionette"}
|
args := []string{"--marionette"}
|
||||||
if !*isFFGui {
|
if !*isFFGui {
|
||||||
args = append(args, "--headless")
|
args = append(args, "--headless")
|
||||||
|
@ -83,6 +81,22 @@ func startHeadlessFirefox() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ensureFirefoxBinary() {
|
||||||
|
if *firefoxBinary == "firefox" {
|
||||||
|
switch runtime.GOOS {
|
||||||
|
case "windows":
|
||||||
|
*firefoxBinary = `c:\Program Files (x86)\Mozilla Firefox\firefox.exe`
|
||||||
|
case "darwin":
|
||||||
|
*firefoxBinary = "/Applications/Firefox.app/Contents/MacOS/firefox"
|
||||||
|
default:
|
||||||
|
*firefoxBinary = Shell("which firefox")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if _, err := os.Stat(*firefoxBinary); os.IsNotExist(err) {
|
||||||
|
Shutdown(errors.New("Firefox binary not found: " + *firefoxBinary))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Start Firefox via the `web-ext` CLI tool. This is for development and testing,
|
// Start Firefox via the `web-ext` CLI tool. This is for development and testing,
|
||||||
// because I haven't been able to recreate the way `web-ext` injects an unsigned
|
// because I haven't been able to recreate the way `web-ext` injects an unsigned
|
||||||
// extension.
|
// extension.
|
||||||
|
@ -96,7 +110,7 @@ func startWERFirefox() {
|
||||||
"--no-reload",
|
"--no-reload",
|
||||||
"--url=https://www.google.com",
|
"--url=https://www.google.com",
|
||||||
}
|
}
|
||||||
firefoxProcess := exec.Command(rootDir+"/webext/node_modules/.bin/web-ext", args...)
|
firefoxProcess := exec.Command(rootDir + "/webext/node_modules/.bin/web-ext", args...)
|
||||||
firefoxProcess.Dir = rootDir + "/webext/dist/"
|
firefoxProcess.Dir = rootDir + "/webext/dist/"
|
||||||
defer firefoxProcess.Process.Kill()
|
defer firefoxProcess.Process.Kill()
|
||||||
stdout, err := firefoxProcess.StdoutPipe()
|
stdout, err := firefoxProcess.StdoutPipe()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"name": "Browsh",
|
"name": "Browsh",
|
||||||
"version": "0.2.14",
|
"version": "1.0.0",
|
||||||
|
|
||||||
"description": "Renders the browser as realtime, interactive, TTY-compatible text",
|
"description": "Renders the browser as realtime, interactive, TTY-compatible text",
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue