Intergrate vscode and gmake
This commit is contained in:
parent
469d1dfcb3
commit
ac6f46345a
6
.gitignore
vendored
6
.gitignore
vendored
@ -4,6 +4,8 @@
|
|||||||
*.dll
|
*.dll
|
||||||
*.so
|
*.so
|
||||||
*.dylib
|
*.dylib
|
||||||
|
bin/
|
||||||
|
.env/
|
||||||
|
|
||||||
# Test binary, built with `go test -c`
|
# Test binary, built with `go test -c`
|
||||||
*.test
|
*.test
|
||||||
@ -11,6 +13,6 @@
|
|||||||
# Output of the go coverage tool, specifically when used with LiteIDE
|
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||||
*.out
|
*.out
|
||||||
|
|
||||||
# Dependency directories (remove the comment below to include it)
|
# Dependency directories
|
||||||
# vendor/
|
vendor/
|
||||||
plugins/
|
plugins/
|
15
.vscode/launch.json
vendored
Normal file
15
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Launch executable",
|
||||||
|
"type": "go",
|
||||||
|
"request": "launch",
|
||||||
|
"mode": "exec",
|
||||||
|
"program": "${workspaceRoot}/bin/OpenSkins",
|
||||||
|
"preLaunchTask": "compile",
|
||||||
|
"internalConsoleOptions": "openOnSessionStart"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
35
.vscode/tasks.json
vendored
Normal file
35
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "compile",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make compile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "install",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make install"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "clean",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make clean"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "build",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make build"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "run",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make run"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "test",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make test"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
82
Makefile
Normal file
82
Makefile
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
#include .env
|
||||||
|
|
||||||
|
PROJECTNAME="OpenSkins"
|
||||||
|
|
||||||
|
# Go related variables.
|
||||||
|
GOBASE=$(shell pwd)
|
||||||
|
GOPATH=$(GOBASE)/vendor:$(GOBASE):/home/azer/code/golang # You can remove or change the path after last colon.
|
||||||
|
GOBIN=$(GOBASE)/bin
|
||||||
|
GOFILES=$(wildcard *.go)
|
||||||
|
|
||||||
|
# Redirect error output to a file, so we can show it in development mode.
|
||||||
|
STDERR=/tmp/.$(PROJECTNAME)-stderr.txt
|
||||||
|
|
||||||
|
# PID file will store the server process id when it's running on development mode
|
||||||
|
PID=/tmp/.$(PROJECTNAME)-api-server.pid
|
||||||
|
|
||||||
|
# Make is verbose in Linux. Make it silent.
|
||||||
|
MAKEFLAGS += --silent
|
||||||
|
|
||||||
|
go-compile: go-clean go-get go-build
|
||||||
|
|
||||||
|
go-build:
|
||||||
|
@echo " > Building binary..."
|
||||||
|
@GOPATH=$(GOPATH) GOBIN=$(GOBIN) go build -o $(GOBIN)/$(PROJECTNAME) $(GOFILES)
|
||||||
|
|
||||||
|
go-generate:
|
||||||
|
@echo " > Generating dependency files..."
|
||||||
|
@GOPATH=$(GOPATH) GOBIN=$(GOBIN) go generate $(generate)
|
||||||
|
|
||||||
|
go-get:
|
||||||
|
@echo " > Checking if there is any missing dependencies..."
|
||||||
|
@GOPATH=$(GOPATH) GOBIN=$(GOBIN) go get $(get)
|
||||||
|
|
||||||
|
go-install:
|
||||||
|
@GOPATH=$(GOPATH) GOBIN=$(GOBIN) go install $(GOFILES)
|
||||||
|
|
||||||
|
go-clean:
|
||||||
|
@echo " > Cleaning build cache"
|
||||||
|
@GOPATH=$(GOPATH) GOBIN=$(GOBIN) go clean
|
||||||
|
|
||||||
|
go-test:
|
||||||
|
@echo " > Running tests..."
|
||||||
|
@GOPATH=$(GOPATH) GOBIN=$(GOBIN) go test
|
||||||
|
|
||||||
|
go-run:
|
||||||
|
@echo " > Running ${PROJECTNAME}"
|
||||||
|
@-(cd $(GOBIN); ./$(PROJECTNAME))
|
||||||
|
|
||||||
|
|
||||||
|
## install: downloads and installs dependencies
|
||||||
|
install: go-get
|
||||||
|
|
||||||
|
## clean: test
|
||||||
|
clean:
|
||||||
|
@(MAKEFILE) go-clean
|
||||||
|
|
||||||
|
## compile: cleans project, installs dependencies, and builds project
|
||||||
|
compile:
|
||||||
|
@-touch $(STDERR)
|
||||||
|
@-rm $(STDERR)
|
||||||
|
@-$(MAKE) -s go-compile 2> $(STDERR)
|
||||||
|
@cat $(STDERR) | sed -e '1s/.*/\nError:\n/' | sed 's/make\[.*/ /' | sed "/^/s/^/ /" 1>&2
|
||||||
|
|
||||||
|
## watch: Runs go clean
|
||||||
|
watch:
|
||||||
|
@yolo -i . -e vendor -e bin -c $(run)
|
||||||
|
|
||||||
|
## build: Runs go build
|
||||||
|
build: go-build
|
||||||
|
|
||||||
|
## run: Compiles and executes project binary
|
||||||
|
run: go-compile go-run
|
||||||
|
|
||||||
|
## test: Run unit tests
|
||||||
|
test: go-test
|
||||||
|
|
||||||
|
## help: Displays help text for make commands
|
||||||
|
.DEFAULT_GOAL := help
|
||||||
|
all: help
|
||||||
|
help: Makefile
|
||||||
|
@echo " Choose a command run in "$(PROJECTNAME)":"
|
||||||
|
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e 's/^/ /'
|
3
main.go
3
main.go
@ -17,7 +17,8 @@ func main() {
|
|||||||
|
|
||||||
pluginFiles, err := pluginmanager.GetPlugins(plugindirectory)
|
pluginFiles, err := pluginmanager.GetPlugins(plugindirectory)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warningln(fmt.Sprintf("Failed to read plugins directory: %v", err.Error()))
|
log.Fatalln(fmt.Sprintf("Failed to read plugins directory: %v", err.Error()))
|
||||||
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadedPlugins := []*plugin.Plugin{}
|
loadedPlugins := []*plugin.Plugin{}
|
||||||
|
Reference in New Issue
Block a user