Add a build tag: ui, to permit using happydomain as a module
continuous-integration/drone/push Build is passing Details

This commit is contained in:
nemunaire 2023-09-07 13:12:02 +02:00
parent a27b7053b7
commit 15c36e892f
4 changed files with 31 additions and 17 deletions

View File

@ -60,7 +60,7 @@ steps:
- sed -i '/npm run build/d' ui/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go generate -v ./...
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- ln happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} happydomain
environment:
CGO_ENABLED: 0
@ -76,7 +76,7 @@ steps:
- sed -i '/npm run build/d' ui/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go generate -v ./...
- go build -v -tags netgo,swagger -ldflags '-w -X main.Version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X main.Version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- ln happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} happydomain
environment:
CGO_ENABLED: 0
@ -131,7 +131,7 @@ steps:
image: golang:1-alpine
commands:
- apk add --no-cache git
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
environment:
CGO_ENABLED: 0
GOOS: darwin
@ -145,7 +145,7 @@ steps:
image: golang:1-alpine
commands:
- apk add --no-cache git
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
environment:
CGO_ENABLED: 0
GOOS: darwin
@ -231,7 +231,7 @@ steps:
- sed -i '/npm run build/d' ui/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go generate -v ./...
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- ln happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} happydomain
environment:
CGO_ENABLED: 0
@ -247,7 +247,7 @@ steps:
- sed -i '/npm run build/d' ui/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go generate -v ./...
- go build -v -tags netgo,swagger -ldflags '-w -X main.Version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X main.Version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
- ln happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} happydomain
environment:
CGO_ENABLED: 0
@ -294,7 +294,7 @@ steps:
image: golang:1-alpine
commands:
- apk add --no-cache git
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
environment:
CGO_ENABLED: 0
GOOS: darwin
@ -308,7 +308,7 @@ steps:
image: golang:1-alpine
commands:
- apk add --no-cache git
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-darwin-${DRONE_STAGE_ARCH}
environment:
CGO_ENABLED: 0
GOOS: darwin
@ -394,7 +394,7 @@ steps:
- sed -i '/npm run build/d' ui/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go generate -v ./...
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}el
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}el
environment:
CGO_ENABLED: 0
GOARM: 5
@ -413,7 +413,7 @@ steps:
- sed -i '/npm run build/d' ui/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go generate -v ./...
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}el
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}el
environment:
CGO_ENABLED: 0
GOARM: 5
@ -460,7 +460,7 @@ steps:
image: golang:1-alpine
commands:
- apk --no-cache add build-base git
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}hf
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}hf
environment:
CGO_ENABLED: 0
GOARM: 6
@ -476,7 +476,7 @@ steps:
image: golang:1-alpine
commands:
- apk --no-cache add build-base git
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}hf
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}hf
environment:
CGO_ENABLED: 0
GOARM: 6
@ -526,7 +526,7 @@ steps:
- "[ -d docs ] || sed -i '/npm run build/d' ui/assets.go"
- "[ -d docs ] || go install github.com/swaggo/swag/cmd/swag@latest"
- "[ -d docs ] || go generate -v ./..."
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7
- ln happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7 happydomain
environment:
CGO_ENABLED: 0
@ -540,7 +540,7 @@ steps:
image: golang:1-alpine
commands:
- apk --no-cache add build-base git
- go build -v -tags netgo,swagger -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7
- go build -v -tags netgo,swagger,ui -ldflags '-w -X "main.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7
- ln happydomain-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}v7 happydomain
environment:
CGO_ENABLED: 0

View File

@ -53,14 +53,13 @@ pushd ui; npm install; popd
2. Then, generate assets files used by Go code:
```
go generate git.happydomain.org/happydomain/ui
go generate git.happydomain.org/happydomain
go generate ./...
```
3. Finaly, build the Go code:
```
go build -v
go build -tags swagger,ui
```
This last command will create a binary `happydomain` you can use standalone.

13
ui/assets-noui.go Normal file
View File

@ -0,0 +1,13 @@
//go:build !ui
package ui
import (
"net/http"
)
var Assets http.FileSystem
func GetEmbedFS() http.FileSystem {
return Assets
}

View File

@ -1,3 +1,5 @@
//go:build ui
package ui
import (