Class: Pod::Command::Binary::Lint
Class Method Summary
collapse
Instance Method Summary
collapse
#binary_config, #first_podspec, #private_sources
Constructor Details
#initialize(argv) ⇒ Lint
Returns a new instance of Lint.
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/cocoapods-tdfire-binary/command/lint.rb', line 22
def initialize(argv)
@clean = argv.flag?('clean')
@sources = argv.option('sources')
@subspec = argv.option('subspec')
@one_binary = argv.flag?('one-binary')
@spec_file = first_podspec
@spec_name = @spec_file.split('/').last.split('.').first unless @spec_file.nil?
unzip_framework
super
end
|
Class Method Details
.options ⇒ Object
13
14
15
16
17
18
19
20
|
# File 'lib/cocoapods-tdfire-binary/command/lint.rb', line 13
def self.options
[
['--sources', '私有源地址'],
['--clean', '执行成功后,删除 zip 文件外的所有生成文件'],
['--one-binary', '只让 Lint 的 Pod 进行二进制依赖,其余都用源码'],
['--subspec', 'lint 特定 subspec']
].concat(super)
end
|
Instance Method Details
#run ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/cocoapods-tdfire-binary/command/lint.rb', line 49
def run
if @one_binary
Pod::Tdfire::BinaryStateStore.lib_lint_binary_pod = @spec_name
else
Pod::Tdfire::BinaryStateStore.set_force_use_binary
end
argvs = [
"--sources=#{@sources || Pod::Tdfire::BinaryUrlManager.private_cocoapods_url}",
'--allow-warnings',
'--use-libraries',
'--verbose'
]
argvs << "--subspec=#{@subspec}" unless @subspec.nil?
lint= Pod::Command::Lib::Lint.new(CLAide::ARGV.new(argvs))
lint.validate!
lint.run
if @one_binary
Pod::Tdfire::BinaryStateStore.lib_lint_binary_pod = nil
else
Pod::Tdfire::BinaryStateStore.unset_force_use_binary
end
system "rm -fr #{@spec_name}.framework " if @clean
end
|
#unzip_framework ⇒ Object
41
42
43
44
45
46
47
|
# File 'lib/cocoapods-tdfire-binary/command/lint.rb', line 41
def unzip_framework
framework = "#{@spec_name}.framework"
zip_name = "#{framework}.zip"
if File.exist?(zip_name) && !File.exist?("#{@spec_name}.framework")
system "unzip #{zip_name}"
end
end
|
#validate! ⇒ Object
34
35
36
37
38
39
|
# File 'lib/cocoapods-tdfire-binary/command/lint.rb', line 34
def validate!
super
help! '当前目录下没有podspec文件.' if @spec_file.nil?
framework = "#{@spec_name}.framework"
help! "当前目录下没有#{framework}文件" unless File.exist?(framework)
end
|