diff --git a/.travis.yml b/.travis.yml index a7046f4d008f75002545d0fb3930cb8f2a3735c0..994f15f91cbb285106a606b8762fb51b59e66b1e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,7 @@ env: - secure: "boYctu4EQI2og3YWpD54yo1LzibgBNrYN3exbfwxaNNbJuQscprAlOOG5Y1O7MBgzG9AP1DeON3X0al7g/IYMrsMsrSGhJLq9w2/ntwMiUIyKfTAP8rB5fASRSYxA5mqhpjXK4iIzqG2xiOr1SmCbpT9ew0AXP/HgxQprsppBbH+H4HyrP4cejIbfk8ajU/XvrDmhOY4s/IZIy+vfEfZH5xheJnG3iWFICwWUF5CIjjr6fQpq9ZbL2sDMvzruYPMAQ3iDfBrUr+ZhN4PPjrzvCRUNpoUoPsXCsFDPMcZpBjSHH5ZELPRBzHSdJignIjHaV0UtLtFApZl49lzq749r2Sno2ba4JCd0RIgMERjNluXynkJiHrL2tMR8HYhOmoeLMdX0zrguv+136+Jn04gQde3S+FI1/sN0/Xa14xD7SGMUT1MgFnwKgFXOFeUd3VpvbpFg6RWVgpCnaDd2/AKL+mQDEgL4yRg9q95a6Q5ub/c6nla8/E4asEvYGlJPj0OG/MKvJMi0gnKuP4+nil0jgGeKki3k1UxwvldlS+n7HUhQ7c4B9c61KS19i+z5SxBiXjilL+zGlAVVgRcalIoKQrTRDSRKnKZkR5Ant0CLjt44pncHLwlYXD/aPuLNihCa4AqUlpYPYru0pQawXNkVnk6E/cg2DAsp7oDcpcg540=" before_install: - - ./interfacer/contrib/setup_go.sh + - ./interfacer/contrib/setup_dep.sh - ./webext/contrib/setup_node.sh - mkdir -p $REPO_ROOT && cp -rfp $TRAVIS_BUILD_DIR -T $REPO_ROOT install: diff --git a/Dockerfile b/Dockerfile index b9da3a9281428e2bc079aa0310910b29bb6540bf..0c500882e37ed5e93279e0187c5705cf0fcdf58d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,14 +27,7 @@ ENV BASE=$GOPATH/src/browsh/interfacer WORKDIR $BASE ADD interfacer $BASE -# Install `dep` the current defacto dependency manager for Golang -RUN $BASE/contrib/setup_dep.sh - -# Install the tool to convert the web extenstion file into a Go-compatible binary -RUN go get -u gopkg.in/shuLhan/go-bindata.v3/... - # Build Browsh -RUN dep ensure RUN $BASE/contrib/build_browsh.sh diff --git a/interfacer/contrib/build_browsh.sh b/interfacer/contrib/build_browsh.sh index 4cad18647fa09bd890a104fd5ad31b778d25656e..7fc78892251aa4b9481e94de32dbbc209d383cbb 100755 --- a/interfacer/contrib/build_browsh.sh +++ b/interfacer/contrib/build_browsh.sh @@ -4,27 +4,45 @@ # To build Browsh during development see: # https://github.com/browsh-org/browsh#contributing -# This script depends on Golang and go-bindata -# `go get -u gopkg.in/shuLhan/go-bindata.v3/...` +# This script depends on Golang, dep and go-bindata +# See; ./setup_dep.sh for an example `dep` installation +# `go-bindata` can be easily installed with: +# `go get -u gopkg.in/shuLhan/go-bindata.v3/...` +# `dep esnure` must be run in `interfacer/` set -e INTERFACER_ROOT=$(readlink -m "$( cd "$(dirname "$0")" ; pwd -P )"/../) +cd $INTERFACER_ROOT + +# Install `dep` the current defacto dependency manager for Golang +./contrib/setup_dep.sh + +# Install the tool to convert the web extenstion file into a Go-compatible binary +go get -u gopkg.in/shuLhan/go-bindata.v3/... +# Install Golang dependencies +dep ensure + +# Get the current Browsh version, in order to find the corresponding web extension release version_file=$INTERFACER_ROOT/src/browsh/version.go line=$(cat $version_file | grep 'browshVersion') version=$(echo $line | grep -o '".*"' | sed 's/"//g') +# Build the URI for the webextension file base='https://github.com/browsh-org/browsh/releases/download' release_url="$base/v$version/browsh-${version}-an.fx.xpi" xpi_file=$INTERFACER_ROOT/browsh.xpi destination=$INTERFACER_ROOT/src/browsh/webextension.go +# Download the web extension curl -L -o $xpi_file $release_url +# Convert the web extension into binary data that can be compiled into a +# cross-platform Go binary. XPI_FILE=$xpi_file BIN_FILE=$destination \ $INTERFACER_ROOT/contrib/xpi2bin.sh -cd $INTERFACER_ROOT +# The actual build iteself go build -o browsh src/main.go