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 <art27@cantab.net> * fixup * Apply suggestions from code review Co-Authored-By: Antoine GIRARD <sapk@users.noreply.github.com> Co-Authored-By: Bagas Sanjaya <bagasdotme@gmail.com> * Apply suggestions from code review * Fix GOPATH settings Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com> Co-authored-by: Bagas Sanjaya <bagasdotme@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		
							parent
							
								
									db42a15fa0
								
							
						
					
					
						commit
						82a979707a
					
				
					 4 changed files with 24 additions and 27 deletions
				
			
		
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							|  | @ -5,8 +5,9 @@ export GO111MODULE=off | ||||||
| GO ?= go | GO ?= go | ||||||
| SED_INPLACE := sed -i | SED_INPLACE := sed -i | ||||||
| SHASUM ?= shasum -a 256 | SHASUM ?= shasum -a 256 | ||||||
|  | GOPATH ?= $(shell $(GO) env GOPATH) | ||||||
| 
 | 
 | ||||||
| export PATH := $($(GO) env GOPATH)/bin:$(PATH) | export PATH := $(GOPATH)/bin:$(PATH) | ||||||
| 
 | 
 | ||||||
| ifeq ($(OS), Windows_NT) | ifeq ($(OS), Windows_NT) | ||||||
| 	EXECUTABLE ?= gitea.exe | 	EXECUTABLE ?= gitea.exe | ||||||
|  |  | ||||||
|  | @ -33,6 +33,10 @@ From the root of the source tree, run: | ||||||
| 
 | 
 | ||||||
|     TAGS="bindata" make build |     TAGS="bindata" make build | ||||||
| 
 | 
 | ||||||
|  | or if sqlite support is required: | ||||||
|  | 
 | ||||||
|  |     TAGS="bindata sqlite sqlite_unlock_notify" make build | ||||||
|  | 
 | ||||||
| More info: https://docs.gitea.io/en-us/install-from-source/ | More info: https://docs.gitea.io/en-us/install-from-source/ | ||||||
| 
 | 
 | ||||||
| ## Using | ## Using | ||||||
|  |  | ||||||
|  | @ -50,31 +50,23 @@ is the relevant line - but this may change.) | ||||||
| 
 | 
 | ||||||
| ## Downloading and cloning the Gitea source code | ## Downloading and cloning the Gitea source code | ||||||
| 
 | 
 | ||||||
| Go is quite opinionated about where it expects its source code, and simply | The recommended method of obtaining the source code is by using `git clone`. | ||||||
| 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: |  | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| go get -d code.gitea.io/gitea | git clone https://github.com/go-gitea/gitea | ||||||
| cd "$GOPATH/src/code.gitea.io/gitea" |  | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| This will clone the Gitea source code to: `"$GOPATH/src/code.gitea.io/gitea"`, or if `$GOPATH` | (Since the advent of go modules, it is no longer necessary to build go projects | ||||||
| is not set `"$HOME/go/src/code.gitea.io/gitea"`. | from within the `$GOPATH`, hence the `go get` approach is no longer recommended.) | ||||||
| 
 | 
 | ||||||
| ## Forking Gitea | ## Forking Gitea | ||||||
| 
 | 
 | ||||||
| As stated above, you cannot clone Gitea to an arbitrary path. Download the master Gitea source | Download the master Gitea source code as above. Then, fork the  | ||||||
| code as above. Then, fork the [Gitea repository](https://github.com/go-gitea/gitea) on GitHub, | [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: | and either switch the git remote origin for your fork or add your fork as another remote: | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| # Rename original Gitea origin to upstream | # Rename original Gitea origin to upstream | ||||||
| cd "$GOPATH/src/code.gitea.io/gitea" |  | ||||||
| git remote rename origin upstream | git remote rename origin upstream | ||||||
| git remote add origin "git@github.com:$GITHUB_USERNAME/gitea.git" | git remote add origin "git@github.com:$GITHUB_USERNAME/gitea.git" | ||||||
| git fetch --all --prune | git fetch --all --prune | ||||||
|  | @ -84,7 +76,6 @@ or: | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| # Add new remote for our fork | # 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 remote add "$FORK_NAME" "git@github.com:$GITHUB_USERNAME/gitea.git" | ||||||
| git fetch --all --prune | git fetch --all --prune | ||||||
| ``` | ``` | ||||||
|  | @ -114,7 +105,7 @@ how our continuous integration works. | ||||||
| 
 | 
 | ||||||
| ### Formatting, code analysis and spell check | ### 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. | code analysis or spell check. | ||||||
| 
 | 
 | ||||||
| You should format your code with `go fmt` using: | 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 | TAGS="bindata sqlite sqlite_unlock_notify" make build test-sqlite | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| will run the integration tests in an sqlite environment. Other database tests | will run the integration tests in an sqlite environment. Integration tests | ||||||
| are available but may need adjustment to the local environment. | require  `git lfs` to be installed. Other database tests are available but | ||||||
|  | may need adjustment to the local environment. | ||||||
| 
 | 
 | ||||||
| Look at | Look at | ||||||
| [`integrations/README.md`](https://github.com/go-gitea/gitea/blob/master/integrations/README.md) | [`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: | can test your changes to ensure that they pass continuous integration using: | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| cd "$GOPATH/src/code.gitea.io/gitea/docs" | # from the docs directory within Gitea | ||||||
| make trans-copy clean build | make trans-copy clean build | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -38,17 +38,17 @@ Gitea</a> | ||||||
| 
 | 
 | ||||||
| ## Download | ## Download | ||||||
| 
 | 
 | ||||||
| First, retrieve the source code. The easiest way is to use the Go tool. Use the | First, we must retrieve the source code. Since, the advent of go modules, the | ||||||
| following commands to fetch the source and switch into the source directory. | simplest way of doing this is to use git directly as we no longer have to have | ||||||
| Go is quite opinionated about where it expects its source code, and simply | gitea built from within the GOPATH.  | ||||||
| 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. |  | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| go get -d -u code.gitea.io/gitea | git clone https://github.com/go-gitea/gitea | ||||||
| cd "$GOPATH/src/code.gitea.io/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 | Decide which version of Gitea to build and install. Currently, there are | ||||||
| multiple options to choose from. The `master` branch represents the current | multiple options to choose from. The `master` branch represents the current | ||||||
| development version. To build with master, skip to the [build section](#build). | development version. To build with master, skip to the [build section](#build). | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue