cocoapods-bb-bin 0.1.9.2 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d5f4829bed047a7e6cf24fa37682af5fc4dc8072f1007816fd4583c61905d05c
4
- data.tar.gz: bec7974a90a79e8b5c6568603f754ede81499d5e1ddee4f2822b31acc2982839
3
+ metadata.gz: a39abb3bb7a0878383ec7f7b2a475b6af98f0c01f99cb1d85af3c5290fbd1deb
4
+ data.tar.gz: a50b6bd120d0e08571e4ed59c1a3be63c43e1684edb64c2c2a694ce714e2c831
5
5
  SHA512:
6
- metadata.gz: c0defbc5c9f7cdfcca836b01ed21eab3af214eab878c1cbebe77e7089b6777f0b3a7e8f79af402c2bc3364ea8813d1eb56d2ee4415e9d84e211c57986c6fafbd
7
- data.tar.gz: d4fa411c0be901eff6028216f351c3678e1f95be435afea6301e5dcd33aa89ddd0d242151d62f1e3850f52400aa365aaddf5a97040b5af097d8008138df23605
6
+ metadata.gz: '049d6a31b67b09bd3d4fcc24d408d6dbe1f778069c6230d61517038fd9d71584162d950e6b0de3a6609475e99de560e893d208709e742d25c99b771ac8399205'
7
+ data.tar.gz: 7ebb743aef0db3971d28250e7571edcda3fb3c7d27d1a9bb81c2f34d23e4fba5392b836aa84cee9109833fcd34648f8a0850ca8263157688597125f227ce9481
@@ -21,7 +21,8 @@ module Pod
21
21
  ['--no-zip', '不压缩静态 framework 为 zip'],
22
22
  ['--all-make', '对该组件的依赖库,全部制作为二进制组件'],
23
23
  ['--configuration', 'Build the specified configuration (e.g. Release ). Defaults to Debug'],
24
- ['--env', "该组件上传的环境 %w[dev debug_iphoneos release_iphoneos]"]
24
+ ['--env', "该组件上传的环境 %w[dev debug_iphoneos release_iphoneos]"],
25
+ ['--all-push', '上传二进制同时,允许同时推送源码索引'],
25
26
  ].concat(Pod::Command::Gen.options).concat(super).uniq
26
27
  end
27
28
 
@@ -40,6 +41,7 @@ module Pod
40
41
  @allow_prerelease = argv.flag?('allow-prerelease')
41
42
  @framework_output = argv.flag?('framework-output', false )
42
43
  @xcframework_output = argv.flag?('xcframework-output', false )
44
+ @pushsourcespec = argv.flag?('all-push', false )
43
45
  @clean = argv.flag?('clean', true)
44
46
  @zip = argv.flag?('zip', true)
45
47
  @all_make = argv.flag?('all-make', false )
@@ -64,7 +66,7 @@ module Pod
64
66
  fail_push_specs = []
65
67
  sources_sepc.uniq.each do |spec|
66
68
  begin
67
- fail_push_specs << spec unless CBin::Upload::Helper.new(spec,@code_dependencies,@sources).upload
69
+ fail_push_specs << spec unless CBin::Upload::Helper.new(spec,@code_dependencies,@sources,@pushsourcespec).upload
68
70
  rescue Object => exception
69
71
  UI.puts exception
70
72
  fail_push_specs << spec
@@ -84,7 +86,6 @@ module Pod
84
86
  auto_success += "#{spec.name} | #{spec.version}\n"
85
87
  UI.warn "===【 #{spec.name} | #{spec.version} 】二进制组件制作完成 !!! "
86
88
  end
87
- puts "============== auto_success"
88
89
  puts auto_success
89
90
  ENV['auto_success'] = auto_success
90
91
  end
@@ -0,0 +1,136 @@
1
+ require 'cocoapods-bb-bin/native/podfile'
2
+ require 'cocoapods/command/gen'
3
+ require 'cocoapods/generate'
4
+ require 'xcodeproj'
5
+ require 'cocoapods-bb-bin/helpers/push_spec_helper'
6
+ require 'cocoapods-bb-bin/helpers/build_helper'
7
+
8
+ module Pod
9
+ class Command
10
+ class Bin < Command
11
+ class Tag < Bin
12
+ self.summary = '推送标签.'
13
+
14
+ self.arguments = [
15
+ CLAide::Argument.new('NAME.podspec', false)
16
+ ]
17
+ def self.options
18
+ [
19
+ ['--sources', '私有源地址,多个用分号区分'],
20
+ ['--no-clean', '保留构建中间产物'],
21
+ ].concat(Pod::Command::Gen.options).concat(super).uniq
22
+ end
23
+
24
+ def initialize(argv)
25
+ @help = argv.flag?('help', false )
26
+ if @help
27
+ else
28
+ @env = argv.option('env') || 'dev'
29
+ CBin.config.set_configuration_env(@env)
30
+
31
+ @podspec = argv.shift_argument || find_podspec
32
+ @sources = argv.option('sources') || []
33
+ @clean = argv.flag?('no-clean', false)
34
+ @platform = Platform.new(:ios)
35
+ end
36
+ super
37
+ end
38
+
39
+ def validate!
40
+ help! "未找到 podspec文件" unless @podspec
41
+ super
42
+ end
43
+
44
+ def run
45
+
46
+ # 清除之前的缓存
47
+ CBin::Config::Builder.instance.clean
48
+
49
+ @spec = Specification.from_file(@podspec)
50
+ generate_project
51
+ swift_pods_buildsetting
52
+ if build_root_spec
53
+ # 工程编译ok,进行标签推送
54
+ push_helper = CBin::Push::Helper.new()
55
+ push_helper.push_source_repo(@podspec)
56
+ end
57
+ end
58
+
59
+ #Dir.glob 可替代
60
+ def find_podspec
61
+ name = nil
62
+ Pathname.pwd.children.each do |child|
63
+ # puts child
64
+ if File.file?(child)
65
+ if child.extname == '.podspec'
66
+ name = File.basename(child)
67
+ unless name.include?("binary-template")
68
+ return name
69
+ end
70
+ end
71
+ end
72
+ end
73
+ raise Informative, "podspec File no exist, please check" unless name
74
+ return name
75
+ end
76
+
77
+ private
78
+ def build_root_spec
79
+ builder = CBin::Build::Helper.new(@spec,
80
+ @platform,
81
+ false,
82
+ false,
83
+ @sources,
84
+ true,
85
+ @spec,
86
+ CBin::Config::Builder.instance.white_pod_list.include?(@spec.name),
87
+ 'Release')
88
+ builder.build
89
+ builder.clean_workspace if @clean && !@all_make
90
+ return builder.is_build_finish
91
+ end
92
+ def swift_pods_buildsetting
93
+ # swift_project_link_header
94
+ worksppace_path = File.expand_path("#{CBin::Config::Builder.instance.gen_dir}/#{@spec.name}")
95
+ path = File.join(worksppace_path, "Pods.xcodeproj")
96
+ path = File.join(worksppace_path, "Pods/Pods.xcodeproj") unless File.exist?(path)
97
+ raise Informative, "#{path} File no exist, please check" unless File.exist?(path)
98
+ project = Xcodeproj::Project.open(path)
99
+ project.build_configurations.each do |x|
100
+ x.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = true #设置生成swift inter
101
+ end
102
+ project.save
103
+ end
104
+
105
+ def generate_project
106
+ Podfile.execute_with_bin_plugin do
107
+ Podfile.execute_with_use_binaries(!@code_dependencies) do
108
+ argvs = [
109
+ "--sources=#{sources_option(@code_dependencies, @sources)}",
110
+ "--gen-directory=#{CBin::Config::Builder.instance.gen_dir}",
111
+ '--clean',
112
+ "--verbose",
113
+ *@additional_args
114
+ ]
115
+ podfile_path = Pod::Config.instance.podfile_path
116
+ if podfile_path && File.exist?(podfile_path)
117
+ argvs += ['--use-podfile']
118
+ end
119
+
120
+ if CBin::Build::Utils.uses_frameworks? # 组件库重新生成pod工程引入静态库需要使用该选项,否则报cocoapods中verify_no_static_framework_transitive_dependencies验证无法通过 by hm 21/10/18
121
+ argvs += ['--use-libraries']
122
+ end
123
+
124
+ argvs << @podspec if @podspec
125
+ # UI.puts "argvs:#{argvs}"
126
+ gen = Pod::Command::Gen.new(CLAide::ARGV.new(argvs))
127
+ gen.validate!
128
+ gen.run
129
+ end
130
+ end
131
+ end
132
+
133
+ end
134
+ end
135
+ end
136
+ end
@@ -7,6 +7,7 @@ require 'cocoapods-bb-bin/command/bin/code'
7
7
  require 'cocoapods-bb-bin/command/bin/update'
8
8
  require 'cocoapods-bb-bin/command/bin/install'
9
9
  require 'cocoapods-bb-bin/command/bin/imy'
10
+ require 'cocoapods-bb-bin/command/bin/tag'
10
11
 
11
12
  require 'cocoapods-bb-bin/helpers'
12
13
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  module CBin
3
- VERSION = '0.1.9.2'
3
+ VERSION = '0.2.2'
4
4
  end
5
5
 
6
6
  module Pod
@@ -68,6 +68,21 @@ module CBin
68
68
 
69
69
  end
70
70
 
71
+ def is_build_finish
72
+ if is_build_xcframework
73
+ path = xcframework_name_zip
74
+ else
75
+ path = framework_name_zip
76
+ end
77
+ output_path = File.join(zip_dir, path)
78
+ unless File.exist?(xcframework_name)
79
+ UI.puts "工程文件编译成功"
80
+ return true
81
+ end
82
+ UI.puts "工程文件编译失败"
83
+ return false
84
+ end
85
+
71
86
  # 是否编译xcframework库
72
87
  def is_build_xcframework
73
88
  if @xcframework_output == true
@@ -0,0 +1,64 @@
1
+ require 'cocoapods-bb-bin/native/podfile'
2
+ require 'cocoapods/command/gen'
3
+ require 'cocoapods/generate'
4
+ require 'cocoapods-bb-bin/helpers/framework_builder'
5
+ require 'cocoapods-bb-bin/helpers/library_builder'
6
+ require 'cocoapods-bb-bin/helpers/sources_helper'
7
+ require 'cocoapods-bb-bin/command/bin/repo/push'
8
+
9
+ module CBin
10
+ class Push
11
+ class Helper
12
+ include CBin::SourcesHelper
13
+
14
+ def initialize()
15
+ end
16
+
17
+ # 上传二进制 podspec
18
+ def push_binary_repo(binary_podsepc_json)
19
+ argvs = [
20
+ "#{binary_source.name}", # repo
21
+ "#{binary_podsepc_json}", # spec
22
+ "--binary",
23
+ "--sources=#{binary_source},https:\/\/cdn.cocoapods.org",
24
+ "--skip-import-validation",
25
+ "--use-libraries",
26
+ "--allow-warnings",
27
+ "--verbose",
28
+ "--code-dependencies",
29
+ '--no-cocoapods-validator', #不采用cocoapods验证
30
+ ]
31
+ if @verbose
32
+ argvs += ['--verbose']
33
+ end
34
+ Pod::UI.message "上传二进制 argvs: #{argvs}"
35
+ push = Pod::Command::Bin::Repo::Push.new(CLAide::ARGV.new(argvs))
36
+ push.validate!
37
+ push.run
38
+ end
39
+
40
+ # 上传源码podspec
41
+ def push_source_repo(source_podsepc_json)
42
+ argvs = [
43
+ "#{code_source.name}", # repo
44
+ "#{source_podsepc_json}", # spec
45
+ "--sources=#{code_source},https:\/\/cdn.cocoapods.org",
46
+ "--skip-import-validation",
47
+ "--use-libraries",
48
+ "--allow-warnings",
49
+ "--verbose",
50
+ "--code-dependencies",
51
+ '--no-cocoapods-validator', #不采用cocoapods验证
52
+ ]
53
+ if @verbose
54
+ argvs += ['--verbose']
55
+ end
56
+ Pod::UI.message "上传源码 argvs: #{argvs}"
57
+ push = Pod::Command::Bin::Repo::Push.new(CLAide::ARGV.new(argvs))
58
+ push.validate!
59
+ push.run
60
+ end
61
+
62
+ end
63
+ end
64
+ end
@@ -43,15 +43,24 @@ module CBin
43
43
  end
44
44
 
45
45
  @filename = file
46
+ # Pod::UI::puts "===copy origin file: #{file}"
47
+ # Pod::UI::puts "===copy desc file: #{sourceSpecFilePath}"
48
+ # 拷贝二进制spec到源码spec by hm 22/1/19
49
+ `cp -fa #{file} #{sourceSpecFilePath}`
46
50
  end
47
51
 
48
52
  def clear_spec_file
49
53
  File.delete(filename) if File.exist?(filename)
50
54
  end
51
55
 
56
+ # 二进制spec路径
52
57
  def filename
53
58
  @filename ||= "#{CBin::Config::Builder.instance.binary_json_dir_name}/#{spec.name}.binary.podspec.json"
54
59
  end
60
+ # 源码spec路径(指向二进制库)
61
+ def sourceSpecFilePath
62
+ @sourcefilename ||= "#{CBin::Config::Builder.instance.binary_json_dir_name}/#{spec.name}.podspec.json"
63
+ end
55
64
 
56
65
  private
57
66
 
@@ -8,17 +8,18 @@ require 'cocoapods/generate'
8
8
  require 'cocoapods-bb-bin/helpers/framework_builder'
9
9
  require 'cocoapods-bb-bin/helpers/library_builder'
10
10
  require 'cocoapods-bb-bin/helpers/sources_helper'
11
- require 'cocoapods-bb-bin/command/bin/repo/push'
11
+ require 'cocoapods-bb-bin/helpers/push_spec_helper'
12
12
 
13
13
  module CBin
14
14
  class Upload
15
15
  class Helper
16
16
  include CBin::SourcesHelper
17
17
 
18
- def initialize(spec,code_dependencies,sources)
18
+ def initialize(spec,code_dependencies,sources, pushsourcespec = false)
19
19
  @spec = spec
20
20
  @code_dependencies = code_dependencies
21
21
  @sources = sources
22
+ @pushsourcespec = pushsourcespec # 推送源码
22
23
  end
23
24
 
24
25
  def upload
@@ -29,7 +30,14 @@ module CBin
29
30
  res_zip = curl_zip
30
31
  if res_zip
31
32
  filename = spec_creator
32
- push_binary_repo(filename)
33
+ Pod::UI.message "上传二进制 podspec: #{filename}"
34
+ push_helper = CBin::Push::Helper.new()
35
+ push_helper.push_binary_repo(filename)
36
+ # 上传源码 podspec
37
+ if @pushsourcespec
38
+ Pod::UI.message "上传源码 podspec: #{@spec_creator.sourceSpecFilePath}"
39
+ push_helper.push_source_repo(@spec_creator.sourceSpecFilePath)
40
+ end
33
41
  end
34
42
  res_zip
35
43
  end
@@ -37,6 +45,7 @@ module CBin
37
45
 
38
46
  def spec_creator
39
47
  spec_creator = CBin::SpecificationSource::Creator.new(@spec)
48
+ @spec_creator = spec_creator
40
49
  spec_creator.create
41
50
  spec_creator.write_spec_file
42
51
  spec_creator.filename
@@ -69,30 +78,6 @@ EOF
69
78
  res
70
79
  end
71
80
 
72
-
73
- # 上传二进制 podspec
74
- def push_binary_repo(binary_podsepc_json)
75
- argvs = [
76
- "#{binary_source.name}", # repo
77
- "#{binary_podsepc_json}", # spec
78
- "--binary",
79
- "--sources=#{sources_option(@code_dependencies, @sources)},https:\/\/cdn.cocoapods.org",
80
- "--skip-import-validation",
81
- "--use-libraries",
82
- "--allow-warnings",
83
- "--verbose",
84
- "--code-dependencies",
85
- '--no-cocoapods-validator', #不采用cocoapods验证
86
- ]
87
- if @verbose
88
- argvs += ['--verbose']
89
- end
90
-
91
- push = Pod::Command::Bin::Repo::Push.new(CLAide::ARGV.new(argvs))
92
- push.validate!
93
- push.run
94
- end
95
-
96
81
  end
97
82
  end
98
83
  end
@@ -15,18 +15,16 @@ module Pod
15
15
  class PodfileGenerator
16
16
  # @return [Podfile] a podfile suitable for installing the given spec
17
17
  #
18
- # @param [Specification] spec
18
+ # @param [Array<Specification>] specs
19
19
  #
20
- alias old_podfile_for_spec podfile_for_spec
21
-
22
- def podfile_for_spec(spec)
20
+ def podfile_for_specs(specs)
23
21
  generator = self
24
- dir = configuration.gen_dir_for_pod(spec.name)
25
- project_name = configuration.project_name_for_spec(spec)
22
+ dir = configuration.gen_dir_for_specs(specs)
23
+ project_name = configuration.project_name_for_specs(specs)
26
24
 
27
25
  Pod::Podfile.new do
28
26
  project "#{project_name}.xcodeproj"
29
- workspace "#{spec.name}.xcworkspace"
27
+ workspace "#{project_name}.xcworkspace"
30
28
 
31
29
  plugin 'cocoapods-generate'
32
30
 
@@ -35,8 +33,8 @@ module Pod
35
33
  generator.podfile_plugins.each do |name, options|
36
34
  plugin(*[name, options].compact)
37
35
  end
38
- # Pod::UI::puts "====use_frameworks:#{generator.configuration.use_frameworks?}"
39
- use_frameworks!(generator.configuration.use_frameworks?)
36
+
37
+ use_frameworks!(generator.use_frameworks_value)
40
38
 
41
39
  if (supported_swift_versions = generator.supported_swift_versions)
42
40
  supports_swift_versions(supported_swift_versions)
@@ -49,44 +47,51 @@ module Pod
49
47
 
50
48
  self.defined_in_file = dir.join('CocoaPods.podfile.yaml')
51
49
 
52
- test_specs = spec.recursive_subspecs.select(&:test_specification?)
53
- app_specs = if spec.respond_to?(:app_specification?)
54
- spec.recursive_subspecs.select(&:app_specification?)
55
- else
56
- []
57
- end
50
+ test_specs_by_spec = Hash[specs.map do |spec|
51
+ [spec, spec.recursive_subspecs.select(&:test_specification?)]
52
+ end]
53
+ app_specs_by_spec = Hash[specs.map do |spec|
54
+ app_specs = if spec.respond_to?(:app_specification?)
55
+ spec.recursive_subspecs.select(&:app_specification?)
56
+ else
57
+ []
58
+ end
59
+ [spec, app_specs]
60
+ end]
58
61
 
59
62
  # Stick all of the transitive dependencies in an abstract target.
60
63
  # This allows us to force CocoaPods to use the versions / sources / external sources
61
64
  # that we want.
62
- # By using an abstract target,
63
-
65
+
64
66
  # 会导致多个dependencies出现, 注释by slj
65
67
  # abstract_target 'Transitive Dependencies' do
66
- # pods_for_transitive_dependencies = [spec.name]
67
- # .concat(test_specs.map(&:name))
68
- # .concat(test_specs.flat_map { |ts| ts.dependencies.flat_map(&:name) })
69
- # .concat(app_specs.map(&:name))
70
- # .concat(app_specs.flat_map { |as| as.dependencies.flat_map(&:name) })
71
- #
68
+ # pods_for_transitive_dependencies = specs.flat_map do |spec|
69
+ # [spec.name]
70
+ # .concat(test_specs_by_spec.keys.map(&:name))
71
+ # .concat(test_specs_by_spec.values.flatten.flat_map { |ts| ts.dependencies.flat_map(&:name) })
72
+ # .concat(app_specs_by_spec.keys.map(&:name))
73
+ # .concat(app_specs_by_spec.values.flatten.flat_map { |as| as.dependencies.flat_map(&:name) })
74
+ # end
75
+ # pods_for_transitive_dependencies.uniq!
76
+
77
+ # spec_names = specs.map { |s| s.root.name }.to_set
72
78
  # dependencies = generator
73
- # .transitive_dependencies_by_pod
74
- # .values_at(*pods_for_transitive_dependencies)
75
- # .compact
76
- # .flatten(1)
77
- # .uniq
78
- # .sort_by(&:name)
79
- # .reject { |d| d.root_name == spec.root.name }
80
- #
79
+ # .transitive_dependencies_by_pod
80
+ # .values_at(*pods_for_transitive_dependencies)
81
+ # .compact
82
+ # .flatten(1)
83
+ # .uniq
84
+ # .sort_by(&:name)
85
+ # .reject { |d| spec_names.include?(d.root_name) }
86
+
81
87
  # dependencies.each do |dependency|
82
88
  # pod_args = generator.pod_args_for_dependency(self, dependency)
83
89
  # pod(*pod_args)
84
90
  # end
85
91
  # end
86
92
 
87
- # Add platform-specific concrete targets that inherit the
88
- # `pod` declaration for the local pod.
89
- spec_platform_names = spec.available_platforms.map(&:string_name).flatten.each.reject do |platform_name|
93
+ # Add platform-specific concrete targets that inherit the `pod` declaration for the local pod.
94
+ spec_platform_names = specs.flat_map { |s| s.available_platforms.map(&:string_name) }.uniq.each.reject do |platform_name|
90
95
  !generator.configuration.platforms.nil? && !generator.configuration.platforms.include?(platform_name.downcase)
91
96
  end
92
97
 
@@ -98,8 +103,16 @@ module Pod
98
103
 
99
104
  # this block has to come _before_ inhibit_all_warnings! / use_modular_headers!,
100
105
  # and the local `pod` declaration
101
- # 会导致多个dependencies出现, 注释by slj
102
-
106
+ # current_target_definition.instance_exec do
107
+ # transitive_dependencies = children.find { |c| c.name == 'Transitive Dependencies' }
108
+
109
+ # %w[use_modular_headers inhibit_warnings].each do |key|
110
+ # Pod::UI::puts "====key:#{key} value:#{value}"
111
+ # value = transitive_dependencies.send(:internal_hash).delete(key)
112
+ # next if value.blank?
113
+ # set_hash_value(key, value)
114
+ # end
115
+ # end
103
116
 
104
117
  inhibit_all_warnings! if generator.inhibit_all_warnings?
105
118
  # use_modular_headers! if generator.use_modular_headers?
@@ -112,15 +125,18 @@ module Pod
112
125
  use_modular_headers!
113
126
  end
114
127
 
115
- # This is the pod declaration for the local pod,
116
- # it will be inherited by the concrete target definitions below
117
- pod_options = generator.dependency_compilation_kwargs(spec.name)
118
- pod_options[:path] = spec.defined_in_file.relative_path_from(dir).to_s
119
- { testspecs: test_specs, appspecs: app_specs }.each do |key, specs|
120
- pod_options[key] = specs.map { |s| s.name.sub(%r{^#{Regexp.escape spec.root.name}/}, '') }.sort unless specs.empty?
121
- end
128
+ specs.each do |spec|
129
+ # This is the pod declaration for the local pod,
130
+ # it will be inherited by the concrete target definitions below
131
+ pod_options = generator.dependency_compilation_kwargs(spec.name)
122
132
 
123
- pod spec.name, **pod_options
133
+ path = spec.defined_in_file.relative_path_from(dir).to_s
134
+ pod_options[:path] = path
135
+ { testspecs: test_specs_by_spec[spec], appspecs: app_specs_by_spec[spec] }.each do |key, subspecs|
136
+ pod_options[key] = subspecs.map { |s| s.name.sub(%r{^#{Regexp.escape spec.root.name}/}, '') }.sort unless subspecs.blank?
137
+ end
138
+ pod spec.name, **pod_options
139
+ end
124
140
 
125
141
  if Pod::Config.instance.podfile
126
142
  target_definitions['Pods'].instance_exec do
@@ -187,14 +203,16 @@ module Pod
187
203
 
188
204
  # Implement local-sources option to set up dependencies to podspecs in the local filesystem.
189
205
  next if generator.configuration.local_sources.empty?
190
- generator.transitive_local_dependencies(spec, generator.configuration.local_sources).each do |dependency, podspec_file|
191
- pod_options = generator.dependency_compilation_kwargs(dependency.name)
192
- pod_options[:path] = if podspec_file[0] == '/' # absolute path
193
- podspec_file
194
- else
195
- '../../' + podspec_file
196
- end
197
- pod dependency.name, **pod_options
206
+ specs.each do |spec|
207
+ generator.transitive_local_dependencies(spec, generator.configuration.local_sources).sort_by(&:first).each do |dependency, podspec_file|
208
+ pod_options = generator.dependency_compilation_kwargs(dependency.name)
209
+ pod_options[:path] = if podspec_file[0] == '/' # absolute path
210
+ podspec_file
211
+ else
212
+ '../../' + podspec_file
213
+ end
214
+ pod dependency.name, **pod_options
215
+ end
198
216
  end
199
217
  end
200
218
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-bb-bin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9.2
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - humin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-03 00:00:00.000000000 Z
11
+ date: 2022-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -48,16 +48,22 @@ dependencies:
48
48
  name: cocoapods-generate
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '2.2'
54
+ - - "<"
52
55
  - !ruby/object:Gem::Version
53
- version: 2.0.1
56
+ version: '3.0'
54
57
  type: :runtime
55
58
  prerelease: false
56
59
  version_requirements: !ruby/object:Gem::Requirement
57
60
  requirements:
58
- - - "~>"
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '2.2'
64
+ - - "<"
59
65
  - !ruby/object:Gem::Version
60
- version: 2.0.1
66
+ version: '3.0'
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: cocoapods-bb-xcframework
63
69
  requirement: !ruby/object:Gem::Requirement
@@ -131,6 +137,7 @@ files:
131
137
  - lib/cocoapods-bb-bin/command/bin/repo/push.rb
132
138
  - lib/cocoapods-bb-bin/command/bin/repo/update.rb
133
139
  - lib/cocoapods-bb-bin/command/bin/spec/create.rb
140
+ - lib/cocoapods-bb-bin/command/bin/tag.rb
134
141
  - lib/cocoapods-bb-bin/command/bin/update.rb
135
142
  - lib/cocoapods-bb-bin/config/config.rb
136
143
  - lib/cocoapods-bb-bin/config/config_asker.rb
@@ -146,6 +153,7 @@ files:
146
153
  - lib/cocoapods-bb-bin/helpers/framework_builder.rb
147
154
  - lib/cocoapods-bb-bin/helpers/library.rb
148
155
  - lib/cocoapods-bb-bin/helpers/library_builder.rb
156
+ - lib/cocoapods-bb-bin/helpers/push_spec_helper.rb
149
157
  - lib/cocoapods-bb-bin/helpers/sources_helper.rb
150
158
  - lib/cocoapods-bb-bin/helpers/spec_creator.rb
151
159
  - lib/cocoapods-bb-bin/helpers/spec_files_helper.rb
@@ -197,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
205
  - !ruby/object:Gem::Version
198
206
  version: '0'
199
207
  requirements: []
200
- rubygems_version: 3.2.30
208
+ rubygems_version: 3.3.5
201
209
  signing_key:
202
210
  specification_version: 4
203
211
  summary: cocoapods-bb-bin is a plugin which helps develpers switching pods between