cocoapods-tdfire-binary 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
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