summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Buckley-Houston <tom@tombh.co.uk>2018-07-26 18:56:33 +0800
committerThomas Buckley-Houston <tom@tombh.co.uk>2018-07-26 18:59:59 +0800
commit5829c71a3e7ba8e36f3425a50bfaa4dae0a31cb9 (patch)
tree63708abc333dfc0e41d41e289df1bb5fc67d1dee
parent9abc3aaa3f575ca6ec9a483408d9fdfcf76300fa (diff)
Centralise all the Browsh build stepsv1.4.9
-rw-r--r--.travis.yml2
-rw-r--r--Dockerfile7
-rwxr-xr-xinterfacer/contrib/build_browsh.sh24
3 files changed, 22 insertions, 11 deletions
diff --git a/.travis.yml b/.travis.yml
index a7046f4..994f15f 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 b9da3a9..0c50088 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 4cad186..7fc7889 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