mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2024-11-28 15:56:27 +00:00
Use go modules and simplify build (#1444)
* Update .travis.yml and use stages This updates the .travis.yml configuration to use separate stages for unittests and CLI tests. The output is now clearer, since for unittests and CLI tests separate web pages are available. * Use go modules and simplify build
This commit is contained in:
parent
ca42e5e00a
commit
6f1eaa9b39
41
.travis.yml
41
.travis.yml
@ -1,20 +1,27 @@
|
|||||||
language: ruby
|
language: go
|
||||||
dist: trusty
|
dist: xenial
|
||||||
sudo: required
|
addons:
|
||||||
matrix:
|
apt:
|
||||||
|
sources:
|
||||||
|
- sourceline: "ppa:pi-rho/dev"
|
||||||
|
- sourceline: "ppa:fish-shell/release-2"
|
||||||
|
packages:
|
||||||
|
- tmux
|
||||||
|
- zsh
|
||||||
|
- fish
|
||||||
|
|
||||||
|
env:
|
||||||
|
- GO111MODULE=on
|
||||||
|
|
||||||
|
jobs:
|
||||||
include:
|
include:
|
||||||
- env: TAGS=
|
- stage: unittest
|
||||||
rvm: 2.3.3
|
go: "1.11.x"
|
||||||
# - env: TAGS=tcell
|
script: make && make test
|
||||||
# rvm: 2.3.3
|
|
||||||
|
|
||||||
install:
|
|
||||||
- sudo add-apt-repository -y ppa:pi-rho/dev
|
|
||||||
- sudo apt-add-repository -y ppa:fish-shell/release-2
|
|
||||||
- sudo apt-get update
|
|
||||||
- sudo apt-get install -y tmux zsh fish
|
|
||||||
|
|
||||||
|
- stage: cli
|
||||||
|
go: "1.11.x"
|
||||||
|
rvm: "2.5"
|
||||||
script: |
|
script: |
|
||||||
make test install &&
|
make install && ./install --all && tmux new "ruby test/test_go.rb > out && touch ok" && cat out && [ -e ok ]
|
||||||
./install --all &&
|
|
||||||
tmux new "ruby test/test_go.rb > out && touch ok" && cat out && [ -e ok ]
|
|
||||||
|
65
Makefile
65
Makefile
@ -1,17 +1,9 @@
|
|||||||
ifndef GOOS
|
GO ?= go
|
||||||
GOOS := $(word 1, $(subst /, " ", $(word 4, $(shell go version))))
|
GOOS ?= $(word 1, $(subst /, " ", $(word 4, $(shell go version))))
|
||||||
endif
|
|
||||||
|
|
||||||
MAKEFILE := $(realpath $(lastword $(MAKEFILE_LIST)))
|
MAKEFILE := $(realpath $(lastword $(MAKEFILE_LIST)))
|
||||||
ROOT_DIR := $(shell dirname $(MAKEFILE))
|
ROOT_DIR := $(shell dirname $(MAKEFILE))
|
||||||
GOPATH := $(ROOT_DIR)/gopath
|
SOURCES := $(wildcard *.go src/*.go src/*/*.go) $(MAKEFILE)
|
||||||
SRC_LINK := $(GOPATH)/src/github.com/junegunn/fzf/src
|
|
||||||
VENDOR_LINK := $(GOPATH)/src/github.com/junegunn/fzf/vendor
|
|
||||||
export GOPATH
|
|
||||||
|
|
||||||
GLIDE_YAML := glide.yaml
|
|
||||||
GLIDE_LOCK := glide.lock
|
|
||||||
SOURCES := $(wildcard *.go src/*.go src/*/*.go) $(SRC_LINK) $(VENDOR_LINK) $(GLIDE_LOCK) $(MAKEFILE)
|
|
||||||
|
|
||||||
REVISION := $(shell git log -n 1 --pretty=format:%h -- $(SOURCES))
|
REVISION := $(shell git log -n 1 --pretty=format:%h -- $(SOURCES))
|
||||||
BUILD_FLAGS := -a -ldflags "-X main.revision=$(REVISION) -w -extldflags=$(LDFLAGS)" -tags "$(TAGS)"
|
BUILD_FLAGS := -a -ldflags "-X main.revision=$(REVISION) -w -extldflags=$(LDFLAGS)" -tags "$(TAGS)"
|
||||||
@ -90,19 +82,8 @@ release-all: clean test
|
|||||||
GOOS=openbsd make release
|
GOOS=openbsd make release
|
||||||
GOOS=windows make release
|
GOOS=windows make release
|
||||||
|
|
||||||
$(SRC_LINK):
|
test: $(SOURCES)
|
||||||
mkdir -p $(shell dirname $(SRC_LINK))
|
SHELL=/bin/sh GOOS= $(GO) test -v -tags "$(TAGS)" \
|
||||||
ln -sf $(ROOT_DIR)/src $(SRC_LINK)
|
|
||||||
|
|
||||||
$(VENDOR_LINK):
|
|
||||||
mkdir -p $(shell dirname $(VENDOR_LINK))
|
|
||||||
ln -sf $(ROOT_DIR)/vendor $(VENDOR_LINK)
|
|
||||||
|
|
||||||
vendor: $(GLIDE_YAML)
|
|
||||||
go get -u github.com/Masterminds/glide && $(GOPATH)/bin/glide install && touch $@
|
|
||||||
|
|
||||||
test: $(SOURCES) vendor
|
|
||||||
SHELL=/bin/sh GOOS= go test -v -tags "$(TAGS)" \
|
|
||||||
github.com/junegunn/fzf/src \
|
github.com/junegunn/fzf/src \
|
||||||
github.com/junegunn/fzf/src/algo \
|
github.com/junegunn/fzf/src/algo \
|
||||||
github.com/junegunn/fzf/src/tui \
|
github.com/junegunn/fzf/src/tui \
|
||||||
@ -111,29 +92,29 @@ test: $(SOURCES) vendor
|
|||||||
install: bin/fzf
|
install: bin/fzf
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf target
|
$(RM) -r target
|
||||||
|
|
||||||
target/$(BINARY32): $(SOURCES) vendor
|
target/$(BINARY32): $(SOURCES)
|
||||||
GOARCH=386 go build $(BUILD_FLAGS) -o $@
|
GOARCH=386 $(GO) build $(BUILD_FLAGS) -o $@
|
||||||
|
|
||||||
target/$(BINARY64): $(SOURCES) vendor
|
target/$(BINARY64): $(SOURCES)
|
||||||
GOARCH=amd64 go build $(BUILD_FLAGS) -o $@
|
GOARCH=amd64 $(GO) build $(BUILD_FLAGS) -o $@
|
||||||
|
|
||||||
# https://github.com/golang/go/wiki/GoArm
|
# https://github.com/golang/go/wiki/GoArm
|
||||||
target/$(BINARYARM5): $(SOURCES) vendor
|
target/$(BINARYARM5): $(SOURCES)
|
||||||
GOARCH=arm GOARM=5 go build $(BUILD_FLAGS) -o $@
|
GOARCH=arm GOARM=5 $(GO) build $(BUILD_FLAGS) -o $@
|
||||||
|
|
||||||
target/$(BINARYARM6): $(SOURCES) vendor
|
target/$(BINARYARM6): $(SOURCES)
|
||||||
GOARCH=arm GOARM=6 go build $(BUILD_FLAGS) -o $@
|
GOARCH=arm GOARM=6 $(GO) build $(BUILD_FLAGS) -o $@
|
||||||
|
|
||||||
target/$(BINARYARM7): $(SOURCES) vendor
|
target/$(BINARYARM7): $(SOURCES)
|
||||||
GOARCH=arm GOARM=7 go build $(BUILD_FLAGS) -o $@
|
GOARCH=arm GOARM=7 $(GO) build $(BUILD_FLAGS) -o $@
|
||||||
|
|
||||||
target/$(BINARYARM8): $(SOURCES) vendor
|
target/$(BINARYARM8): $(SOURCES)
|
||||||
GOARCH=arm64 go build $(BUILD_FLAGS) -o $@
|
GOARCH=arm64 $(GO) build $(BUILD_FLAGS) -o $@
|
||||||
|
|
||||||
target/$(BINARYPPC64LE): $(SOURCES) vendor
|
target/$(BINARYPPC64LE): $(SOURCES)
|
||||||
GOARCH=ppc64le go build $(BUILD_FLAGS) -o $@
|
GOARCH=ppc64le $(GO) build $(BUILD_FLAGS) -o $@
|
||||||
|
|
||||||
bin/fzf: target/$(BINARY) | bin
|
bin/fzf: target/$(BINARY) | bin
|
||||||
cp -f target/$(BINARY) bin/fzf
|
cp -f target/$(BINARY) bin/fzf
|
||||||
@ -146,4 +127,8 @@ docker-test:
|
|||||||
docker build -t fzf-arch .
|
docker build -t fzf-arch .
|
||||||
docker run -it fzf-arch
|
docker run -it fzf-arch
|
||||||
|
|
||||||
.PHONY: all release release-all test install clean docker docker-test
|
update:
|
||||||
|
$(GO) get -u
|
||||||
|
$(GO) mod tidy
|
||||||
|
|
||||||
|
.PHONY: all release release-all test install clean docker docker-test update
|
||||||
|
48
glide.lock
generated
48
glide.lock
generated
@ -1,48 +0,0 @@
|
|||||||
hash: b617c76661b399f586276767bb93ee67b65dd03cfd1348ecad409e372ea97b3e
|
|
||||||
updated: 2018-06-27T18:37:20.189962-07:00
|
|
||||||
imports:
|
|
||||||
- name: github.com/codegangsta/cli
|
|
||||||
version: c6af8847eb2b7b297d07c3ede98903e95e680ef9
|
|
||||||
- name: github.com/gdamore/encoding
|
|
||||||
version: b23993cbb6353f0e6aa98d0ee318a34728f628b9
|
|
||||||
- name: github.com/gdamore/tcell
|
|
||||||
version: 0a0db94084dfe181108c18508ebd312f12d331fb
|
|
||||||
subpackages:
|
|
||||||
- encoding
|
|
||||||
- name: github.com/lucasb-eyer/go-colorful
|
|
||||||
version: c900de9dbbc73129068f5af6a823068fc5f2308c
|
|
||||||
- name: github.com/Masterminds/semver
|
|
||||||
version: 15d8430ab86497c5c0da827b748823945e1cf1e1
|
|
||||||
- name: github.com/Masterminds/vcs
|
|
||||||
version: 6f1c6d150500e452704e9863f68c2559f58616bf
|
|
||||||
- name: github.com/mattn/go-isatty
|
|
||||||
version: 66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8
|
|
||||||
- name: github.com/mattn/go-runewidth
|
|
||||||
version: 14207d285c6c197daabb5c9793d63e7af9ab2d50
|
|
||||||
- name: github.com/mattn/go-shellwords
|
|
||||||
version: 02e3cf038dcea8290e44424da473dd12be796a8a
|
|
||||||
- name: github.com/mitchellh/go-homedir
|
|
||||||
version: b8bc1bf767474819792c23f32d8286a45736f1c6
|
|
||||||
- name: golang.org/x/crypto
|
|
||||||
version: 558b6879de74bc843225cde5686419267ff707ca
|
|
||||||
subpackages:
|
|
||||||
- ssh/terminal
|
|
||||||
- name: golang.org/x/sys
|
|
||||||
version: b90f89a1e7a9c1f6b918820b3daa7f08488c8594
|
|
||||||
subpackages:
|
|
||||||
- unix
|
|
||||||
- name: golang.org/x/text
|
|
||||||
version: 4ee4af566555f5fbe026368b75596286a312663a
|
|
||||||
subpackages:
|
|
||||||
- encoding
|
|
||||||
- encoding/charmap
|
|
||||||
- encoding/internal
|
|
||||||
- encoding/internal/identifier
|
|
||||||
- encoding/japanese
|
|
||||||
- encoding/korean
|
|
||||||
- encoding/simplifiedchinese
|
|
||||||
- encoding/traditionalchinese
|
|
||||||
- transform
|
|
||||||
- name: gopkg.in/yaml.v2
|
|
||||||
version: 287cf08546ab5e7e37d55a84f7ed3fd1db036de5
|
|
||||||
testImports: []
|
|
16
glide.yaml
16
glide.yaml
@ -1,16 +0,0 @@
|
|||||||
package: github.com/junegunn/fzf
|
|
||||||
import:
|
|
||||||
- package: github.com/mattn/go-isatty
|
|
||||||
version: 66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8
|
|
||||||
- package: github.com/mattn/go-runewidth
|
|
||||||
version: 14207d285c6c197daabb5c9793d63e7af9ab2d50
|
|
||||||
- package: github.com/mattn/go-shellwords
|
|
||||||
version: 02e3cf038dcea8290e44424da473dd12be796a8a
|
|
||||||
- package: github.com/gdamore/tcell
|
|
||||||
version: 0a0db94084dfe181108c18508ebd312f12d331fb
|
|
||||||
subpackages:
|
|
||||||
- encoding
|
|
||||||
- package: golang.org/x/crypto
|
|
||||||
version: 558b6879de74bc843225cde5686419267ff707ca
|
|
||||||
subpackages:
|
|
||||||
- ssh/terminal
|
|
17
go.mod
Normal file
17
go.mod
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
module github.com/junegunn/fzf
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/gdamore/encoding v0.0.0-20151215212835-b23993cbb635 // indirect
|
||||||
|
github.com/gdamore/tcell v0.0.0-20170915061752-0a0db94084df
|
||||||
|
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e // indirect
|
||||||
|
github.com/jtolds/gls v4.2.1+incompatible // indirect
|
||||||
|
github.com/lucasb-eyer/go-colorful v0.0.0-20170223221042-c900de9dbbc7 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c
|
||||||
|
github.com/mattn/go-runewidth v0.0.0-20170201023540-14207d285c6c
|
||||||
|
github.com/mattn/go-shellwords v1.0.3
|
||||||
|
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d // indirect
|
||||||
|
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c // indirect
|
||||||
|
golang.org/x/crypto v0.0.0-20170728183002-558b6879de74
|
||||||
|
golang.org/x/sys v0.0.0-20170529185110-b90f89a1e7a9 // indirect
|
||||||
|
golang.org/x/text v0.0.0-20170530162606-4ee4af566555 // indirect
|
||||||
|
)
|
26
go.sum
Normal file
26
go.sum
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
github.com/gdamore/encoding v0.0.0-20151215212835-b23993cbb635 h1:hheUEMzaOie/wKeIc1WPa7CDVuIO5hqQxjS+dwTQEnI=
|
||||||
|
github.com/gdamore/encoding v0.0.0-20151215212835-b23993cbb635/go.mod h1:yrQYJKKDTrHmbYxI7CYi+/hbdiDT2m4Hj+t0ikCjsrQ=
|
||||||
|
github.com/gdamore/tcell v0.0.0-20170915061752-0a0db94084df h1:tLS1QD2puA1USLvkEnGfOt+Zp2ijtNIK3z2YFaIZZR4=
|
||||||
|
github.com/gdamore/tcell v0.0.0-20170915061752-0a0db94084df/go.mod h1:tqyG50u7+Ctv1w5VX67kLzKcj9YXR/JSBZQq/+mLl1A=
|
||||||
|
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
|
||||||
|
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||||
|
github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE=
|
||||||
|
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||||
|
github.com/lucasb-eyer/go-colorful v0.0.0-20170223221042-c900de9dbbc7 h1:G52I+Gk/wPD4HKvKT0Vxxp9OUPxqKs3OK6rffSPtNkA=
|
||||||
|
github.com/lucasb-eyer/go-colorful v0.0.0-20170223221042-c900de9dbbc7/go.mod h1:NXg0ArsFk0Y01623LgUqoqcouGDB+PwCCQlrwrG6xJ4=
|
||||||
|
github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c h1:3nKFouDdpgGUV/uerJcYWH45ZbJzX0SiVWfTgmUeTzc=
|
||||||
|
github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||||
|
github.com/mattn/go-runewidth v0.0.0-20170201023540-14207d285c6c h1:eFzthqtg3W6Pihj3DMTXLAF4f+ge5r5Ie5g6HLIZAF0=
|
||||||
|
github.com/mattn/go-runewidth v0.0.0-20170201023540-14207d285c6c/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||||
|
github.com/mattn/go-shellwords v1.0.3 h1:K/VxK7SZ+cvuPgFSLKi5QPI9Vr/ipOf4C1gN+ntueUk=
|
||||||
|
github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
|
||||||
|
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
|
||||||
|
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||||
|
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c h1:Ho+uVpkel/udgjbwB5Lktg9BtvJSh2DT0Hi6LPSyI2w=
|
||||||
|
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
|
||||||
|
golang.org/x/crypto v0.0.0-20170728183002-558b6879de74 h1:/0jf0Cx3u07Ma4EzUA6NIGuvk9hb3Br6i9V8atthkwk=
|
||||||
|
golang.org/x/crypto v0.0.0-20170728183002-558b6879de74/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/sys v0.0.0-20170529185110-b90f89a1e7a9 h1:wFe/9vW2TmDagagfMeC56pEcmhyMWEqvuwE9CDAePNo=
|
||||||
|
golang.org/x/sys v0.0.0-20170529185110-b90f89a1e7a9/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/text v0.0.0-20170530162606-4ee4af566555 h1:pjwO9HxObpgZBurDvTLFbSinaf3+cKpTAjVfiGaHwrI=
|
||||||
|
golang.org/x/text v0.0.0-20170530162606-4ee4af566555/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
Loading…
Reference in New Issue
Block a user