Я использую Ultimate с плагином goland и dep
. Я раньше тоже работал на улице GOPATH
. Обычно без идеи я использую сценарий оболочки и Makefile
для сборки проекта и был до сих пор доволен этим. Идея с dep
интеграцией, конечно, заставляет меня работать внутри GOPATH/src
. Есть ли способ настроить эту среду IDE для запуска сценария оболочки, который будет подделывать среду проекта, устанавливать GOPATH
, GOBIN
и делать счастливым dep
и избавляться от ... is not within a known GOPATH/src
и «отсутствующего» импорта.
Я пытался запустить его через ./build/env.sh idea .
, но все еще не получен импорт и ... is not within a known GOPATH/src
. Пытался поиграть и с настройками проекта, кажется, ничто не может удовлетворить это gep
.
env. sh
#!/bin/sh
set -e
if [ ! -f "build/env.sh" ]; then
echo "$0 must be run from the root of the repository."
exit 2
fi
project="proj"
repositoryRoot="domain.com/username"
# Create fake Go workspace if it doesn't exist yet.
workspace="$PWD/build/_workspace"
root="$PWD"
dir="$workspace/src/$repositoryRoot"
if [ ! -L "$dir/$project" ]; then
mkdir -p "$dir"
cd "$dir"
ln -s ../../../../../. $project
cd "$root"
fi
# Set up the environment to use the workspace.
# Also add Godeps workspace so we build using canned dependencies.
GOPATH="$workspace"
GOBIN="$PWD/build/bin"
# Run the command inside the workspace.
cd "$dir/$project"
PWD="$dir/$project"
# Launch the arguments with the configured environment.
exec "$@"
Makefile
.PHONY: all test clean
GOBIN = build/bin
all:
build/env.sh go get github.com/golang/dep/cmd/dep
build/env.sh $(GOBIN)/dep ensure
build/env.sh go build -v -o $(GOBIN)/proj