* Basic VSCode configuration for building and debugging * Fix building and debugging in Windows * Move to contrib folder and add instructionstags/v1.21.12.1
| @@ -10,6 +10,9 @@ _test | |||||
| # IntelliJ | # IntelliJ | ||||
| .idea | .idea | ||||
| # MS VSCode | |||||
| .vscode | |||||
| # Architecture specific extensions/prefixes | # Architecture specific extensions/prefixes | ||||
| *.[568vq] | *.[568vq] | ||||
| [568vq].out | [568vq].out | ||||
| @@ -36,6 +39,7 @@ _testmain.go | |||||
| *.log | *.log | ||||
| /gitea | /gitea | ||||
| /debug | |||||
| /integrations.test | /integrations.test | ||||
| /bin | /bin | ||||
| @@ -26,6 +26,8 @@ It assumes you have followed the | |||||
| Sensitive security-related issues should be reported to | Sensitive security-related issues should be reported to | ||||
| [security@gitea.io](mailto:security@gitea.io). | [security@gitea.io](mailto:security@gitea.io). | ||||
| For configuring IDE or code editor to develop Gitea see [IDE and code editor configuration](contrib/ide/) | |||||
| ## Bug reports | ## Bug reports | ||||
| Please search the issues on the issue tracker with a variety of keywords | Please search the issues on the issue tracker with a variety of keywords | ||||
| @@ -0,0 +1,12 @@ | |||||
| # IDE and code editor configuration | |||||
| ## Table of Contents | |||||
| - [IDE and code editor configuration](#ide-and-code-editor-configuration) | |||||
| - [Microsoft Visual Studio Code](#microsoft-visual-studio-code) | |||||
| ## Microsoft Visual Studio Code | |||||
| Download Microsoft Visual Studio Code at https://code.visualstudio.com/ and follow instructions at https://code.visualstudio.com/docs/languages/go to setup Go extension for it. | |||||
| Create new direcotry `.vscode` in Gitea root folder and copy contents of folder [contrib/ide/vscode](vscode/) to it. You can now use `Ctrl`+`Shift`+`B` to build gitea executable and `F5` to run it in debug mode. | |||||
| Supported on Debian, Ubuntu, Red Hat, Fedora, SUSE Linux, MacOS and Microsoft Windows. | |||||
| @@ -0,0 +1,31 @@ | |||||
| { | |||||
| "version": "0.2.0", | |||||
| "configurations": [ | |||||
| { | |||||
| "name": "Launch", | |||||
| "type": "go", | |||||
| "request": "launch", | |||||
| "mode": "debug", | |||||
| "buildFlags": "", | |||||
| "port": 2345, | |||||
| "host": "127.0.0.1", | |||||
| "program": "${workspaceRoot}/main.go", | |||||
| "env": {}, | |||||
| "args": ["web"], | |||||
| "showLog": true | |||||
| }, | |||||
| { | |||||
| "name": "Launch (with SQLite3)", | |||||
| "type": "go", | |||||
| "request": "launch", | |||||
| "mode": "debug", | |||||
| "buildFlags": "-tags=\"sqlite\"", | |||||
| "port": 2345, | |||||
| "host": "127.0.0.1", | |||||
| "program": "${workspaceRoot}/main.go", | |||||
| "env": {}, | |||||
| "args": ["web"], | |||||
| "showLog": true | |||||
| } | |||||
| ] | |||||
| } | |||||
| @@ -0,0 +1,51 @@ | |||||
| { | |||||
| "version": "2.0.0", | |||||
| "tasks": [ | |||||
| { | |||||
| "taskName": "Build", | |||||
| "type": "shell", | |||||
| "command": "go", | |||||
| "group": "build", | |||||
| "presentation": { | |||||
| "echo": true, | |||||
| "reveal": "always", | |||||
| "focus": false, | |||||
| "panel": "shared" | |||||
| }, | |||||
| "args": ["build"], | |||||
| "linux": { | |||||
| "args": [ "-o", "gitea", "${workspaceRoot}/main.go" ] | |||||
| }, | |||||
| "osx": { | |||||
| "args": [ "-o", "gitea", "${workspaceRoot}/main.go" ] | |||||
| }, | |||||
| "windows": { | |||||
| "args": [ "-o", "gitea.exe", "\"${workspaceRoot}\\main.go\""] | |||||
| }, | |||||
| "problemMatcher": ["$go"] | |||||
| }, | |||||
| { | |||||
| "taskName": "Build (with SQLite3)", | |||||
| "type": "shell", | |||||
| "command": "go", | |||||
| "group": "build", | |||||
| "presentation": { | |||||
| "echo": true, | |||||
| "reveal": "always", | |||||
| "focus": false, | |||||
| "panel": "shared" | |||||
| }, | |||||
| "args": ["build", "-tags=\"sqlite\""], | |||||
| "linux": { | |||||
| "args": ["-o", "gitea", "${workspaceRoot}/main.go"] | |||||
| }, | |||||
| "osx": { | |||||
| "args": ["-o", "gitea", "${workspaceRoot}/main.go"] | |||||
| }, | |||||
| "windows": { | |||||
| "args": ["-o", "gitea.exe", "\"${workspaceRoot}\\main.go\""] | |||||
| }, | |||||
| "problemMatcher": ["$go"] | |||||
| } | |||||
| ] | |||||
| } | |||||
| @@ -500,7 +500,11 @@ func DateLang(lang string) string { | |||||
| // execPath returns the executable path. | // execPath returns the executable path. | ||||
| func execPath() (string, error) { | func execPath() (string, error) { | ||||
| file, err := exec.LookPath(os.Args[0]) | |||||
| execFile := os.Args[0] | |||||
| if IsWindows && filepath.IsAbs(execFile) { | |||||
| return filepath.Clean(execFile), nil | |||||
| } | |||||
| file, err := exec.LookPath(execFile) | |||||
| if err != nil { | if err != nil { | ||||
| return "", err | return "", err | ||||
| } | } | ||||