require 'thor' require 'yk_command/analyze/analyze' require 'yk_command/analyze/request' require 'yk_command/module/yk_module' require_relative 'component_manage/component_manage_platform' module YkCommand class CLI < Thor include Thor::Actions desc 'generate <Path> <Module Name> <Language> <Prefix - 前缀> <Author - 作者>', '直接生成项目 例子: yk_command generate . HomeModule oc MT Tom.Liu ' method_option :generate, aliases: '-g' def generate(path = nil, name, lang, class_prefix, author) YkModule.new(self .args,self .options).generate(path, name, lang, class_prefix, author) end desc 'create <Path>', '在某个路径下交互式生成项目' method_option :create, aliases: '-c' def create(path = nil) YkModule.new(self .args,self .options ).create(path,false ) end desc 'create_simple_project <Path>', '在某个路径下交互式生成一个简单的demo项目' method_option :create, aliases: '-c' def create_simple_project(path = nil) YkModule.new(self .args,self .options ).create(path,true ) end desc 'dependency <Podfile.lock Path>', '解析Podfile.lock' method_option :dependency, aliases: '-d' def dependency(path = nil) Analyzer.new(path).dependency path end desc 'workspace_analyze <AppHost Path>', '遍历项目目录 批量上传项目依赖信息' method_option :workspace_analyze, aliases: '-w' def workspace_analyze(path = nil) Analyzer.new(path).workspace_analyze path end desc 'platform_refresh ', '更新平台的app和组件数据' method_option :platform_refresh, aliases: '-pr' def platform_refresh p = ComponentManagePlatform.new p.update_app_data p.update_component_data end desc 'platform_create_component ', '创建新的公共组件' method_option :platform_create_component, aliases: '-pcc' def platform_create_component(path = nil,name,desc) p = ComponentManagePlatform.new p.create_new_component(name,desc) end desc 'platform_delete_component ', '删除YKComponents下的组件' method_option :platform_delete_component, aliases: '-pcc' def platform_delete_component(name) p = ComponentManagePlatform.new p.delete_component(name) end end end