Browse Source

Use go-bindata from github.com/jteeuwen

It is now able to recursively walk into directories and is also able to
generate the debug version of the assets. Therefore, we remove the
manual version of the debug version and use the generated one instead.
Vincent Bernat 11 years ago
parent
commit
721721b822

+ 2 - 2
.gitignore

@@ -5,5 +5,5 @@ src/code.google.com
 src/github.com
 src/bitbucket.org
 src/launchpad.net
-src/ngrok/client/assets/assets_release.go
-src/ngrok/server/assets/assets_release.go
+src/ngrok/client/assets/
+src/ngrok/server/assets/

+ 20 - 15
Makefile

@@ -1,9 +1,10 @@
-.PHONY: default server client deps fmt clean all release-client release-server release-all client-assets server-assets contributors
+.PHONY: default server client deps fmt clean all release-all assets client-assets server-assets contributors
 export GOPATH:=$(shell pwd)
 
+BUILDTAGS=debug
 default: all
 
-deps:
+deps: assets
 	go get -tags '$(BUILDTAGS)' -d -v ngrok/...
 
 server: deps
@@ -15,28 +16,32 @@ fmt:
 client: deps
 	go install -gcflags "-N -l" -tags '$(BUILDTAGS)' ngrok/main/ngrok
 
+assets: client-assets server-assets
+
 client-assets:
-	go get github.com/inconshreveable/go-bindata
-	GOOS="" GOARCH="" go install github.com/inconshreveable/go-bindata
-	bin/go-bindata -o src/ngrok/client/assets assets/client
+	go get github.com/jteeuwen/go-bindata
+	GOOS="" GOARCH="" go install github.com/jteeuwen/go-bindata/go-bindata
+	bin/go-bindata -nomemcopy -pkg=assets -tags=$(BUILDTAGS) \
+		-debug=$(if $(findstring debug,$(BUILDTAGS)),true,false) \
+		-o=src/ngrok/client/assets/assets_$(BUILDTAGS).go \
+		assets/client/...
 
 server-assets:
-	go get github.com/inconshreveable/go-bindata
-	GOOS="" GOARCH="" go install github.com/inconshreveable/go-bindata
-	bin/go-bindata -o src/ngrok/server/assets assets/server
-
-release-client: BUILDTAGS=release
-release-client: client-assets client
-
-release-server: BUILDTAGS=release
-release-server: server-assets server
+	go get github.com/jteeuwen/go-bindata
+	GOOS="" GOARCH="" go install github.com/jteeuwen/go-bindata/go-bindata
+	bin/go-bindata -nomemcopy -pkg=assets -tags=$(BUILDTAGS) \
+		-debug=$(if $(findstring debug,$(BUILDTAGS)),true,false) \
+		-o=src/ngrok/server/assets/assets_$(BUILDTAGS).go \
+		assets/server/...
 
-release-all: release-client release-server
+release-all: BUILDTAGS=release
+release-all: all
 
 all: fmt client server
 
 clean:
 	go clean -i -r ngrok/...
+	rm -rf src/ngrok/client/assets/ src/ngrok/server/assets/
 
 contributors:
 	echo "Contributors to ngrok, both large and small:\n" > CONTRIBUTORS

+ 0 - 11
src/ngrok/client/assets/assets_debug.go

@@ -1,11 +0,0 @@
-// +build !release
-
-package assets
-
-import (
-	"io/ioutil"
-)
-
-func ReadAsset(name string) ([]byte, error) {
-	return ioutil.ReadFile(name)
-}

+ 1 - 1
src/ngrok/client/tls.go

@@ -12,7 +12,7 @@ func LoadTLSConfig(rootCertPaths []string) (*tls.Config, error) {
 	pool := x509.NewCertPool()
 
 	for _, certPath := range rootCertPaths {
-		rootCrt, err := assets.ReadAsset(certPath)
+		rootCrt, err := assets.Asset(certPath)
 		if err != nil {
 			return nil, err
 		}

+ 1 - 1
src/ngrok/client/views/web/http.go

@@ -241,7 +241,7 @@ func (whv *WebHttpView) register() {
 			}
 		}()
 
-		pageTmpl, err := assets.ReadAsset("assets/client/page.html")
+		pageTmpl, err := assets.Asset("assets/client/page.html")
 		if err != nil {
 			panic(err)
 		}

+ 1 - 1
src/ngrok/client/views/web/view.go

@@ -56,7 +56,7 @@ func NewWebView(ctl mvc.Controller, addr string) *WebView {
 
 	// serve static assets
 	http.HandleFunc("/static/", func(w http.ResponseWriter, r *http.Request) {
-		buf, err := assets.ReadAsset(path.Join("assets", "client", r.URL.Path[1:]))
+		buf, err := assets.Asset(path.Join("assets", "client", r.URL.Path[1:]))
 		if err != nil {
 			wv.Warn("Error serving static file: %s", err.Error())
 			http.NotFound(w, r)

+ 0 - 11
src/ngrok/server/assets/assets_debug.go

@@ -1,11 +0,0 @@
-// +build !release
-
-package assets
-
-import (
-	"io/ioutil"
-)
-
-func ReadAsset(name string) ([]byte, error) {
-	return ioutil.ReadFile(name)
-}

+ 1 - 1
src/ngrok/server/tls.go

@@ -10,7 +10,7 @@ func LoadTLSConfig(crtPath string, keyPath string) (tlsConfig *tls.Config, err e
 	fileOrAsset := func(path string, default_path string) ([]byte, error) {
 		loadFn := ioutil.ReadFile
 		if path == "" {
-			loadFn = assets.ReadAsset
+			loadFn = assets.Asset
 			path = default_path
 		}