62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# File 'lib/pindo/command/lib/lint.rb', line 62
def run
working_dir = @project_dir
podspecs = []
if @pod_spec_file && (@pod_spec_file.to_s.end_with?('.podspec') || @pod_spec_file.to_s.end_with?('.json'))
podspecs = [@pod_spec_file]
else
podspecs = Pathname.glob(File.join(working_dir, '*.podspec{.json,}'))
end
if podspecs.count.zero?
raise Informative, '工作目录下没有任何podspec文件'
end
pod_array = pindo_single_config.pod_repo_dict
pod_index_url = nil
if !pod_array.nil?
pod_index_url = pod_array['podindex']
else
raise Informative, '私有Pod索引地址未知!!'
end
sources = Pod::Config.instance.sources_manager.all
public_source = sources.select { |s| s.is_a?(Pod::CDNSource) }.first
if public_source.nil?
public_source = sources.select { |s| s.git? && s.url.to_s.include?("CocoaPods/Specs.git") }.first
end
if public_source.nil?
raise Informative, '公有Pod地址未知,请pod install安装pod库'
end
private_source = sources.select { |s| s.git? && s.url.to_s.eql?(pod_index_url)}.first
if private_source.nil?
raise Informative, "私有Pod索引地址未知!"
end
command_array = []
puts "即将执行下列命令:"
podspecs.each do |podspec|
command = "pod lib lint #{podspec} --sources=#{private_source.url},#{public_source.url} --allow-warnings --use-libraries --use-modular-headers --no-clean --fail-fast --verbose"
puts
puts command
puts
command_array << command
end
answer = agree("是否运行以上命令(Y/n):")
unless answer
raise Informative, "停止运行!!!"
end
command_array.each do |command|
puts "正在运行命令:"
puts
puts command
system command
end
end
|