cocoapods-tdfire-binary 1.0.5 → 1.0.6

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
  SHA1:
3
- metadata.gz: 247dad046c095099fb90805ff34d7e8238cf2b30
4
- data.tar.gz: 481e44b500bc02c5f6200fed46c7e64d5bdb8177
3
+ metadata.gz: 93538d683f5a872ea846131cf45e346f5ca9d754
4
+ data.tar.gz: 33836f8a6b47157a0e0add735259aa32204b5cdc
5
5
  SHA512:
6
- metadata.gz: 46b2bb051cae5c7a32000b5cc1f82d8a251de5e79061a0dca17c79600cc5f2a35e0859fd2749419238880f8f653e072990e82553e54cf9c9e9c8e63dd4075561
7
- data.tar.gz: 7daef2ba68add76b50b742ce9da933515d3c8f58c1753d1917e78727fd62453feedff69a7206ae5fee24356a107bab8f36c6d8eb0bf2513180233813a5828d9e
6
+ metadata.gz: 1b85fef5485aa1a420d921e5e1178e5ff0a9173ff0db2d4812e5d2bd5026108b20378bff6b15f8c2889ab5a053ffe0b6919827d7b5cc0f384c8646c716b36792
7
+ data.tar.gz: 8cea5c8e40aab3d44fd644713f9ea63f6a0992f6086f30780818ecaf153bc642f2c4459b97b3c92af22ded4b1b38538e44bfc908cfedfffd403e90eb5f5993a8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cocoapods-tdfire-binary (1.0.5)
4
+ cocoapods-tdfire-binary (1.0.6)
5
5
  cocoapods (= 1.2.1)
6
6
  cocoapods-packager (~> 1.5.0)
7
7
 
@@ -35,89 +35,90 @@ module Pod
35
35
  end
36
36
  end
37
37
 
38
- module Tdfire
39
- class BinarySpecificationRefactor
40
- attr_accessor :target_spec
41
-
42
- def initialize(target_spec)
43
- @target_spec = target_spec
44
- end
38
+ module Pod
39
+ module Tdfire
40
+ class BinarySpecificationRefactor
41
+ attr_accessor :target_spec
45
42
 
46
- #--------------------------------------------------------------------#
47
- # 生成default subspec TdfireBinary ,并将源码依赖时的配置转移到此 subspec 上
48
- def configure_binary_default_subspec_with_reference_spec(spec)
49
- default_subspec = "TdfireBinary"
50
- target_spec.subspec default_subspec do |ss|
51
- subspec_refactor = BinarySpecificationRefactor.new(ss)
52
- subspec_refactor.configure_binary_with_reference_spec(spec)
43
+ def initialize(target_spec)
44
+ @target_spec = target_spec
53
45
  end
54
46
 
55
- # 创建源码依赖时的 subspec,并且设置所有的 subspec 依赖 default_subspec
56
- spec.subspecs.each do |s|
57
- target_spec.subspec s.base_name do |ss|
58
- ss.dependency "#{target_spec.root.name}/#{default_subspec}"
47
+ #--------------------------------------------------------------------#
48
+ # 生成default subspec TdfireBinary ,并将源码依赖时的配置转移到此 subspec 上
49
+ def configure_binary_default_subspec_with_reference_spec(spec)
50
+ default_subspec = "TdfireBinary"
51
+ target_spec.subspec default_subspec do |ss|
52
+ subspec_refactor = BinarySpecificationRefactor.new(ss)
53
+ subspec_refactor.configure_binary_with_reference_spec(spec)
59
54
  end
60
- end
61
55
 
62
- target_spec.default_subspec = default_subspec
63
- target_spec.default_subspec = default_subspec
56
+ # 创建源码依赖时的 subspec,并且设置所有的 subspec 依赖 default_subspec
57
+ spec.subspecs.each do |s|
58
+ target_spec.subspec s.base_name do |ss|
59
+ ss.dependency "#{target_spec.root.name}/#{default_subspec}"
60
+ end
61
+ end
64
62
 
65
- Pod::UI.message "Tdfire: subspecs for #{target_spec.name}: #{target_spec.subspecs.map(&:name).join(', ')}"
66
- end
63
+ target_spec.default_subspec = default_subspec
64
+ target_spec.default_subspec = default_subspec
67
65
 
68
- #--------------------------------------------------------------------#
69
- # spec 是二进制依赖时的配置
70
- def configure_binary_with_reference_spec(spec)
71
- # 组件 frameworks 的依赖
72
- target_spec.vendored_frameworks = "#{target_spec.root.name}.framework"
73
- # target_spec.source_files = "#{target_spec.root.name}.framework/Headers/*"
74
- # target_spec.public_header_files = "#{target_spec.root.name}.framework/Headers/*"
75
-
76
- # 保留对 frameworks lib 的依赖
77
- %w[frameworks libraries weak_frameworks].each do |name|
78
- target_spec.store_array_value_with_attribute_and_reference_spec(name, spec)
79
- end
80
-
81
- # 保留对其他组件的依赖
82
- target_spec.store_hash_value_with_attribute_and_reference_spec('dependencies', spec) do |name|
83
- # 去除对自身子组件的依赖
84
- name.split('/').first != target_spec.root.name
66
+ Pod::UI.message "Tdfire: subspecs for #{target_spec.name}: #{target_spec.subspecs.map(&:name).join(', ')}"
85
67
  end
86
68
 
87
- Pod::UI.message "Tdfire: dependencies for #{target_spec.name}: #{target_spec.dependencies.map(&:name).join(', ')}"
88
- end
69
+ #--------------------------------------------------------------------#
70
+ # spec 是二进制依赖时的配置
71
+ def configure_binary_with_reference_spec(spec)
72
+ # 组件 frameworks 的依赖
73
+ target_spec.vendored_frameworks = "#{target_spec.root.name}.framework"
74
+ # target_spec.source_files = "#{target_spec.root.name}.framework/Headers/*"
75
+ # target_spec.public_header_files = "#{target_spec.root.name}.framework/Headers/*"
76
+
77
+ # 保留对 frameworks lib 的依赖
78
+ %w[frameworks libraries weak_frameworks].each do |name|
79
+ target_spec.store_array_value_with_attribute_and_reference_spec(name, spec)
80
+ end
89
81
 
90
- #--------------------------------------------------------------------#
91
- # spec 是源码依赖时的配置
92
- def set_preserve_paths_with_reference_spec(spec)
93
- # 源码、资源文件
94
- source_files = spec.all_array_value_for_attribute('source_files')
95
- resources = spec.all_array_value_for_attribute('resources')
96
- resource_bundles = spec.all_hash_value_for_attribute('resource_bundles')
97
- source_preserve_paths = source_files + resources + resource_bundles.values.flatten
82
+ # 保留对其他组件的依赖
83
+ target_spec.store_hash_value_with_attribute_and_reference_spec('dependencies', spec) do |name|
84
+ # 去除对自身子组件的依赖
85
+ name.split('/').first != target_spec.root.name
86
+ end
98
87
 
99
- # 二进制文件
100
- framework_preserve_paths = [framework_name]
101
- preserve_paths = source_preserve_paths + framework_preserve_paths
88
+ Pod::UI.message "Tdfire: dependencies for #{target_spec.name}: #{target_spec.dependencies.map(&:name).join(', ')}"
89
+ end
102
90
 
103
- # 保留原有的 preserve_paths
104
- preserve_paths += target_spec.attributes_hash['preserve_paths'] unless target_spec.attributes_hash['preserve_paths'].nil?
105
- target_spec.preserve_paths = preserve_paths.uniq
91
+ #--------------------------------------------------------------------#
92
+ # spec 是源码依赖时的配置
93
+ def set_preserve_paths_with_reference_spec(spec)
94
+ # 源码、资源文件
95
+ source_files = spec.all_array_value_for_attribute('source_files')
96
+ resources = spec.all_array_value_for_attribute('resources')
97
+ resource_bundles = spec.all_hash_value_for_attribute('resource_bundles')
98
+ source_preserve_paths = source_files + resources + resource_bundles.values.flatten
106
99
 
107
- Pod::UI.message "Tdfire: preserve paths for #{target_spec.name}: #{preserve_paths.join(', ')}"
108
- end
100
+ # 二进制文件
101
+ framework_preserve_paths = [framework_name]
102
+ preserve_paths = source_preserve_paths + framework_preserve_paths
109
103
 
110
- #--------------------------------------------------------------------#
104
+ # 保留原有的 preserve_paths
105
+ preserve_paths += target_spec.attributes_hash['preserve_paths'] unless target_spec.attributes_hash['preserve_paths'].nil?
106
+ target_spec.preserve_paths = preserve_paths.uniq
111
107
 
112
- def set_use_static_framework
113
- target_spec.static_framework = true if target_spec.respond_to?('static_framework')
114
- end
108
+ Pod::UI.message "Tdfire: preserve paths for #{target_spec.name}: #{preserve_paths.join(', ')}"
109
+ end
110
+
111
+ #--------------------------------------------------------------------#
112
+
113
+ def set_use_static_framework
114
+ target_spec.static_framework = true if target_spec.respond_to?('static_framework')
115
+ end
115
116
 
116
- #--------------------------------------------------------------------#
117
- def set_framework_download_script
118
- download_url = BinaryUrlManager.pull_url_for_pod_version(target_spec.root.name, target_spec.version)
117
+ #--------------------------------------------------------------------#
118
+ def set_framework_download_script
119
+ download_url = Pod::Tdfire::BinaryUrlManager.pull_url_for_pod_version(target_spec.root.name, target_spec.version)
119
120
 
120
- download_script = <<-EOF
121
+ download_script = <<-EOF
121
122
  #!/bin/sh
122
123
 
123
124
  if [[ -d #{framework_name} ]]; then
@@ -144,19 +145,20 @@ module Tdfire
144
145
  rm -fr tdfire_download_temp
145
146
 
146
147
  echo "pod cache path for #{target_spec.root.name}: $(pwd)"
147
- EOF
148
+ EOF
148
149
 
149
- combined_download_script = %Q[echo '#{download_script}' > download.sh && sh download.sh && rm download.sh]
150
- combined_download_script += " && " << target_spec.prepare_command unless target_spec.prepare_command.nil?
150
+ combined_download_script = %Q[echo '#{download_script}' > download.sh && sh download.sh && rm download.sh]
151
+ combined_download_script += " && " << target_spec.prepare_command unless target_spec.prepare_command.nil?
151
152
 
152
- target_spec.prepare_command = combined_download_script
153
- end
153
+ target_spec.prepare_command = combined_download_script
154
+ end
154
155
 
155
- #--------------------------------------------------------------------#
156
- private
156
+ #--------------------------------------------------------------------#
157
+ private
157
158
 
158
- def framework_name
159
- "#{target_spec.root.name}.framework"
160
- end
159
+ def framework_name
160
+ "#{target_spec.root.name}.framework"
161
+ end
162
+ end
161
163
  end
162
- end
164
+ end
@@ -1,59 +1,66 @@
1
- module Tdfire
2
- class BinaryStateStore
3
- public
4
-
5
- class << self
6
- # attr_accessor :unpublished_pods
7
- attr_accessor :use_source_pods
8
- attr_reader :printed_pods
9
- attr_accessor :use_frameworks
10
- attr_accessor :use_source
11
- attr_accessor :lib_lint_binary_pod
12
- end
13
-
14
- @use_source_pods = []
15
- @use_binary_pods = []
16
- @printed_pods = []
17
- @use_frameworks = false
18
-
19
- def self.real_use_source_pods
20
- (@use_source_pods + unpublished_pods).uniq
21
- end
22
-
23
- def self.unpublished_pods
24
- String(ENV[UNPBLISHED_PODS]).split('|').uniq
25
- end
26
-
27
- def self.unpublished_pods=(pods)
28
- ENV[UNPBLISHED_PODS] = Array(pods).uniq.join('|')
29
- end
30
-
31
- def self.use_binary?
32
- ENV[USE_BINARY_KEY] == USE_SURE_VALUE
33
- end
34
-
35
- def self.set_use_binary
36
- ENV[USE_BINARY_KEY] = USE_SURE_VALUE
37
- end
38
-
39
- def self.force_use_binary?
40
- ENV[FORCE_USE_BINARY_KEY] == USE_SURE_VALUE
41
- end
42
-
43
- def self.set_force_use_binary
44
- ENV[FORCE_USE_BINARY_KEY] = USE_SURE_VALUE
45
- end
46
-
47
- def self.force_use_source?
48
- ENV[FORCE_USE_SOURCE_KEY] == USE_SURE_VALUE
49
- end
50
-
51
- private
52
-
53
- UNPBLISHED_PODS = "tdfire_unpublished_pods"
54
- FORCE_USE_SOURCE_KEY = 'tdfire_force_use_source'
55
- FORCE_USE_BINARY_KEY = 'tdfire_force_use_binary'
56
- USE_BINARY_KEY = 'tdfire_use_binary'
57
- USE_SURE_VALUE = '1'
58
- end
1
+
2
+ module Pod
3
+ module Tdfire
4
+ class BinaryStateStore
5
+ public
6
+
7
+ class << self
8
+ # attr_accessor :unpublished_pods
9
+ attr_accessor :use_source_pods
10
+ attr_reader :printed_pods
11
+ attr_accessor :use_frameworks
12
+ attr_accessor :use_source
13
+ attr_accessor :lib_lint_binary_pod
14
+ end
15
+
16
+ @use_source_pods = []
17
+ @use_binary_pods = []
18
+ @printed_pods = []
19
+ @use_frameworks = false
20
+
21
+ def self.real_use_source_pods
22
+ (@use_source_pods + unpublished_pods).uniq
23
+ end
24
+
25
+ def self.unpublished_pods
26
+ String(ENV[UNPBLISHED_PODS]).split('|').uniq
27
+ end
28
+
29
+ def self.unpublished_pods=(pods)
30
+ ENV[UNPBLISHED_PODS] = Array(pods).uniq.join('|')
31
+ end
32
+
33
+ def self.use_binary?
34
+ ENV[USE_BINARY_KEY] == USE_SURE_VALUE
35
+ end
36
+
37
+ def self.set_use_binary
38
+ ENV[USE_BINARY_KEY] = USE_SURE_VALUE
39
+ end
40
+
41
+ def self.force_use_binary?
42
+ ENV[FORCE_USE_BINARY_KEY] == USE_SURE_VALUE
43
+ end
44
+
45
+ def self.set_force_use_binary
46
+ ENV[FORCE_USE_BINARY_KEY] = USE_SURE_VALUE
47
+ end
48
+
49
+ def self.unset_force_use_binary
50
+ ENV[FORCE_USE_BINARY_KEY] = '0'
51
+ end
52
+
53
+ def self.force_use_source?
54
+ ENV[FORCE_USE_SOURCE_KEY] == USE_SURE_VALUE
55
+ end
56
+
57
+ private
58
+
59
+ UNPBLISHED_PODS = "tdfire_unpublished_pods"
60
+ FORCE_USE_SOURCE_KEY = 'tdfire_force_use_source'
61
+ FORCE_USE_BINARY_KEY = 'tdfire_force_use_binary'
62
+ USE_BINARY_KEY = 'tdfire_use_binary'
63
+ USE_SURE_VALUE = '1'
64
+ end
65
+ end
59
66
  end
@@ -1,41 +1,43 @@
1
- module Tdfire
2
- class BinaryUrlManager
3
- HOST = "http://iosframeworkserver-shopkeeperclient.cloudapps.2dfire.com"
1
+ module Pod
2
+ module Tdfire
3
+ class BinaryUrlManager
4
+ HOST = "http://iosframeworkserver-shopkeeperclient.cloudapps.2dfire.com"
4
5
 
5
- def self.pull_url_for_pod_version(pod, version)
6
- HOST + "/getframework/PRODUCTION/#{pod}/#{version}"
7
- end
6
+ def self.pull_url_for_pod_version(pod, version)
7
+ HOST + "/getframework/PRODUCTION/#{pod}/#{version}"
8
+ end
8
9
 
9
- def self.get_pull_url_for_pod_version(pod, version)
10
- command = "curl #{pull_url_for_pod_version(pod, version)} > #{pod}.framework.zip"
10
+ def self.get_pull_url_for_pod_version(pod, version)
11
+ command = "curl #{pull_url_for_pod_version(pod, version)} > #{pod}.framework.zip"
11
12
 
12
- run_curl command
13
- end
13
+ run_curl command
14
+ end
14
15
 
15
- def self.push_url
16
- HOST + "/upload" #+ param
17
- end
16
+ def self.push_url
17
+ HOST + "/upload" #+ param
18
+ end
18
19
 
19
- def self.post_push_url(name, version, path, commit = nil, commit_hash = nil)
20
- param = %Q[-F "frameworkName=#{name}" -F "version=#{version}" -F "environment=PRODUCTION" -F "changelog=#{commit}" -F "featureName=#{commit}" -F "framework=@#{path}" -F "commitHash=#{commit_hash}"]
21
- command = "curl #{push_url} #{param}"
20
+ def self.post_push_url(name, version, path, commit = nil, commit_hash = nil)
21
+ param = %Q[-F "frameworkName=#{name}" -F "version=#{version}" -F "environment=PRODUCTION" -F "changelog=#{commit}" -F "featureName=#{commit}" -F "framework=@#{path}" -F "commitHash=#{commit_hash}"]
22
+ command = "curl #{push_url} #{param}"
22
23
 
23
- run_curl command
24
- end
24
+ run_curl command
25
+ end
25
26
 
26
- def self.run_curl(command)
27
- Pod::UI.message "CURL: \n" + command
27
+ def self.run_curl(command)
28
+ Pod::UI.message "CURL: \n" + command
28
29
 
29
- system command
30
- end
30
+ system command
31
+ end
31
32
 
32
- def self.private_cocoapods_url
33
- "git@git.2dfire-inc.com:ios/cocoapods-spec.git"
34
- # "git@git.2dfire-inc.com:qingmu/private_cocoapods.git"
35
- end
33
+ def self.private_cocoapods_url
34
+ "git@git.2dfire-inc.com:ios/cocoapods-spec.git"
35
+ # "git@git.2dfire-inc.com:qingmu/private_cocoapods.git"
36
+ end
36
37
 
37
- def self.template_lib_url
38
- "git@git.2dfire-inc.com:ios/binary-pod-template.git"
38
+ def self.template_lib_url
39
+ "git@git.2dfire-inc.com:ios/binary-pod-template.git"
40
+ end
39
41
  end
40
42
  end
41
- end
43
+ end
@@ -1 +1 @@
1
- require 'cocoapods-tdfire-binary/command/binary'
1
+ require 'cocoapods-tdfire-binary/command/binary'
@@ -30,7 +30,7 @@ module Pod
30
30
  lint = command_class::new(CLAide::ARGV.new(argv))
31
31
  lint.validate!
32
32
  lint.run
33
- Tdfire::BinaryStateStore.printed_pods.clear
33
+ Pod::Tdfire::BinaryStateStore.printed_pods.clear
34
34
  end
35
35
  end
36
36
  end
@@ -27,7 +27,7 @@ module Pod
27
27
 
28
28
  def run
29
29
  argvs = [
30
- "--template-url=#{Tdfire::BinaryUrlManager.template_lib_url}",
30
+ "--template-url=#{Pod::Tdfire::BinaryUrlManager.template_lib_url}",
31
31
  @name
32
32
  ]
33
33
 
@@ -14,12 +14,14 @@ module Pod
14
14
  [
15
15
  ['--sources', '私有源地址'],
16
16
  ['--clean', '执行成功后,删除 zip 文件外的所有生成文件'],
17
+ ['--one-binary', '只让 Lint 的 Pod 进行二进制依赖,其余都用源码'],
17
18
  ].concat(super)
18
19
  end
19
20
 
20
21
  def initialize(argv)
21
22
  @clean = argv.flag?('clean')
22
23
  @sources = argv.option('sources')
24
+ @one_binary = argv.flag?('one-binary')
23
25
  @spec_file = first_podspec
24
26
  @spec_name = @spec_file.split('/').last.split('.').first
25
27
  unzip_framework
@@ -42,10 +44,14 @@ module Pod
42
44
  end
43
45
 
44
46
  def run
45
- Tdfire::BinaryStateStore.lib_lint_binary_pod = @spec_name
47
+ if @one_binary
48
+ Pod::Tdfire::BinaryStateStore.lib_lint_binary_pod = @spec_name
49
+ else
50
+ Pod::Tdfire::BinaryStateStore.set_force_use_binary
51
+ end
46
52
 
47
53
  argvs = [
48
- "--sources=#{@sources || Tdfire::BinaryUrlManager.private_cocoapods_url}",
54
+ "--sources=#{@sources || Pod::Tdfire::BinaryUrlManager.private_cocoapods_url}",
49
55
  '--allow-warnings',
50
56
  '--use-libraries',
51
57
  '--verbose'
@@ -55,7 +61,12 @@ module Pod
55
61
  lint.validate!
56
62
  lint.run
57
63
 
58
- Tdfire::BinaryStateStore.lib_lint_binary_pod = nil
64
+ if @one_binary
65
+ Pod::Tdfire::BinaryStateStore.lib_lint_binary_pod = nil
66
+ else
67
+ Pod::Tdfire::BinaryStateStore.unset_force_use_binary
68
+ end
69
+
59
70
  system "rm -fr #{@spec_name}.framework " if @clean
60
71
  end
61
72
  end
@@ -6,7 +6,7 @@ require 'cocoapods-tdfire-binary/binary_specification_refactor'
6
6
  module Pod
7
7
  class Command
8
8
  class Binary < Command
9
- class Package < Binary
9
+ class Package < Binary
10
10
  self.abstract_command = false
11
11
  self.summary = '二进制打包'
12
12
  self.description = <<-DESC
@@ -42,7 +42,7 @@ module Pod
42
42
 
43
43
  def package(spec)
44
44
  UI.section("Tdfire: package #{spec.name} ...") do
45
- system "pod package #{spec.name}.podspec --exclude-deps --force --no-mangle --spec-sources=#{@spec_sources || Tdfire::BinaryUrlManager.private_cocoapods_url}"
45
+ system "pod package #{spec.name}.podspec --exclude-deps --force --no-mangle --spec-sources=#{@spec_sources || Pod::Tdfire::BinaryUrlManager.private_cocoapods_url}"
46
46
  end
47
47
  end
48
48
 
@@ -30,7 +30,7 @@ module Pod
30
30
  def run
31
31
  UI.section("Tdfire: start pulling framework zip file ...") do
32
32
  UI.puts "Tdfire: get argvs: name -> #{@name}, version -> #{@version}"
33
- Tdfire::BinaryUrlManager.get_pull_url_for_pod_version(@name, @version)
33
+ Pod::Tdfire::BinaryUrlManager.get_pull_url_for_pod_version(@name, @version)
34
34
  end
35
35
  end
36
36
  end
@@ -69,7 +69,7 @@ module Pod
69
69
 
70
70
  UI.section("Tdfire: start pushing framework zip file ...") do
71
71
  UI.puts "Tdfire: post argvs: name -> #{@name}, version -> #{@version}, path -> #{@path}, commit -> #{commit}, commit hash -> #{hash_log}"
72
- Tdfire::BinaryUrlManager.post_push_url(@name, @version, @path, commit, hash_log)
72
+ Pod::Tdfire::BinaryUrlManager.post_push_url(@name, @version, @path, commit, hash_log)
73
73
  end
74
74
  end
75
75
  end
@@ -1,3 +1,3 @@
1
1
  module CocoapodsTdfireBinary
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
@@ -7,12 +7,12 @@ module Pod
7
7
  # 使用源码依赖的pod
8
8
  def tdfire_use_source_pods(pods)
9
9
  Pod::UI.puts "Tdfire: set use source pods: #{Array(pods).join(', ')}"
10
- Tdfire::BinaryStateStore.use_source_pods = Array(pods)
10
+ Pod::Tdfire::BinaryStateStore.use_source_pods = Array(pods)
11
11
  end
12
12
 
13
13
  # 使用二进制依赖
14
14
  def tdfire_use_binary!
15
- Tdfire::BinaryStateStore.set_use_binary
15
+ Pod::Tdfire::BinaryStateStore.set_use_binary
16
16
  end
17
17
 
18
18
  # 因为暂时无法将全部组件二进制化,tdfire_use_binary! 默认全部进行二进制依赖不利于渐进测试
@@ -22,7 +22,7 @@ module Pod
22
22
  # 与 tdfire_use_binary 互斥
23
23
  # def tdfire_use_binary_pods(pods)
24
24
  # Pod::UI.puts "Tdfire: set use binary pods: #{Array(pods).join(', ')}"
25
- # Tdfire::BinaryStateStore.use_binary_pods = Array(pods)
25
+ # Pod::Tdfire::BinaryStateStore.use_binary_pods = Array(pods)
26
26
  # end
27
27
  #
28
28
  # def tdfire_use_source!
@@ -30,7 +30,7 @@ module Pod
30
30
 
31
31
  # 强制使用二进制依赖,忽略未发布和依赖源码设置
32
32
  # def tdfire_force_use_binary!
33
- # Tdfire::BinaryStateStore.set_force_use_binary
33
+ # Pod::Tdfire::BinaryStateStore.set_force_use_binary
34
34
  # end
35
35
 
36
36
  # 外源组件依赖
@@ -2,8 +2,6 @@ require 'cocoapods-tdfire-binary/binary_state_store'
2
2
  require 'cocoapods-tdfire-binary/source_chain_analyzer'
3
3
 
4
4
  module CocoapodsTdfireBinary
5
- include Tdfire
6
-
7
5
  Pod::HooksManager.register('cocoapods-tdfire-binary', :pre_install) do |context, _|
8
6
  # 使用 cocoapods package 打包,不使用 carthage 了,不用设置 share schemes
9
7
  # 如果使用 carhtage ,一定要让需要二进制化的 target shared,此 target 不能是 static framework / library ,必须是 dynamic framework.
@@ -23,9 +21,9 @@ module CocoapodsTdfireBinary
23
21
  # 标明未发布的pod,因为未发布pod没有对应的二进制版本,无法下载
24
22
  # 未发布的pod,一定是源码依赖的
25
23
  Pod::UI.section("Tdfire: auto set unpublished pods") do
26
- BinaryStateStore.unpublished_pods = context.podfile.dependencies.select(&:external?).map(&:root_name)
24
+ Pod::Tdfire::BinaryStateStore.unpublished_pods = context.podfile.dependencies.select(&:external?).map(&:root_name)
27
25
 
28
- Pod::UI.message "> Tdfire: unpublished pods: #{BinaryStateStore.unpublished_pods.join(', ')}"
26
+ Pod::UI.message "> Tdfire: unpublished pods: #{Pod::Tdfire::BinaryStateStore.unpublished_pods.join(', ')}"
29
27
  end
30
28
 
31
29
  # 使用 static_framework ,不用 dynamic_framework ,不需要关心 dynamic_framework 的依赖链了
@@ -47,27 +45,27 @@ module CocoapodsTdfireBinary
47
45
  # CocoaPods 1.5.0 修复了此问题
48
46
  #
49
47
  # fix `Shell Script` Build Phase Fails When Input / Output Files List is Too Large
50
- Pod::UI.section('Tdfire: auto clean input and output files') do
51
- context.umbrella_targets.map(&:user_targets).flatten.uniq.each do |t|
52
- phase = t.shell_script_build_phases.find { |p| p.name.include?(Pod::Installer::UserProjectIntegrator::TargetIntegrator::COPY_PODS_RESOURCES_PHASE_NAME) }
53
-
54
- max_input_output_paths = 1000
55
- input_output_paths = phase.input_paths.count + phase.output_paths.count
56
- Pod::UI.message "Tdfire: input paths and output paths count for #{t.name} : #{input_output_paths}"
57
-
58
- if input_output_paths > max_input_output_paths
59
- phase.input_paths.clear
60
- phase.output_paths.clear
61
- end
62
-
63
- end
64
-
65
- context.umbrella_targets.map(&:user_project).each do |project|
66
- project.save
67
- end
68
- end
48
+ # Pod::UI.section('Tdfire: auto clean input and output files') do
49
+ # context.umbrella_targets.map(&:user_targets).flatten.uniq.each do |t|
50
+ # phase = t.shell_script_build_phases.find { |p| p.name.include?(Pod::Installer::UserProjectIntegrator::TargetIntegrator::COPY_PODS_RESOURCES_PHASE_NAME) }
51
+ #
52
+ # max_input_output_paths = 1000
53
+ # input_output_paths = phase.input_paths.count + phase.output_paths.count
54
+ # Pod::UI.message "Tdfire: input paths and output paths count for #{t.name} : #{input_output_paths}"
55
+ #
56
+ # if input_output_paths > max_input_output_paths
57
+ # phase.input_paths.clear
58
+ # phase.output_paths.clear
59
+ # end
60
+ #
61
+ # end
62
+ #
63
+ # context.umbrella_targets.map(&:user_project).each do |project|
64
+ # project.save
65
+ # end
66
+ # end
69
67
 
70
- Pod::UI.puts "Tdfire: all source dependency pods: #{BinaryStateStore.real_use_source_pods.join(', ')}" if BinaryStateStore.use_binary?
71
- Pod::UI.puts "Tdfire: all unpublished pods: #{BinaryStateStore.unpublished_pods.join(', ')}"
68
+ Pod::UI.puts "Tdfire: all source dependency pods: #{Pod::Tdfire::BinaryStateStore.real_use_source_pods.join(', ')}" if Pod::Tdfire::BinaryStateStore.use_binary?
69
+ Pod::UI.puts "Tdfire: all unpublished pods: #{Pod::Tdfire::BinaryStateStore.unpublished_pods.join(', ')}"
72
70
  end
73
71
  end
@@ -4,10 +4,9 @@ require 'colored2'
4
4
 
5
5
  module Pod
6
6
  class Specification
7
- include Tdfire
8
7
 
9
8
  def tdfire_refactor
10
- @refactor ||= BinarySpecificationRefactor.new(self)
9
+ @refactor ||= Pod::Tdfire::BinarySpecificationRefactor.new(self)
11
10
  end
12
11
 
13
12
  module DSL
@@ -22,9 +21,9 @@ module Pod
22
21
  # 源码依赖配置
23
22
  def tdfire_source(configurator)
24
23
  if tdfire_use_source?
25
- if !Tdfire::BinaryStateStore.printed_pods.include?(root.name)
24
+ if !Pod::Tdfire::BinaryStateStore.printed_pods.include?(root.name)
26
25
  UI.message "Source".magenta.bold + " dependecy for " + "#{root.name} #{version}".green.bold
27
- Tdfire::BinaryStateStore.printed_pods << root.name
26
+ Pod::Tdfire::BinaryStateStore.printed_pods << root.name
28
27
  end
29
28
 
30
29
  configurator.call self
@@ -37,9 +36,9 @@ module Pod
37
36
  # 二进制依赖配置
38
37
  def tdfire_binary(configurator, &block)
39
38
  if !tdfire_use_source?
40
- if !Tdfire::BinaryStateStore.printed_pods.include?(root.name)
41
- UI.message "Binary".cyan.bold + " dependecy for " + "#{root.name} #{version}".green.bold
42
- Tdfire::BinaryStateStore.printed_pods << root.name
39
+ if !Pod::Tdfire::BinaryStateStore.printed_pods.include?(root.name)
40
+ UI.message "Binary".cyan.bold + " dependecy for " + "#{root.name} #{version}".green.bold
41
+ Pod::Tdfire::BinaryStateStore.printed_pods << root.name
43
42
  end
44
43
 
45
44
  yield self if block_given?
@@ -79,15 +78,15 @@ module Pod
79
78
  end
80
79
 
81
80
  def tdfire_use_source?
82
- ((!Tdfire::BinaryStateStore.force_use_binary? &&
83
- (!Tdfire::BinaryStateStore.use_binary? || Tdfire::BinaryStateStore.real_use_source_pods.include?(root.name))) ||
84
- Tdfire::BinaryStateStore.force_use_source?) &&
85
- (Tdfire::BinaryStateStore.lib_lint_binary_pod != root.name)
81
+ ((!Pod::Tdfire::BinaryStateStore.force_use_binary? &&
82
+ (!Pod::Tdfire::BinaryStateStore.use_binary? || Pod::Tdfire::BinaryStateStore.real_use_source_pods.include?(root.name))) ||
83
+ Pod::Tdfire::BinaryStateStore.force_use_source?) &&
84
+ (Pod::Tdfire::BinaryStateStore.lib_lint_binary_pod != root.name)
86
85
  end
87
86
 
88
87
  def tdfire_should_skip_download?
89
- (!Tdfire::BinaryStateStore.force_use_binary? && Tdfire::BinaryStateStore.unpublished_pods.include?(root.name)) ||
90
- (Tdfire::BinaryStateStore.lib_lint_binary_pod == root.name)
88
+ (!Pod::Tdfire::BinaryStateStore.force_use_binary? && Pod::Tdfire::BinaryStateStore.unpublished_pods.include?(root.name)) ||
89
+ (Pod::Tdfire::BinaryStateStore.lib_lint_binary_pod == root.name)
91
90
  end
92
91
  end
93
92
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-tdfire-binary
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - tripleCC