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>
mj
zeripath 4 years ago committed by GitHub
parent db42a15fa0
commit 82a979707a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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…
Cancel
Save