forked from oauth2-proxy/oauth2-proxy
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
209 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
MAKE := "/usr/bin/make" | ||
GO := "/usr/local/bin/go" | ||
DEP := "/usr/local/bin/dep" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,7 @@ Download the dependencies using [`dep`](https://github.com/golang/dep). | |
```bash | ||
cd $GOPATH/src/github.com # Create this directory if it doesn't exist | ||
git clone [email protected]:<YOUR_FORK>/oauth2_proxy pusher/oauth2_proxy | ||
dep ensure # Installs dependencies to vendor folder. | ||
make dep | ||
``` | ||
|
||
## Pull Requests and Issues | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
include .env | ||
BINARY := oauth2_proxy | ||
VERSION := $(shell git describe --always --long --dirty --tags 2>/dev/null || echo "undefined") | ||
|
||
.PHONY: all | ||
all: dep lint $(BINARY) | ||
|
||
.PHONY: clean | ||
clean: | ||
rm -rf release | ||
rm -f $(BINARY) | ||
|
||
.PHONY: distclean | ||
distclean: clean | ||
rm -rf vendor | ||
|
||
BIN_DIR := $(GOPATH)/bin | ||
GOMETALINTER := $(BIN_DIR)/gometalinter | ||
|
||
$(GOMETALINTER): | ||
$(GO) get -u github.com/alecthomas/gometalinter | ||
gometalinter --install %> /dev/null | ||
|
||
.PHONY: lint | ||
lint: $(GOMETALINTER) | ||
$(GOMETALINTER) --vendor --disable-all \ | ||
--enable=vet \ | ||
--enable=vetshadow \ | ||
--enable=golint \ | ||
--enable=ineffassign \ | ||
--enable=goconst \ | ||
--enable=deadcode \ | ||
--enable=gofmt \ | ||
--enable=goimports \ | ||
--tests ./... | ||
|
||
.PHONY: dep | ||
dep: | ||
$(DEP) ensure --vendor-only | ||
|
||
.PHONY: build | ||
build: clean $(BINARY) | ||
|
||
$(BINARY): | ||
$(GO) build -ldflags="-X main.VERSION=${VERSION}" -o $(BINARY) github.com/pusher/oauth2_proxy | ||
|
||
.PHONY: test | ||
test: dep lint | ||
$(GO) test -v -race $(go list ./... | grep -v /vendor/) | ||
|
||
.PHONY: release | ||
release: dep lint test | ||
mkdir release | ||
GOOS=darwin GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" -o release/$(BINARY)-darwin-amd64 github.com/pusher/oauth2_proxy | ||
GOOS=linux GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" -o release/$(BINARY)-linux-amd64 github.com/pusher/oauth2_proxy |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
#!/usr/bin/env bash | ||
|
||
RED='\033[0;31m' | ||
GREEN='\033[0;32m' | ||
BLUE='\033[0;34m' | ||
NC='\033[0m' | ||
|
||
declare -A tools=() | ||
declare -A desired=() | ||
|
||
for arg in "$@"; do | ||
case ${arg%%=*} in | ||
"--with-go") | ||
desired[go]="${arg##*=}" | ||
;; | ||
"--with-dep") | ||
desired[dep]="${arg##*=}" | ||
;; | ||
"--help") | ||
printf "${GREEN}$0${NC}\n" | ||
printf " available options:\n" | ||
printf " --with-dep=${BLUE}<path_to_dep_binary>${NC}\n" | ||
printf " --with-go=${BLUE}<path_to_go_binary>${NC}\n" | ||
exit 0 | ||
;; | ||
*) | ||
echo "Unknown option: $arg" | ||
exit 2 | ||
;; | ||
esac | ||
done | ||
|
||
vercomp () { | ||
if [[ $1 == $2 ]] | ||
then | ||
return 0 | ||
fi | ||
local IFS=. | ||
local i ver1=($1) ver2=($2) | ||
# fill empty fields in ver1 with zeros | ||
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) | ||
do | ||
ver1[i]=0 | ||
done | ||
for ((i=0; i<${#ver1[@]}; i++)) | ||
do | ||
if [[ -z ${ver2[i]} ]] | ||
then | ||
# fill empty fields in ver2 with zeros | ||
ver2[i]=0 | ||
fi | ||
if ((10#${ver1[i]} > 10#${ver2[i]})) | ||
then | ||
return 1 | ||
fi | ||
if ((10#${ver1[i]} < 10#${ver2[i]})) | ||
then | ||
return 2 | ||
fi | ||
done | ||
return 0 | ||
} | ||
|
||
check_for() { | ||
echo -n "Checking for $1... " | ||
if ! [ -z "${desired[$1]}" ]; then | ||
TOOL_PATH="${desired[$1]}" | ||
else | ||
TOOL_PATH=$(command -v $1) | ||
fi | ||
if ! [ -x "$TOOL_PATH" -a -f "$TOOL_PATH" ]; then | ||
printf "${RED}not found${NC}\n" | ||
cd - | ||
exit 1 | ||
else | ||
printf "${GREEN}found${NC}\n" | ||
tools[$1]=$TOOL_PATH | ||
fi | ||
} | ||
|
||
check_go_version() { | ||
echo -n "Checking go version... " | ||
GO_VERSION=$(${tools[go]} version | ${tools[awk]} '{where = match($0, /[0-9]\.[0-9]+\.[0-9]*/); if (where != 0) print substr($0, RSTART, RLENGTH)}') | ||
vercomp $GO_VERSION 1.10 | ||
case $? in | ||
0) ;& | ||
1) | ||
printf "${GREEN}" | ||
echo $GO_VERSION | ||
printf "${NC}" | ||
;; | ||
2) | ||
printf "${RED}" | ||
echo "$GO_VERSION < 1.10" | ||
exit 1 | ||
;; | ||
esac | ||
} | ||
|
||
check_docker_version() { | ||
echo -n "Checking docker version... " | ||
DOCKER_VERSION=$(${tools[docker]} version | ${tools[awk]}) | ||
} | ||
|
||
check_go_env() { | ||
echo -n "Checking \$GOPATH... " | ||
if [ -z "$GOPATH" ]; then | ||
printf "${RED}invalid${NC} - GOPATH not set\n" | ||
exit 1 | ||
fi | ||
printf "${GREEN}valid${NC} - $GOPATH\n" | ||
} | ||
|
||
cd ${0%/*} | ||
|
||
if [ ! -f .env ]; then | ||
rm .env | ||
fi | ||
|
||
check_for make | ||
check_for awk | ||
check_for go | ||
check_go_version | ||
check_go_env | ||
check_for dep | ||
|
||
echo | ||
|
||
cat <<- EOF > .env | ||
MAKE := "${tools[make]}" | ||
GO := "${tools[go]}" | ||
DEP := "${tools[dep]}" | ||
EOF | ||
|
||
echo "Environment configuration written to .env" | ||
|
||
cd - > /dev/null |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package main | ||
|
||
// VERSION contains version information | ||
const VERSION = "2.2.1-alpha" | ||
var VERSION = "undefined" |