mirror of https://github.com/harness/drone.git
[MAINT] Isolate harness app into harness package (#133)
parent
eb3cad3bec
commit
43f0be35e0
35
.harness.env
35
.harness.env
|
@ -1,35 +0,0 @@
|
|||
# Gitness values
|
||||
GITNESS_TRACE=true
|
||||
GITNESS_WEBHOOK_ALLOW_LOOPBACK=true
|
||||
|
||||
GITNESS_PRINCIPAL_SYSTEM_UID="harness"
|
||||
GITNESS_PRINCIPAL_SYSTEM_DISPLAY_NAME="Harness"
|
||||
GITNESS_PRINCIPAL_SYSTEM_EMAIL="noreply@harness.io"
|
||||
|
||||
GITNESS_WEBHOOK_HEADER_IDENTITY="Harness"
|
||||
|
||||
# Harness specifc values
|
||||
HARNESS_JWT_IDENTITY="code"
|
||||
HARNESS_JWT_SECRET="IC04LYMBf1lDP5oeY4hupxd4HJhLmN6azUku3xEbeE3SUx5G3ZYzhbiwVtK4i7AmqyU9OZkwB4v8E9qM"
|
||||
HARNESS_JWT_VALIDINMIN=1440
|
||||
HARNESS_JWT_BEARER_SECRET="dOkdsVqdRPPRJG31XU0qY4MPqmBBMk0PTAGIKM6O7TGqhjyxScIdJe80mwh5Yb5zF3KxYBHw6B3Lfzlq"
|
||||
|
||||
HARNESS_SERVICES_IDENTITY_JWT_IDENTITY="IdentityService"
|
||||
HARNESS_SERVICES_IDENTITY_JWT_SECRET="HVSKUYqD4e5Rxu12hFDdCJKGM64sxgEynvdDhaOHaTHhwwn0K4Ttr0uoOxSsEVYNrUU"
|
||||
|
||||
HARNESS_SERVICES_ACL_IGNORE=true
|
||||
HARNESS_SERVICES_ACL_CLIENT_SECURE=false
|
||||
HARNESS_SERVICES_ACL_CLIENT_BASEURL="http://localhost:9006/api"
|
||||
|
||||
HARNESS_SERVICES_MANAGER_CLIENT_SECURE=false
|
||||
HARNESS_SERVICES_MANAGER_CLIENT_BASEURL="http://localhost:3457/api"
|
||||
HARNESS_SERVICES_MANAGER_JWT_IDENTITY="Manager"
|
||||
HARNESS_SERVICES_MANAGER_JWT_SECRET="dOkdsVqdRPPRJG31XU0qY4MPqmBBMk0PTAGIKM6O7TGqhjyxScIdJe80mwh5Yb5zF3KxYBHw6B3Lfzlq"
|
||||
|
||||
HARNESS_SERVICES_NGMANAGER_CLIENT_SECURE=false
|
||||
HARNESS_SERVICES_NGMANAGER_CLIENT_BASEURL="http://localhost:7457"
|
||||
HARNESS_SERVICES_NGMANAGER_JWT_IDENTITY="NextGenManager"
|
||||
HARNESS_SERVICES_NGMANAGER_JWT_SECRET="IC04LYMBf1lDP5oeY4hupxd4HJhLmN6azUku3xEbeE3SUx5G3ZYzhbiwVtK4i7AmqyU9OZkwB4v8E9qM"
|
||||
|
||||
HARNESS_SERVICES_CIMANAGER_JWT_IDENTITY="CIManager"
|
||||
HARNESS_SERVICES_CIMANAGER_JWT_SECRET="IC04LYMBf1lDP5oeY4hupxd4HJhLmN6azUku3xEbeE3SUx5G3ZYzhbiwVtK4i7AmqyU9OZkwB4v8E9qM"
|
|
@ -9,15 +9,16 @@
|
|||
"type": "go",
|
||||
"request": "launch",
|
||||
"mode": "auto",
|
||||
"buildFlags": "-tags=harness",
|
||||
"program": "cmd/gitness",
|
||||
"args": ["server", "../../.harness.env"]
|
||||
"buildFlags": "-tags=sqlite",
|
||||
"program": "./harness",
|
||||
"args": ["server", ".env"]
|
||||
},
|
||||
{
|
||||
"name": "Standalone",
|
||||
"type": "go",
|
||||
"request": "launch",
|
||||
"mode": "auto",
|
||||
"buildFlags": "-tags=sqlite",
|
||||
"program": "cmd/gitness",
|
||||
"args": ["server", "../../.local.env"]
|
||||
}
|
||||
|
|
106
Makefile
106
Makefile
|
@ -20,6 +20,16 @@ endif
|
|||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
ifeq ($(BUILD_TAGS),)
|
||||
BUILD_TAGS := sqlite
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Initialization
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
init: ## Install git hooks to perform pre-commit checks
|
||||
git config core.hooksPath .githooks
|
||||
git config commit.template .gitmessage
|
||||
|
@ -34,18 +44,11 @@ dep: $(deps) ## Install the deps required to generate code and build gitness
|
|||
tools: $(tools) ## Install tools required for the build
|
||||
@echo "Installed tools"
|
||||
|
||||
mocks: $(mocks)
|
||||
@echo "Generating Test Mocks"
|
||||
|
||||
wire: cli/server/harness.wire_gen.go cli/server/standalone.wire_gen.go cmd/gitrpcserver/wire_gen.go
|
||||
|
||||
force-wire: ## Force wire code generation
|
||||
@sh ./scripts/wire/server/standalone.sh
|
||||
@sh ./scripts/wire/server/harness.sh
|
||||
@sh ./scripts/wire/gitrpcserver/wire.sh
|
||||
|
||||
generate: $(mocks) wire mocks/mock_client.go proto
|
||||
@echo "Generating Code"
|
||||
###############################################################################
|
||||
#
|
||||
# Build and testing rules
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
build: generate ## Build the all-in-one gitness binary
|
||||
@echo "Building Gitness Server"
|
||||
|
@ -65,34 +68,14 @@ test: generate ## Run the go tests
|
|||
go tool cover -html=coverage.out
|
||||
|
||||
run: dep ## Run the gitness binary from source
|
||||
@go run -race -ldflags=${LDFLAGS} .
|
||||
@go run -race -ldflags=${LDFLAGS} ./cmd/gitness
|
||||
|
||||
clean-db: ## delete all data from local database
|
||||
psql postgresql://gitness:gitness@localhost:5432/gitness -f scripts/db/cleanup.sql
|
||||
|
||||
populate-db: ## inject sample data into local database
|
||||
psql postgresql://gitness:gitness@localhost:5432/gitness -f scripts/db/sample_data.sql
|
||||
|
||||
update-tools: delete-tools $(tools) ## Update the tools by deleting and re-installing
|
||||
|
||||
delete-tools: ## Delete the tools
|
||||
@rm $(tools) || true
|
||||
|
||||
#########################################
|
||||
###############################################################################
|
||||
#
|
||||
# Docker environment commands
|
||||
# The following targets relate to running gitness and its dependent services
|
||||
#########################################
|
||||
start: ## Run all dependent services and start the gitness server locally - the service will listen on :3000 by default
|
||||
docker-compose -f ./docker/docker-compose.yml up ${DOCKER_BUILD_OPTS} --remove-orphans
|
||||
|
||||
stop: ## Stop all services
|
||||
docker-compose -f ./docker/docker-compose.yml down --remove-orphans
|
||||
|
||||
dev: ## Run local dev environment this starts the services which gitness depends on
|
||||
docker-compose -f ./docker/docker-compose.yml up ${DOCKER_BUILD_OPTS} --remove-orphans db redis
|
||||
|
||||
test-env: stop ## Run test environment - this runs all services and the gitness in test mode.
|
||||
docker-compose -f ./docker/docker-compose.yml -f ./docker/docker-compose.test.yml up -d ${DOCKER_BUILD_OPTS} --remove-orphans
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
image: ## Build the gitness docker image
|
||||
@echo "Building Gitness Standalone Image"
|
||||
|
@ -115,14 +98,11 @@ gitrpc-image: ## Build the gitness gitrpc docker image
|
|||
-t gitness-gitrpc:latest \
|
||||
-f ./docker/Dockerfile.gitrpc .
|
||||
|
||||
e2e: generate test-env ## Run e2e tests
|
||||
chmod +x wait-for-gitness.sh && ./wait-for-gitness.sh
|
||||
go test -p 1 -v -coverprofile=e2e_cov.out ./tests/... -env=".env.local"
|
||||
|
||||
|
||||
###########################################
|
||||
###############################################################################
|
||||
#
|
||||
# Code Formatting and linting
|
||||
###########################################
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
format: tools # Format go code and error if any changes are made
|
||||
@echo "Formating ..."
|
||||
|
@ -138,16 +118,26 @@ lint: tools generate # lint the golang code
|
|||
@echo "Linting $(1)"
|
||||
@golangci-lint run --timeout=3m --verbose
|
||||
|
||||
###########################################
|
||||
###############################################################################
|
||||
# Code Generation
|
||||
#
|
||||
# Some code generation can be slow, so we only run it if
|
||||
# the source file has changed.
|
||||
###########################################
|
||||
cli/server/harness.wire_gen.go: cli/server/harness.wire.go
|
||||
@sh ./scripts/wire/server/harness.sh
|
||||
###############################################################################
|
||||
|
||||
cli/server/standalone.wire_gen.go: cli/server/standalone.wire.go
|
||||
generate: $(mocks) wire mocks/mock_client.go proto
|
||||
@echo "Generating Code"
|
||||
|
||||
mocks: $(mocks)
|
||||
@echo "Generating Test Mocks"
|
||||
|
||||
wire: cmd/gitness/wire_gen.go cmd/gitrpcserver/wire_gen.go
|
||||
|
||||
force-wire: ## Force wire code generation
|
||||
@sh ./scripts/wire/server/standalone.sh
|
||||
@sh ./scripts/wire/gitrpcserver/wire.sh
|
||||
|
||||
cmd/gitness/wire_gen.go: cmd/gitness/wire.go
|
||||
@sh ./scripts/wire/server/standalone.sh
|
||||
|
||||
cmd/gitrpcserver/wire_gen.go: cmd/gitrpcserver/wire.go
|
||||
|
@ -156,7 +146,7 @@ cmd/gitrpcserver/wire_gen.go: cmd/gitrpcserver/wire.go
|
|||
mocks/mock_client.go: internal/store/database.go client/client.go
|
||||
go generate mocks/mock.go
|
||||
|
||||
proto:
|
||||
proto: ## generate proto files for gitrpc integration
|
||||
@protoc --proto_path=./gitrpc/proto \
|
||||
--go_out=./gitrpc/rpc \
|
||||
--go_opt=paths=source_relative \
|
||||
|
@ -164,19 +154,17 @@ proto:
|
|||
--go-grpc_opt=paths=source_relative \
|
||||
./gitrpc/proto/*.proto
|
||||
|
||||
harness-proto:
|
||||
@protoc --proto_path=./harness/proto \
|
||||
--go_out=./harness/rpc \
|
||||
--go_opt=paths=source_relative \
|
||||
--go-grpc_out=./harness/rpc \
|
||||
--go-grpc_opt=paths=source_relative \
|
||||
./harness/proto/*.proto
|
||||
###########################################
|
||||
###############################################################################
|
||||
# Install Tools and deps
|
||||
#
|
||||
# These targets specify the full path to where the tool is installed
|
||||
# If the tool already exists it wont be re-installed.
|
||||
###########################################
|
||||
###############################################################################
|
||||
|
||||
update-tools: delete-tools $(tools) ## Update the tools by deleting and re-installing
|
||||
|
||||
delete-tools: ## Delete the tools
|
||||
@rm $(tools) || true
|
||||
|
||||
# Install golangci-lint
|
||||
$(GOBIN)/golangci-lint:
|
||||
|
|
40
cli/cli.go
40
cli/cli.go
|
@ -7,49 +7,11 @@ package cli
|
|||
import (
|
||||
"os"
|
||||
|
||||
"github.com/harness/gitness/cli/operations/account"
|
||||
"github.com/harness/gitness/cli/operations/hooks"
|
||||
"github.com/harness/gitness/cli/operations/migrate"
|
||||
"github.com/harness/gitness/cli/operations/user"
|
||||
"github.com/harness/gitness/cli/operations/users"
|
||||
"github.com/harness/gitness/cli/server"
|
||||
"github.com/harness/gitness/internal/githook"
|
||||
"github.com/harness/gitness/version"
|
||||
|
||||
"gopkg.in/alecthomas/kingpin.v2"
|
||||
)
|
||||
|
||||
const (
|
||||
application = "gitness"
|
||||
description = "description goes here" // TODO edit this application description
|
||||
)
|
||||
|
||||
// Command parses the command line arguments and then executes a
|
||||
// subcommand program.
|
||||
func Command() {
|
||||
args := getArguments()
|
||||
|
||||
app := kingpin.New(application, description)
|
||||
|
||||
migrate.Register(app)
|
||||
server.Register(app)
|
||||
|
||||
user.Register(app)
|
||||
users.Register(app)
|
||||
|
||||
account.RegisterLogin(app)
|
||||
account.RegisterRegister(app)
|
||||
account.RegisterLogout(app)
|
||||
|
||||
hooks.Register(app)
|
||||
|
||||
registerSwagger(app)
|
||||
|
||||
kingpin.Version(version.Version.String())
|
||||
kingpin.MustParse(app.Parse(args))
|
||||
}
|
||||
|
||||
func getArguments() []string {
|
||||
func GetArguments() []string {
|
||||
command := os.Args[0]
|
||||
args := os.Args[1:]
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
// Copyright 2022 Harness Inc. All rights reserved.
|
||||
// Use of this source code is governed by the Polyform Free Trial License
|
||||
// that can be found in the LICENSE.md file for this repository.
|
||||
|
||||
// go:build harness
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"github.com/harness/gitness/harness/types"
|
||||
|
||||
"github.com/kelseyhightower/envconfig"
|
||||
)
|
||||
|
||||
func ProvideHarnessConfig() (*types.Config, error) {
|
||||
config := new(types.Config)
|
||||
err := envconfig.Process("", config)
|
||||
return config, err
|
||||
}
|
|
@ -1,97 +0,0 @@
|
|||
// Copyright 2021 Harness Inc. All rights reserved.
|
||||
// Use of this source code is governed by the Polyform Free Trial License
|
||||
// that can be found in the LICENSE.md file for this repository.
|
||||
|
||||
//go:build wireinject && harness
|
||||
// +build wireinject,harness
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/harness/gitness/events"
|
||||
"github.com/harness/gitness/gitrpc"
|
||||
gitrpcserver "github.com/harness/gitness/gitrpc/server"
|
||||
gitrpccron "github.com/harness/gitness/gitrpc/server/cron"
|
||||
"github.com/harness/gitness/harness/auth/authn"
|
||||
"github.com/harness/gitness/harness/auth/authz"
|
||||
"github.com/harness/gitness/harness/bootstrap"
|
||||
"github.com/harness/gitness/harness/client"
|
||||
"github.com/harness/gitness/harness/router"
|
||||
harnessservices "github.com/harness/gitness/harness/services"
|
||||
harnessevents "github.com/harness/gitness/harness/services/events"
|
||||
"github.com/harness/gitness/harness/store"
|
||||
"github.com/harness/gitness/harness/types/check"
|
||||
checkcontroller "github.com/harness/gitness/internal/api/controller/check"
|
||||
"github.com/harness/gitness/internal/api/controller/githook"
|
||||
"github.com/harness/gitness/internal/api/controller/principal"
|
||||
"github.com/harness/gitness/internal/api/controller/pullreq"
|
||||
"github.com/harness/gitness/internal/api/controller/repo"
|
||||
"github.com/harness/gitness/internal/api/controller/service"
|
||||
"github.com/harness/gitness/internal/api/controller/serviceaccount"
|
||||
"github.com/harness/gitness/internal/api/controller/space"
|
||||
"github.com/harness/gitness/internal/api/controller/user"
|
||||
controllerwebhook "github.com/harness/gitness/internal/api/controller/webhook"
|
||||
gitevents "github.com/harness/gitness/internal/events/git"
|
||||
pullreqevents "github.com/harness/gitness/internal/events/pullreq"
|
||||
"github.com/harness/gitness/internal/server"
|
||||
"github.com/harness/gitness/internal/services/codecomments"
|
||||
pullreqservice "github.com/harness/gitness/internal/services/pullreq"
|
||||
"github.com/harness/gitness/internal/services/webhook"
|
||||
"github.com/harness/gitness/internal/store/cache"
|
||||
"github.com/harness/gitness/internal/store/database"
|
||||
"github.com/harness/gitness/internal/url"
|
||||
"github.com/harness/gitness/lock"
|
||||
"github.com/harness/gitness/pubsub"
|
||||
gitnesstypes "github.com/harness/gitness/types"
|
||||
|
||||
"github.com/google/wire"
|
||||
)
|
||||
|
||||
func initSystem(ctx context.Context, config *gitnesstypes.Config) (*system, error) {
|
||||
wire.Build(
|
||||
newSystem,
|
||||
ProvideHarnessConfig,
|
||||
harnessevents.WireSet,
|
||||
ProvideRedis,
|
||||
bootstrap.WireSet,
|
||||
database.WireSet,
|
||||
pullreqservice.WireSet,
|
||||
harnessservices.WireSet,
|
||||
cache.WireSet,
|
||||
server.WireSet,
|
||||
url.WireSet,
|
||||
space.WireSet,
|
||||
repo.WireSet,
|
||||
pullreq.WireSet,
|
||||
controllerwebhook.WireSet,
|
||||
user.WireSet,
|
||||
service.WireSet,
|
||||
serviceaccount.WireSet,
|
||||
principal.WireSet,
|
||||
gitevents.WireSet,
|
||||
pullreqevents.WireSet,
|
||||
ProvideGitRPCServerConfig,
|
||||
gitrpcserver.WireSet,
|
||||
ProvideGitRPCClientConfig,
|
||||
gitrpc.WireSet,
|
||||
router.WireSet,
|
||||
authn.WireSet,
|
||||
authz.WireSet,
|
||||
client.WireSet,
|
||||
store.WireSet,
|
||||
check.WireSet,
|
||||
ProvideEventsConfig,
|
||||
events.WireSet,
|
||||
ProvideWebhookConfig,
|
||||
webhook.WireSet,
|
||||
githook.WireSet,
|
||||
lock.WireSet,
|
||||
pubsub.WireSet,
|
||||
codecomments.WireSet,
|
||||
gitrpccron.WireSet,
|
||||
checkcontroller.WireSet,
|
||||
)
|
||||
return &system{}, nil
|
||||
}
|
|
@ -1,202 +0,0 @@
|
|||
// Code generated by Wire. DO NOT EDIT.
|
||||
|
||||
//go:build !wireinject && harness
|
||||
// +build !wireinject,harness
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/harness/gitness/events"
|
||||
"github.com/harness/gitness/gitrpc"
|
||||
server2 "github.com/harness/gitness/gitrpc/server"
|
||||
"github.com/harness/gitness/gitrpc/server/cron"
|
||||
"github.com/harness/gitness/harness/auth/authn"
|
||||
"github.com/harness/gitness/harness/auth/authz"
|
||||
"github.com/harness/gitness/harness/bootstrap"
|
||||
"github.com/harness/gitness/harness/client"
|
||||
"github.com/harness/gitness/harness/router"
|
||||
"github.com/harness/gitness/harness/services"
|
||||
events4 "github.com/harness/gitness/harness/services/events"
|
||||
"github.com/harness/gitness/harness/store"
|
||||
"github.com/harness/gitness/harness/types/check"
|
||||
check2 "github.com/harness/gitness/internal/api/controller/check"
|
||||
"github.com/harness/gitness/internal/api/controller/githook"
|
||||
"github.com/harness/gitness/internal/api/controller/principal"
|
||||
"github.com/harness/gitness/internal/api/controller/pullreq"
|
||||
"github.com/harness/gitness/internal/api/controller/repo"
|
||||
"github.com/harness/gitness/internal/api/controller/service"
|
||||
"github.com/harness/gitness/internal/api/controller/serviceaccount"
|
||||
"github.com/harness/gitness/internal/api/controller/space"
|
||||
"github.com/harness/gitness/internal/api/controller/user"
|
||||
webhook2 "github.com/harness/gitness/internal/api/controller/webhook"
|
||||
events3 "github.com/harness/gitness/internal/events/git"
|
||||
events2 "github.com/harness/gitness/internal/events/pullreq"
|
||||
router2 "github.com/harness/gitness/internal/router"
|
||||
"github.com/harness/gitness/internal/server"
|
||||
"github.com/harness/gitness/internal/services/codecomments"
|
||||
pullreq2 "github.com/harness/gitness/internal/services/pullreq"
|
||||
"github.com/harness/gitness/internal/services/webhook"
|
||||
"github.com/harness/gitness/internal/store/cache"
|
||||
"github.com/harness/gitness/internal/store/database"
|
||||
"github.com/harness/gitness/internal/url"
|
||||
"github.com/harness/gitness/lock"
|
||||
"github.com/harness/gitness/pubsub"
|
||||
"github.com/harness/gitness/types"
|
||||
)
|
||||
|
||||
// Injectors from harness.wire.go:
|
||||
|
||||
func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
||||
principalUID := check.ProvidePrincipalUIDCheck()
|
||||
typesConfig, err := ProvideHarnessConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
serviceJWTProvider, err := client.ProvideServiceJWTProvider(typesConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
acl, err := client.ProvideACL(ctx, serviceJWTProvider, typesConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
authorizer := authz.ProvideAuthorizer(ctx, typesConfig, config, acl)
|
||||
db, err := database.ProvideDatabase(ctx, config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
principalUIDTransformation := store.ProvidePrincipalUIDTransformation()
|
||||
principalStore := database.ProvidePrincipalStore(db, principalUIDTransformation)
|
||||
tokenStore := database.ProvideTokenStore(db)
|
||||
controller := user.NewController(principalUID, authorizer, principalStore, tokenStore)
|
||||
serviceController := service.NewController(principalUID, authorizer, principalStore)
|
||||
bootstrapBootstrap := bootstrap.ProvideBootstrap(config, controller, serviceController)
|
||||
tokenClient, err := client.ProvideTokenClient(serviceJWTProvider, typesConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
userClient, err := client.ProvideUserClient(serviceJWTProvider, typesConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
serviceAccountClient, err := client.ProvideServiceAccountClient(serviceJWTProvider, typesConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
pathTransformation := store.ProvidePathTransformation()
|
||||
pathStore := database.ProvidePathStore(db, pathTransformation)
|
||||
pathCache := cache.ProvidePathCache(pathStore, pathTransformation)
|
||||
spaceStore := database.ProvideSpaceStore(db, pathCache)
|
||||
repoStore := database.ProvideRepoStore(db, pathCache)
|
||||
serviceaccountController := serviceaccount.NewController(principalUID, authorizer, principalStore, spaceStore, repoStore, tokenStore)
|
||||
provider, err := url.ProvideURLProvider(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
pathUID := check.ProvidePathUIDCheck()
|
||||
gitrpcConfig, err := ProvideGitRPCClientConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
gitrpcInterface, err := gitrpc.ProvideClient(gitrpcConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
repoController := repo.ProvideController(config, db, provider, pathUID, authorizer, pathStore, repoStore, spaceStore, principalStore, gitrpcInterface)
|
||||
spaceController := space.ProvideController(db, provider, pathUID, authorizer, pathStore, spaceStore, repoStore, principalStore, repoController)
|
||||
accountClient, err := client.ProvideAccountClient(serviceJWTProvider, typesConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
authenticator, err := authn.ProvideAuthenticator(controller, tokenClient, userClient, typesConfig, serviceAccountClient, serviceaccountController, serviceController, spaceController, accountClient)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
principalController := principal.NewController(principalStore)
|
||||
principalInfoView := database.ProvidePrincipalInfoView(db)
|
||||
principalInfoCache := cache.ProvidePrincipalInfoCache(principalInfoView)
|
||||
pullReqStore := database.ProvidePullReqStore(db, principalInfoCache)
|
||||
pullReqActivityStore := database.ProvidePullReqActivityStore(db, principalInfoCache)
|
||||
codeCommentView := database.ProvideCodeCommentView(db)
|
||||
pullReqReviewStore := database.ProvidePullReqReviewStore(db)
|
||||
pullReqReviewerStore := database.ProvidePullReqReviewerStore(db, principalInfoCache)
|
||||
eventsConfig, err := ProvideEventsConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
universalClient, err := ProvideRedis(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
eventsSystem, err := events.ProvideSystem(eventsConfig, universalClient)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
reporter, err := events2.ProvideReporter(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
lockConfig := lock.ProvideConfig(config)
|
||||
mutexManager := lock.ProvideMutexManager(lockConfig, universalClient)
|
||||
migrator := codecomments.ProvideMigrator(gitrpcInterface)
|
||||
pullreqController := pullreq.ProvideController(db, provider, authorizer, pullReqStore, pullReqActivityStore, codeCommentView, pullReqReviewStore, pullReqReviewerStore, repoStore, principalStore, gitrpcInterface, reporter, mutexManager, migrator)
|
||||
webhookConfig, err := ProvideWebhookConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
webhookStore := database.ProvideWebhookStore(db)
|
||||
webhookExecutionStore := database.ProvideWebhookExecutionStore(db)
|
||||
readerFactory, err := events3.ProvideReaderFactory(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
eventsReaderFactory, err := events2.ProvideReaderFactory(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
webhookService, err := webhook.ProvideService(ctx, webhookConfig, readerFactory, eventsReaderFactory, webhookStore, webhookExecutionStore, repoStore, pullReqStore, provider, principalStore, gitrpcInterface)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
webhookController := webhook2.ProvideController(webhookConfig, db, authorizer, webhookStore, webhookExecutionStore, repoStore, webhookService)
|
||||
eventsReporter, err := events3.ProvideReporter(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
githookController := githook.ProvideController(db, authorizer, principalStore, repoStore, eventsReporter)
|
||||
checkStore := database.ProvideCheckStore(db, principalInfoCache)
|
||||
checkController := check2.ProvideController(db, authorizer, checkStore, repoStore, gitrpcInterface)
|
||||
apiHandler := router.ProvideAPIHandler(config, authenticator, accountClient, controller, principalController, spaceController, repoController, pullreqController, webhookController, githookController, checkController)
|
||||
gitHandler := router.ProvideGitHandler(config, provider, repoStore, authenticator, authorizer, gitrpcInterface)
|
||||
webHandler := router2.ProvideWebHandler(config)
|
||||
routerRouter := router2.ProvideRouter(config, apiHandler, gitHandler, webHandler)
|
||||
serverServer := server.ProvideServer(config, routerRouter)
|
||||
serverConfig, err := ProvideGitRPCServerConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
server3, err := server2.ProvideServer(serverConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
manager := cron.ProvideManager(serverConfig)
|
||||
repoGitInfoView := database.ProvideRepoGitInfoView(db)
|
||||
repoGitInfoCache := cache.ProvideRepoGitInfoCache(repoGitInfoView)
|
||||
pubsubConfig := pubsub.ProvideConfig(config)
|
||||
pubSub := pubsub.ProvidePubSub(pubsubConfig, universalClient)
|
||||
pullreqService, err := pullreq2.ProvideService(ctx, config, readerFactory, eventsReaderFactory, reporter, gitrpcInterface, db, repoGitInfoCache, principalInfoCache, repoStore, pullReqStore, pullReqActivityStore, codeCommentView, migrator, pubSub)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
eventsService, err := events4.ProvideEventService(ctx, typesConfig, spaceController, config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
servicesServices, err := services.ProvideServices(ctx, webhookService, pullreqService, eventsService)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
serverSystem := newSystem(bootstrapBootstrap, serverServer, server3, manager, servicesServices)
|
||||
return serverSystem, nil
|
||||
}
|
|
@ -30,7 +30,9 @@ const (
|
|||
)
|
||||
|
||||
type command struct {
|
||||
envfile string
|
||||
envfile string
|
||||
enableGitRPC bool
|
||||
initializer func(context.Context, *types.Config) (*System, error)
|
||||
}
|
||||
|
||||
func (c *command) run(*kingpin.ParseContext) error {
|
||||
|
@ -57,7 +59,7 @@ func (c *command) run(*kingpin.ParseContext) error {
|
|||
ctx = log.WithContext(ctx)
|
||||
|
||||
// initialize system
|
||||
system, err := initSystem(ctx, config)
|
||||
system, err := c.initializer(ctx, config)
|
||||
if err != nil {
|
||||
return fmt.Errorf("encountered an error while wiring the system: %w", err)
|
||||
}
|
||||
|
@ -83,15 +85,17 @@ func (c *command) run(*kingpin.ParseContext) error {
|
|||
Stringer("version", version.Version).
|
||||
Msg("server started")
|
||||
|
||||
// start grpc server
|
||||
g.Go(system.gitRPCServer.Start)
|
||||
log.Info().Msg("gitrpc server started")
|
||||
if c.enableGitRPC {
|
||||
// start grpc server
|
||||
g.Go(system.gitRPCServer.Start)
|
||||
log.Info().Msg("gitrpc server started")
|
||||
|
||||
// run the gitrpc cron jobs
|
||||
g.Go(func() error {
|
||||
return system.gitRPCCronMngr.Run(ctx)
|
||||
})
|
||||
log.Info().Msg("gitrpc cron manager subroutine started")
|
||||
// run the gitrpc cron jobs
|
||||
g.Go(func() error {
|
||||
return system.gitRPCCronMngr.Run(ctx)
|
||||
})
|
||||
log.Info().Msg("gitrpc cron manager subroutine started")
|
||||
}
|
||||
|
||||
// wait until the error group context is done
|
||||
<-gCtx.Done()
|
||||
|
@ -108,8 +112,10 @@ func (c *command) run(*kingpin.ParseContext) error {
|
|||
log.Err(sErr).Msg("failed to shutdown http server gracefully")
|
||||
}
|
||||
|
||||
if rpcErr := system.gitRPCServer.Stop(); rpcErr != nil {
|
||||
log.Err(rpcErr).Msg("failed to shutdown grpc server gracefully")
|
||||
if c.enableGitRPC {
|
||||
if rpcErr := system.gitRPCServer.Stop(); rpcErr != nil {
|
||||
log.Err(rpcErr).Msg("failed to shutdown grpc server gracefully")
|
||||
}
|
||||
}
|
||||
|
||||
log.Info().Msg("wait for subroutines to complete")
|
||||
|
@ -147,8 +153,9 @@ func SetupLogger(config *types.Config) {
|
|||
}
|
||||
|
||||
// Register the server command.
|
||||
func Register(app *kingpin.Application) {
|
||||
func Register(app *kingpin.Application, initializer func(context.Context, *types.Config) (*System, error)) {
|
||||
c := new(command)
|
||||
c.initializer = initializer
|
||||
|
||||
cmd := app.Command("server", "starts the server").
|
||||
Action(c.run)
|
||||
|
@ -156,4 +163,9 @@ func Register(app *kingpin.Application) {
|
|||
cmd.Arg("envfile", "load the environment variable file").
|
||||
Default("").
|
||||
StringVar(&c.envfile)
|
||||
|
||||
cmd.Flag("enable-gitrpc", "start the gitrpc server").
|
||||
Default("true").
|
||||
Envar("ENABLE_GITRPC").
|
||||
BoolVar(&c.enableGitRPC)
|
||||
}
|
||||
|
|
|
@ -12,8 +12,8 @@ import (
|
|||
"github.com/harness/gitness/internal/services"
|
||||
)
|
||||
|
||||
// system stores high level system sub-routines.
|
||||
type system struct {
|
||||
// System stores high level System sub-routines.
|
||||
type System struct {
|
||||
bootstrap bootstrap.Bootstrap
|
||||
server *server.Server
|
||||
gitRPCServer *gitrpcserver.Server
|
||||
|
@ -21,10 +21,10 @@ type system struct {
|
|||
gitRPCCronMngr *gitrpccron.Manager
|
||||
}
|
||||
|
||||
// newSystem returns a new system structure.
|
||||
func newSystem(bootstrap bootstrap.Bootstrap, server *server.Server, gitRPCServer *gitrpcserver.Server,
|
||||
gitrpccron *gitrpccron.Manager, services services.Services) *system {
|
||||
return &system{
|
||||
// NewSystem returns a new system structure.
|
||||
func NewSystem(bootstrap bootstrap.Bootstrap, server *server.Server, gitRPCServer *gitrpcserver.Server,
|
||||
gitrpccron *gitrpccron.Manager, services services.Services) *System {
|
||||
return &System{
|
||||
bootstrap: bootstrap,
|
||||
server: server,
|
||||
gitRPCServer: gitRPCServer,
|
||||
|
|
|
@ -27,7 +27,7 @@ func (c *swaggerCommand) run(*kingpin.ParseContext) error {
|
|||
}
|
||||
|
||||
// helper function to register the swagger command.
|
||||
func registerSwagger(app *kingpin.Application) {
|
||||
func RegisterSwagger(app *kingpin.Application) {
|
||||
c := new(swaggerCommand)
|
||||
|
||||
cmd := app.Command("swagger", "generate swagger file").
|
||||
|
|
|
@ -8,11 +8,5 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"github.com/harness/gitness/cli"
|
||||
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cli.Command()
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
// Copyright 2022 Harness Inc. All rights reserved.
|
||||
// Use of this source code is governed by the Polyform Free Trial License
|
||||
// that can be found in the LICENSE.md file for this repository.
|
||||
|
||||
//go:build sqlite
|
||||
// +build sqlite
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
|
@ -9,10 +9,41 @@ package main
|
|||
|
||||
import (
|
||||
"github.com/harness/gitness/cli"
|
||||
"github.com/harness/gitness/cli/operations/account"
|
||||
"github.com/harness/gitness/cli/operations/hooks"
|
||||
"github.com/harness/gitness/cli/operations/migrate"
|
||||
"github.com/harness/gitness/cli/operations/user"
|
||||
"github.com/harness/gitness/cli/operations/users"
|
||||
"github.com/harness/gitness/cli/server"
|
||||
"github.com/harness/gitness/version"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
"gopkg.in/alecthomas/kingpin.v2"
|
||||
)
|
||||
|
||||
const (
|
||||
application = "gitness"
|
||||
description = "Gitness Open source edition"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cli.Command()
|
||||
args := cli.GetArguments()
|
||||
|
||||
app := kingpin.New(application, description)
|
||||
|
||||
migrate.Register(app)
|
||||
server.Register(app, initSystem)
|
||||
|
||||
user.Register(app)
|
||||
users.Register(app)
|
||||
|
||||
account.RegisterLogin(app)
|
||||
account.RegisterRegister(app)
|
||||
account.RegisterLogout(app)
|
||||
|
||||
hooks.Register(app)
|
||||
|
||||
cli.RegisterSwagger(app)
|
||||
|
||||
kingpin.Version(version.Version.String())
|
||||
kingpin.MustParse(app.Parse(args))
|
||||
}
|
||||
|
|
|
@ -2,14 +2,15 @@
|
|||
// Use of this source code is governed by the Polyform Free Trial License
|
||||
// that can be found in the LICENSE.md file for this repository.
|
||||
|
||||
//go:build wireinject && !harness
|
||||
// +build wireinject,!harness
|
||||
//go:build wireinject
|
||||
// +build wireinject
|
||||
|
||||
package server
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
cliserver "github.com/harness/gitness/cli/server"
|
||||
"github.com/harness/gitness/events"
|
||||
"github.com/harness/gitness/gitrpc"
|
||||
gitrpcserver "github.com/harness/gitness/gitrpc/server"
|
||||
|
@ -47,10 +48,10 @@ import (
|
|||
"github.com/google/wire"
|
||||
)
|
||||
|
||||
func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
||||
func initSystem(ctx context.Context, config *types.Config) (*cliserver.System, error) {
|
||||
wire.Build(
|
||||
newSystem,
|
||||
ProvideRedis,
|
||||
cliserver.NewSystem,
|
||||
cliserver.ProvideRedis,
|
||||
bootstrap.WireSet,
|
||||
database.WireSet,
|
||||
cache.WireSet,
|
||||
|
@ -71,15 +72,15 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
authz.WireSet,
|
||||
gitevents.WireSet,
|
||||
pullreqevents.WireSet,
|
||||
ProvideGitRPCServerConfig,
|
||||
cliserver.ProvideGitRPCServerConfig,
|
||||
gitrpcserver.WireSet,
|
||||
ProvideGitRPCClientConfig,
|
||||
cliserver.ProvideGitRPCClientConfig,
|
||||
gitrpc.WireSet,
|
||||
store.WireSet,
|
||||
check.WireSet,
|
||||
ProvideEventsConfig,
|
||||
cliserver.ProvideEventsConfig,
|
||||
events.WireSet,
|
||||
ProvideWebhookConfig,
|
||||
cliserver.ProvideWebhookConfig,
|
||||
webhook.WireSet,
|
||||
githook.WireSet,
|
||||
lock.WireSet,
|
||||
|
@ -88,5 +89,5 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
gitrpccron.WireSet,
|
||||
checkcontroller.WireSet,
|
||||
)
|
||||
return &system{}, nil
|
||||
return &cliserver.System{}, nil
|
||||
}
|
|
@ -1,15 +1,17 @@
|
|||
// Code generated by Wire. DO NOT EDIT.
|
||||
|
||||
//go:build !wireinject && !harness
|
||||
// +build !wireinject,!harness
|
||||
//go:generate go run github.com/google/wire/cmd/wire
|
||||
//go:build !wireinject
|
||||
// +build !wireinject
|
||||
|
||||
package server
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/harness/gitness/cli/server"
|
||||
"github.com/harness/gitness/events"
|
||||
"github.com/harness/gitness/gitrpc"
|
||||
server2 "github.com/harness/gitness/gitrpc/server"
|
||||
server3 "github.com/harness/gitness/gitrpc/server"
|
||||
"github.com/harness/gitness/gitrpc/server/cron"
|
||||
check2 "github.com/harness/gitness/internal/api/controller/check"
|
||||
"github.com/harness/gitness/internal/api/controller/githook"
|
||||
|
@ -27,7 +29,7 @@ import (
|
|||
events3 "github.com/harness/gitness/internal/events/git"
|
||||
events2 "github.com/harness/gitness/internal/events/pullreq"
|
||||
"github.com/harness/gitness/internal/router"
|
||||
"github.com/harness/gitness/internal/server"
|
||||
server2 "github.com/harness/gitness/internal/server"
|
||||
"github.com/harness/gitness/internal/services"
|
||||
"github.com/harness/gitness/internal/services/codecomments"
|
||||
pullreq2 "github.com/harness/gitness/internal/services/pullreq"
|
||||
|
@ -42,9 +44,13 @@ import (
|
|||
"github.com/harness/gitness/types/check"
|
||||
)
|
||||
|
||||
// Injectors from standalone.wire.go:
|
||||
import (
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
||||
// Injectors from wire.go:
|
||||
|
||||
func initSystem(ctx context.Context, config *types.Config) (*server.System, error) {
|
||||
principalUID := check.ProvidePrincipalUIDCheck()
|
||||
authorizer := authz.ProvideAuthorizer()
|
||||
db, err := database.ProvideDatabase(ctx, config)
|
||||
|
@ -68,7 +74,7 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
pathCache := cache.ProvidePathCache(pathStore, pathTransformation)
|
||||
repoStore := database.ProvideRepoStore(db, pathCache)
|
||||
spaceStore := database.ProvideSpaceStore(db, pathCache)
|
||||
gitrpcConfig, err := ProvideGitRPCClientConfig()
|
||||
gitrpcConfig, err := server.ProvideGitRPCClientConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -85,19 +91,19 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
codeCommentView := database.ProvideCodeCommentView(db)
|
||||
pullReqReviewStore := database.ProvidePullReqReviewStore(db)
|
||||
pullReqReviewerStore := database.ProvidePullReqReviewerStore(db, principalInfoCache)
|
||||
eventsConfig, err := ProvideEventsConfig()
|
||||
eventsConfig, err := server.ProvideEventsConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
universalClient, err := ProvideRedis(config)
|
||||
universalClient, err := server.ProvideRedis(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
eventsSystem, err := events.ProvideSystem(eventsConfig, universalClient)
|
||||
system, err := events.ProvideSystem(eventsConfig, universalClient)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
reporter, err := events2.ProvideReporter(eventsSystem)
|
||||
reporter, err := events2.ProvideReporter(system)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -105,17 +111,17 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
mutexManager := lock.ProvideMutexManager(lockConfig, universalClient)
|
||||
migrator := codecomments.ProvideMigrator(gitrpcInterface)
|
||||
pullreqController := pullreq.ProvideController(db, provider, authorizer, pullReqStore, pullReqActivityStore, codeCommentView, pullReqReviewStore, pullReqReviewerStore, repoStore, principalStore, gitrpcInterface, reporter, mutexManager, migrator)
|
||||
webhookConfig, err := ProvideWebhookConfig()
|
||||
webhookConfig, err := server.ProvideWebhookConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
webhookStore := database.ProvideWebhookStore(db)
|
||||
webhookExecutionStore := database.ProvideWebhookExecutionStore(db)
|
||||
readerFactory, err := events3.ProvideReaderFactory(eventsSystem)
|
||||
readerFactory, err := events3.ProvideReaderFactory(system)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
eventsReaderFactory, err := events2.ProvideReaderFactory(eventsSystem)
|
||||
eventsReaderFactory, err := events2.ProvideReaderFactory(system)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -124,7 +130,7 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
return nil, err
|
||||
}
|
||||
webhookController := webhook2.ProvideController(webhookConfig, db, authorizer, webhookStore, webhookExecutionStore, repoStore, webhookService)
|
||||
eventsReporter, err := events3.ProvideReporter(eventsSystem)
|
||||
eventsReporter, err := events3.ProvideReporter(system)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -137,12 +143,12 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
gitHandler := router.ProvideGitHandler(config, provider, repoStore, authenticator, authorizer, gitrpcInterface)
|
||||
webHandler := router.ProvideWebHandler(config)
|
||||
routerRouter := router.ProvideRouter(config, apiHandler, gitHandler, webHandler)
|
||||
serverServer := server.ProvideServer(config, routerRouter)
|
||||
serverConfig, err := ProvideGitRPCServerConfig()
|
||||
serverServer := server2.ProvideServer(config, routerRouter)
|
||||
serverConfig, err := server.ProvideGitRPCServerConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
server3, err := server2.ProvideServer(serverConfig)
|
||||
server4, err := server3.ProvideServer(serverConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -156,6 +162,6 @@ func initSystem(ctx context.Context, config *types.Config) (*system, error) {
|
|||
return nil, err
|
||||
}
|
||||
servicesServices := services.ProvideServices(webhookService, pullreqService)
|
||||
serverSystem := newSystem(bootstrapBootstrap, serverServer, server3, manager, servicesServices)
|
||||
serverSystem := server.NewSystem(bootstrapBootstrap, serverServer, server4, manager, servicesServices)
|
||||
return serverSystem, nil
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
echo "Updating cli/server/harness.wire_gen.go"
|
||||
go run github.com/google/wire/cmd/wire gen -tags=harness -output_file_prefix="harness." github.com/harness/gitness/cli/server
|
||||
perl -ni -e 'print unless /go:generate/' cli/server/harness.wire_gen.go
|
||||
perl -i -pe's/\+build !wireinject/\+build !wireinject,harness/g' cli/server/harness.wire_gen.go
|
||||
perl -i -pe's/go:build !wireinject/go:build !wireinject && harness/g' cli/server/harness.wire_gen.go
|
|
@ -1,7 +1,4 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
echo "Updating cli/server/standalone.wire_gen.go"
|
||||
go run github.com/google/wire/cmd/wire gen -tags= -output_file_prefix="standalone." github.com/harness/gitness/cli/server
|
||||
perl -ni -e 'print unless /go:generate/' cli/server/standalone.wire_gen.go
|
||||
perl -i -pe's/\+build !wireinject/\+build !wireinject,!harness/g' cli/server/standalone.wire_gen.go
|
||||
perl -i -pe's/go:build !wireinject/go:build !wireinject && !harness/g' cli/server/standalone.wire_gen.go
|
||||
echo "Updating cmd/gitness/wire_gen.go"
|
||||
go run github.com/google/wire/cmd/wire gen github.com/harness/gitness/cmd/gitness
|
Loading…
Reference in New Issue