require 'cocoapods' require_relative '../source/util/sh_util' module OrmDev class Command class Lint < Command self.summary = '验证本地插件pod仓库。' self.description = <<-DESC 插件管理. 验证本地插件。 DESC self.arguments = [ CLAide::Argument.new('PATH', false) ] def self.options [ ].concat(super) end def initialize(argv) @podspec_file = argv.shift_argument @podspec_files = Pathname.pwd.children.select { |pn| pn.extname == '.podspec' } super end def validate! super if @podspec_file help! "podspec file at #{@podspec_file} does not exist" unless File.exist? @podspec_file @podspec_path = @podspec_file else raise Pod::Informative, 'No podspec file found, please specify one' unless @podspec_files.length > 0 raise Pod::Informative, 'Multiple podspec file found, please specify one' unless @podspec_files.length == 1 @podspec_path = @podspec_files.first end end def run super OrmDev::LogUtil.info '[插件管理] 验证Pod'.green @spec = Pod::Specification.from_file(@podspec_path) OrmDev::SHUtil.run_command("pod cache clean #{@spec.name} --all",'清除Pod缓存',false) pod_lint_command = '' pod_lint_command << "#{@spec.name}_SOURCE=1" pod_lint_command << ' pod lib lint --sources=orm,master --allow-warnings --use-libraries --verbose' OrmDev::SHUtil.run_command(pod_lint_command,'更验证Pod',false) end end end end