mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Add Cargo package registry (#21888)
This PR implements a [Cargo registry](https://doc.rust-lang.org/cargo/) to manage Rust packages. This package type was a little bit more complicated because Cargo needs an additional Git repository to store its package index. Screenshots:    --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
@@ -13,9 +13,11 @@ import (
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/base"
|
||||
"code.gitea.io/gitea/modules/context"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/util"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/services/forms"
|
||||
cargo_service "code.gitea.io/gitea/services/packages/cargo"
|
||||
container_service "code.gitea.io/gitea/services/packages/container"
|
||||
)
|
||||
|
||||
@@ -223,3 +225,23 @@ func getCleanupRuleByContext(ctx *context.Context, owner *user_model.User) *pack
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func InitializeCargoIndex(ctx *context.Context, owner *user_model.User) {
|
||||
err := cargo_service.InitializeIndexRepository(ctx, owner, owner)
|
||||
if err != nil {
|
||||
log.Error("InitializeIndexRepository failed: %v", err)
|
||||
ctx.Flash.Error(ctx.Tr("packages.owner.settings.cargo.initialize.error", err))
|
||||
} else {
|
||||
ctx.Flash.Success(ctx.Tr("packages.owner.settings.cargo.initialize.success"))
|
||||
}
|
||||
}
|
||||
|
||||
func RebuildCargoIndex(ctx *context.Context, owner *user_model.User) {
|
||||
err := cargo_service.RebuildIndex(ctx, owner, owner)
|
||||
if err != nil {
|
||||
log.Error("RebuildIndex failed: %v", err)
|
||||
ctx.Flash.Error(ctx.Tr("packages.owner.settings.cargo.rebuild.error", err))
|
||||
} else {
|
||||
ctx.Flash.Success(ctx.Tr("packages.owner.settings.cargo.rebuild.success"))
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user