Module: CBin::SpecFilesHelper
- Included in:
- Pod::Command::Bin
- Defined in:
- lib/cocoapods-imy-bin/helpers/spec_files_helper.rb
Instance Method Summary collapse
- #binary_spec ⇒ Object
- #binary_spec_files ⇒ Object
- #binary_template_spec ⇒ Object
- #binary_template_spec_file ⇒ Object
- #binary_template_spec_files ⇒ Object
- #clear_binary_spec_file_if_needed ⇒ Object
- #code_spec ⇒ Object
- #code_spec_files ⇒ Object
- #create_binary_spec_file(code_spec, template_spec) ⇒ Object
- #find_spec_file(podspec) ⇒ Object
- #spec_files ⇒ Object
Instance Method Details
#binary_spec ⇒ Object
34 35 36 37 38 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 34 def binary_spec if binary_spec_files.first Pod::Specification.from_file(binary_spec_files.first) end end |
#binary_spec_files ⇒ Object
12 13 14 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 12 def binary_spec_files @binary_spec_files ||= Pathname.glob('*.binary.podspec{,.json}') end |
#binary_template_spec ⇒ Object
40 41 42 43 44 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 40 def binary_template_spec if binary_template_spec_file Pod::Specification.from_file(binary_template_spec_file) end end |
#binary_template_spec_file ⇒ Object
20 21 22 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 20 def binary_template_spec_file @binary_spec_template_file ||= binary_template_spec_files.first end |
#binary_template_spec_files ⇒ Object
16 17 18 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 16 def binary_template_spec_files @binary_spec_template_files ||= Pathname.glob('*.binary-template.podspec{,.json}') end |
#clear_binary_spec_file_if_needed ⇒ Object
73 74 75 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 73 def clear_binary_spec_file_if_needed @spec_creator&.clear_spec_file end |
#code_spec ⇒ Object
28 29 30 31 32 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 28 def code_spec if code_spec_files.first Pod::Specification.from_file(code_spec_files.first) end end |
#code_spec_files ⇒ Object
24 25 26 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 24 def code_spec_files @code_spec_files ||= spec_files - binary_spec_files - binary_template_spec_files end |
#create_binary_spec_file(code_spec, template_spec) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 53 def create_binary_spec_file(code_spec, template_spec) # 1. code spec 是否有 subpsec # 1.1 有,查找 template spec,并生成 # 1.2 没有,是否有 template spec # 1.2.1 有,根据 template spec 生成 # 1.2.2 没有,根据 code spec 生成 unless code_spec raise Pod::Informative, '没有二进制 podspec 的情况下,必须要提供源码 podspec.' end if code_spec.subspecs.any? && template_spec.nil? raise Pod::Informative, '拥有 subspec 的组件,在生成二进制 podspec 时,必须要提供模版 podspec.' end @spec_creator = CBin::Specification::Creator.new(code_spec, template_spec) @spec_creator.create @spec_creator.write_spec_file @spec_creator.filename end |
#find_spec_file(podspec) ⇒ Object
46 47 48 49 50 51 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 46 def find_spec_file(podspec) path = Pathname(podspec) raise Pod::Informative, "无法找到 #{podspec}" unless path.exist? path end |
#spec_files ⇒ Object
8 9 10 |
# File 'lib/cocoapods-imy-bin/helpers/spec_files_helper.rb', line 8 def spec_files @spec_files ||= Pathname.glob('*.podspec{,.json}') end |