From 136b4012528019ea80858cc4003bba7f3f7e791d Mon Sep 17 00:00:00 2001 From: zeripath Date: Wed, 29 Jan 2020 02:30:02 +0000 Subject: [PATCH] Update documentation for the go module era (#9751) * Update documentation for the go module era use go env instead of $GOPATH Update instructions to just use git clone Slight update to readme Signed-off-by: Andrew Thornton * fixup * Apply suggestions from code review Co-Authored-By: Antoine GIRARD Co-Authored-By: Bagas Sanjaya * Apply suggestions from code review * Fix GOPATH settings Co-authored-by: Antoine GIRARD Co-authored-by: Bagas Sanjaya Co-authored-by: Lunny Xiao Co-authored-by: techknowlogick --- doc/advanced/hacking-on-gitea.en-us.md | 30 ++++++++++---------------- doc/installation/from-source.en-us.md | 14 ++++++------ 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/doc/advanced/hacking-on-gitea.en-us.md b/doc/advanced/hacking-on-gitea.en-us.md index fdccdf19..9c865ebf 100644 --- a/doc/advanced/hacking-on-gitea.en-us.md +++ b/doc/advanced/hacking-on-gitea.en-us.md @@ -50,31 +50,23 @@ is the relevant line - but this may change.) ## Downloading and cloning the Gitea source code -Go is quite opinionated about where it expects its source code, and simply -cloning the Gitea repository to an arbitrary path is likely to lead to -problems - the fixing of which is out of scope for this document. Further, some -internal packages are referenced using their respective GitHub URL and at -present we use `vendor/` directories. - -The recommended method of obtaining the source code is by using the `go get` command: +The recommended method of obtaining the source code is by using `git clone`. ```bash -go get -d code.gitea.io/gitea -cd "$GOPATH/src/code.gitea.io/gitea" +git clone https://github.com/go-gitea/gitea ``` -This will clone the Gitea source code to: `"$GOPATH/src/code.gitea.io/gitea"`, or if `$GOPATH` -is not set `"$HOME/go/src/code.gitea.io/gitea"`. +(Since the advent of go modules, it is no longer necessary to build go projects +from within the `$GOPATH`, hence the `go get` approach is no longer recommended.) ## Forking Gitea -As stated above, you cannot clone Gitea to an arbitrary path. Download the master Gitea source -code as above. Then, fork the [Gitea repository](https://github.com/go-gitea/gitea) on GitHub, +Download the master Gitea source code as above. Then, fork the +[Gitea repository](https://github.com/go-gitea/gitea) on GitHub, and either switch the git remote origin for your fork or add your fork as another remote: ```bash # Rename original Gitea origin to upstream -cd "$GOPATH/src/code.gitea.io/gitea" git remote rename origin upstream git remote add origin "git@github.com:$GITHUB_USERNAME/gitea.git" git fetch --all --prune @@ -84,7 +76,6 @@ or: ```bash # Add new remote for our fork -cd "$GOPATH/src/code.gitea.io/gitea" git remote add "$FORK_NAME" "git@github.com:$GITHUB_USERNAME/gitea.git" git fetch --all --prune ``` @@ -114,7 +105,7 @@ how our continuous integration works. ### Formatting, code analysis and spell check -Our continous integration will reject PRs that are not properly formatted, fail +Our continuous integration will reject PRs that are not properly formatted, fail code analysis or spell check. You should format your code with `go fmt` using: @@ -237,8 +228,9 @@ have written integration tests; however, these are database dependent. TAGS="bindata sqlite sqlite_unlock_notify" make build test-sqlite ``` -will run the integration tests in an sqlite environment. Other database tests -are available but may need adjustment to the local environment. +will run the integration tests in an sqlite environment. Integration tests +require `git lfs` to be installed. Other database tests are available but +may need adjustment to the local environment. Look at [`integrations/README.md`](https://github.com/go-gitea/gitea/blob/master/integrations/README.md) @@ -257,7 +249,7 @@ Documentation for the website is found in `docs/`. If you change this you can test your changes to ensure that they pass continuous integration using: ```bash -cd "$GOPATH/src/code.gitea.io/gitea/docs" +# from the docs directory within Gitea make trans-copy clean build ``` diff --git a/doc/installation/from-source.en-us.md b/doc/installation/from-source.en-us.md index f5e12182..fcd6fae1 100644 --- a/doc/installation/from-source.en-us.md +++ b/doc/installation/from-source.en-us.md @@ -38,17 +38,17 @@ Gitea ## Download -First, retrieve the source code. The easiest way is to use the Go tool. Use the -following commands to fetch the source and switch into the source directory. -Go is quite opinionated about where it expects its source code, and simply -cloning the Gitea repository to an arbitrary path is likely to lead to -problems - the fixing of which is out of scope for this document. +First, we must retrieve the source code. Since, the advent of go modules, the +simplest way of doing this is to use git directly as we no longer have to have +gitea built from within the GOPATH. ```bash -go get -d -u code.gitea.io/gitea -cd "$GOPATH/src/code.gitea.io/gitea" +git clone https://github.com/go-gitea/gitea ``` +(Previous versions of this document recommended using `go get`. This is +no longer necessary.) + Decide which version of Gitea to build and install. Currently, there are multiple options to choose from. The `master` branch represents the current development version. To build with master, skip to the [build section](#build).