Merge branch 'master' of github.com:Netflix-Skunkworks/go-jira

This commit is contained in:
Cory Bennett
2016-06-29 01:40:21 +01:00
2 changed files with 45 additions and 24 deletions
+9 -10
View File
@@ -17,14 +17,14 @@ NAME=jira
OS=$(shell uname -s)
ifeq ($(filter CYGWIN%,$(OS)),$(OS))
export CWD=$(shell cygpath -wa .)
export SEP=\\
export CYGWIN=winsymlinks:native
BIN ?= $(GOBIN)$(SEP)$(NAME).exe
export CWD=$(shell cygpath -wa .)
export SEP=\\
export CYGWIN=winsymlinks:native
BIN ?= $(GOBIN)$(SEP)$(NAME).exe
else
export CWD=$(shell pwd)
export SEP=/
BIN ?= $(GOBIN)$(SEP)$(NAME)
export CWD=$(shell pwd)
export SEP=/
BIN ?= $(GOBIN)$(SEP)$(NAME)
endif
export GOPATH=$(CWD)
@@ -33,7 +33,6 @@ DIST=$(CWD)$(SEP)dist
GOBIN ?= $(CWD)
CURVER ?= $(shell [ -d .git ] && git describe --abbrev=0 --tags || grep ^\#\# CHANGELOG.md | awk '{print $$2; exit}')
LDFLAGS:=-X jira.VERSION=$(patsubst v%,%,$(CURVER)) -w
@@ -50,12 +49,12 @@ build: src/github.com/Netflix-Skunkworks/go-jira
src/%:
mkdir -p $(@D)
test -L $@ || ln -sf '$(GOPATH)' $@
test -L $@ || ln -sf '$(GOPATH)' $@
go get -v $* $*/main
cross-setup:
for p in $(PLATFORMS); do \
echo "Building for $$p"; \
echo Building for $$p"; \
cd $(GOROOT)/src && sudo GOROOT_BOOTSTRAP=$(GOROOT) GOOS=$${p/-*/} GOARCH=$${p/*-/} bash ./make.bash --no-clean; \
done
+36 -14
View File
@@ -6,6 +6,7 @@ import (
"encoding/json"
"errors"
"fmt"
"path/filepath"
"github.com/mgutz/ansi"
"gopkg.in/coryb/yaml.v2"
"io"
@@ -13,36 +14,57 @@ import (
"net/http"
"os"
"strings"
"runtime"
"text/template"
"time"
)
func homedir() string {
log.Errorf("GOOS: %s", runtime.GOOS)
if runtime.GOOS == "windows" {
return os.Getenv("USERPROFILE")
}
return os.Getenv("HOME")
}
func FindParentPaths(fileName string) []string {
cwd, _ := os.Getwd()
paths := make([]string, 0)
// special case if homedir is not in current path then check there anyway
homedir := os.Getenv("HOME")
if !strings.HasPrefix(cwd, homedir) {
file := fmt.Sprintf("%s/%s", homedir, fileName)
if _, err := os.Stat(file); err == nil {
paths = append(paths, file)
homedir := homedir()
if !filepath.HasPrefix(cwd, homedir) {
path := filepath.Join(homedir, fileName)
if _, err := os.Stat(path); err == nil {
paths = append(paths, path)
}
}
var dir string
for _, part := range strings.Split(cwd, string(os.PathSeparator)) {
if dir == "/" {
dir = fmt.Sprintf("/%s", part)
} else {
dir = fmt.Sprintf("%s/%s", dir, part)
path := filepath.Join(cwd, fileName)
if _, err := os.Stat(path); err == nil {
paths = append(paths, path)
}
for true {
cwd = filepath.Dir(cwd)
path := filepath.Join(cwd, fileName)
if _, err := os.Stat(path); err == nil {
paths = append(paths, path)
}
file := fmt.Sprintf("%s/%s", dir, fileName)
if _, err := os.Stat(file); err == nil {
paths = append(paths, file)
if cwd[len(cwd)-1]== filepath.Separator {
break
}
}
// for _, part := range strings.Split(cwd, string(os.PathSeparator)) {
// if dir == "/" {
// dir = fmt.Sprintf("/%s", part)
// } else {
// dir = fmt.Sprintf("%s/%s", dir, part)
// }
// file := fmt.Sprintf("%s/%s", dir, fileName)
// }
log.Errorf("PATHS: %#v", paths)
return paths
}