从command的参数中获取模板设置信息
(cmd *cobra.Command, args []string)
| 149 | |
| 150 | // 从command的参数中获取模板设置信息 |
| 151 | func getTemplateSetting(cmd *cobra.Command, args []string) (*TemplateTypeBo, error) { |
| 152 | common.SmartIDELog.Info(i18nInstance.New.Info_loading_templates) |
| 153 | // git clone |
| 154 | err := templatesClone() // |
| 155 | if err != nil { |
| 156 | return nil, err |
| 157 | } |
| 158 | |
| 159 | templateTypes, err := LoadTemplatesJson() // 解析json文件 |
| 160 | if err != nil { |
| 161 | return nil, err |
| 162 | } |
| 163 | selectedTemplateTypeName := "" |
| 164 | |
| 165 | selectedTemplateSubTypeName := "" |
| 166 | if len(args) > 0 { |
| 167 | argsTemplateTypeName := "" |
| 168 | argsTemplateSubTypeName := "" |
| 169 | common.SmartIDELog.Info(i18nInstance.Init.Info_check_cmdtemplate) |
| 170 | if cmd.Name() == "init" && len(cmd.Flags().Args()) == 1 { |
| 171 | argsTemplateTypeName = args[0] |
| 172 | } |
| 173 | if cmd.Name() == "start" && len(cmd.Flags().Args()) == 2 { |
| 174 | argsTemplateTypeName = args[1] |
| 175 | } |
| 176 | if cmd.Name() == "start" && len(cmd.Flags().Args()) == 1 { |
| 177 | argsTemplateTypeName = args[0] |
| 178 | } |
| 179 | argsTemplateSubTypeName, err = cmd.Flags().GetString("type") |
| 180 | if err != nil { |
| 181 | return nil, err |
| 182 | } |
| 183 | for _, currentTemplateType := range templateTypes { |
| 184 | if currentTemplateType.TypeName == argsTemplateTypeName { |
| 185 | selectedTemplateTypeName = argsTemplateTypeName |
| 186 | } |
| 187 | for _, currentTemplateTypeSubType := range currentTemplateType.SubTypes { |
| 188 | if currentTemplateTypeSubType.Name == argsTemplateSubTypeName { |
| 189 | selectedTemplateSubTypeName = currentTemplateTypeSubType.Name |
| 190 | } |
| 191 | } |
| 192 | } |
| 193 | if selectedTemplateTypeName == "" || selectedTemplateSubTypeName == "" { |
| 194 | common.SmartIDELog.Info(i18nInstance.Init.Info_noexist_cmdtemplate) |
| 195 | } |
| 196 | } |
| 197 | |
| 198 | if len(args) == 0 || selectedTemplateTypeName == "" || selectedTemplateSubTypeName == "" { |
| 199 | |
| 200 | fmt.Println(i18nInstance.Init.Info_available_templates) |
| 201 | PrintTemplates(templateTypes) // 打印支持的模版列表 |
| 202 | |
| 203 | fmt.Print(i18nInstance.Init.Info_choose_templatetype) |
| 204 | |
| 205 | var indexChar string |
| 206 | fmt.Scanln(&indexChar) |
| 207 | index, err := strconv.Atoi(indexChar) |
| 208 | if err != nil { |
no test coverage detected