代码拉取完成,页面将自动刷新
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Author: wsfuyibing <682805@qq.com>
// Date: 2024-07-25
package gen_annotation
import (
"gitee.com/go-libs/console"
"gitee.com/go-wares/framework-iris/framework/src/commands"
)
const (
Description = "Build annotation files for middleware, crontab, controller etc"
Name = "gen:annotation"
OptAnnotationPath = "annotation-path"
OptAnnotationPathDesc = "Generated files will be saved to"
OptAnnotationPathShort = 'a'
OptAnnotationPathDefaultValue = "app/http/annotations"
OptControllerPath = "controller-path"
OptControllerPathDesc = "Controller files location"
OptControllerPathShort = 'c'
OptControllerPathDefaultValue = "app/http/controllers"
OptCrontabPath = "crontab-path"
OptCrontabPathDesc = "Crontab files location"
OptCrontabPathShort = 'r'
OptCrontabPathDefaultValue = "app/http/crontabs"
OptHandlerPath = "handler-path"
OptHandlerPathDesc = "Handler files location"
OptHandlerPathShort = 'h'
OptHandlerPathDefaultValue = "app/http/handlers"
OptMiddlewarePath = "middleware-path"
OptMiddlewarePathDesc = "Middleware files location"
OptMiddlewarePathShort = 'm'
OptMiddlewarePathDefaultValue = "app/http/middlewares"
OptOverride = "override"
OptOverrideDesc = "Override existed file, Do nothing if not specified"
OptWorkingDir = "working-dir"
OptWorkingDirShort = 'w'
OptWorkingDirDesc = "Current working dir is"
OptWorkingDirDefaultValue = "./"
)
// New
// creates a command for console.
//
// You can run `go run main.go gen:annotation` to run this command.
func New() *console.Command {
var (
p = (&Provider{}).init()
c = console.NewCommand(Name).SetDescription(Description)
)
// Add command options.
c.Add(
// Annotation files location.
console.NewOption(OptAnnotationPath).SetShortName(OptAnnotationPathShort).
SetDescription(OptAnnotationPathDesc).
SetDefaultValue(OptAnnotationPathDefaultValue),
// Controller files location.
console.NewOption(OptControllerPath).SetShortName(OptControllerPathShort).
SetDescription(OptControllerPathDesc).
SetDefaultValue(OptControllerPathDefaultValue),
// Crontab files location.
console.NewOption(OptCrontabPath).SetShortName(OptCrontabPathShort).
SetDescription(OptCrontabPathDesc).
SetDefaultValue(OptCrontabPathDefaultValue),
// Handler files location.
console.NewOption(OptHandlerPath).SetShortName(OptHandlerPathShort).
SetDescription(OptHandlerPathDesc).
SetDefaultValue(OptHandlerPathDefaultValue),
// Middleware files location.
console.NewOption(OptMiddlewarePath).SetShortName(OptMiddlewarePathShort).
SetDescription(OptMiddlewarePathDesc).
SetDefaultValue(OptMiddlewarePathDefaultValue),
// Override existed files.
console.NewNullOption(OptOverride).
SetDescription(OptOverrideDesc),
// Working directory.
console.NewOption(OptWorkingDir).SetShortName(OptWorkingDirShort).
SetDescription(OptWorkingDirDesc+" "+(&commands.Common{}).WorkingDir(OptWorkingDirDefaultValue)).
SetDefaultValue(OptWorkingDirDefaultValue),
)
return c.SetProvider(p)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。