cocoapods-bin 0.0.6 → 0.0.7

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: f8408fffb94c3f172b6062eaf706871b7659ef43
4
- data.tar.gz: 178ec5208be05c3b14b71e136a304085a62af687
3
+ metadata.gz: da7e02c4a75fce8b60ddc9f9575863846d1a9d03
4
+ data.tar.gz: e40f144b646e287b756472779abd5f299dadc8b0
5
5
  SHA512:
6
- metadata.gz: d9fcdb7cfbb2dc7d756119debca1626cff2c0261ce4a036cd2f1ed668462f0fed98f7b45ea9b94244867c46166a17640a7b91c633fa406eb8355d6b4d9d1c14b
7
- data.tar.gz: 0f26ea1b64c1ab8d324783ad5834620057bc93da0710677e259e5cbc424ab4a32da3533aa941807c72529069ddb3b47afd2092d4714b50d13c5bde82a9a0570a
6
+ metadata.gz: cbcc17d1b13421da3dfa305b76adc80ebe1dc1b187d4dd61b96fa7d9debaf36b9269a6b6a9937e1ba8882fbdac9146b667dd123047120c50bdd9bfdb7b95bb7d
7
+ data.tar.gz: '0849fc6226f2a9a8069619e79184154eaba82c61c603ec275c41692cf8436c5ad0a0680e3fac8df535e5bc92f45f944203cbf542499e19358924dd527394f7ff'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cocoapods-bin (0.0.6)
4
+ cocoapods-bin (0.0.7)
5
5
  cocoapods (~> 1.4)
6
6
  parallel
7
7
 
@@ -15,24 +15,19 @@ module Pod
15
15
  CLAide::Argument.new('NAME.podspec', false),
16
16
  ]
17
17
 
18
+ # lib lint 不会下载 source,所以不能进行二进制 lint
19
+ # 要 lint 二进制版本,需要进行 spec lint,此 lint 会去下载 source
18
20
  def self.options
19
21
  [
20
- ['--binary', 'lint 组件的二进制版本'],
21
- ['--template-podspec=A.binary-template.podspec', '生成拥有 subspec 的二进制 spec 需要的模版 podspec, 插件会更改 version 和 source'],
22
22
  ['--code-dependencies', '使用源码依赖进行 lint'],
23
- ['--loose-options', '添加宽松的 options, 可能包括 --use-libraries (可能会造成 entry point (start) undefined)'],
24
- ['--reserve-created-spec', '保留生成的二进制 spec 文件'],
23
+ ['--loose-options', '添加宽松的 options, 包括 --use-libraries (可能会造成 entry point (start) undefined)'],
25
24
  ].concat(Pod::Command::Lib::Lint.options).concat(super).uniq
26
25
  end
27
26
 
28
27
  def initialize(argv)
29
- @podspec = argv.shift_argument
30
- @binary = argv.flag?('binary')
31
28
  @loose_options = argv.flag?('loose-options')
32
29
  @code_dependencies = argv.flag?('code-dependencies')
33
30
  @sources = argv.option('sources') || []
34
- @reserve_created_spec = argv.flag?('reserve-created-spec')
35
- @template_podspec = argv.option('template-podspec')
36
31
  super
37
32
 
38
33
  @additional_args = argv.remainder!
@@ -44,53 +39,19 @@ module Pod
44
39
  "--sources=#{sources_option(@code_dependencies, @sources)}",
45
40
  *@additional_args
46
41
  ]
47
-
48
- argvs << spec_file if spec_file
49
42
 
50
43
  if @loose_options
51
44
  argvs << '--allow-warnings'
52
- argvs << '--use-libraries' if code_spec.all_dependencies.any?
45
+ argvs << '--use-libraries' if code_spec&.all_dependencies&.any?
53
46
  end
54
47
 
55
48
  lint = Pod::Command::Lib::Lint.new(CLAide::ARGV.new(argvs))
56
49
  lint.validate!
57
50
  lint.run
58
51
  end
59
- ensure
60
- clear_binary_spec_file_if_needed unless @reserve_created_spec
61
52
  end
62
53
 
63
- private
64
-
65
-
66
- def template_spec_file
67
- @template_spec_file ||= begin
68
- if @template_podspec
69
- find_spec_file(@template_podspec)
70
- else
71
- binary_template_spec_file
72
- end
73
- end
74
- end
75
-
76
- def spec_file
77
- @spec_file ||= begin
78
- if @podspec
79
- find_spec_file(@podspec)
80
- else
81
- raise Informative, "当前目录下没有找到可用源码 podspec." if code_spec_files.empty?
82
-
83
- spec_file = if @binary
84
- code_spec = Pod::Specification.from_file(code_spec_files.first)
85
- template_spec = Pod::Specification.from_file(template_spec_file) if template_spec_file
86
- create_binary_spec_file(code_spec, template_spec)
87
- else
88
- code_spec_files.first
89
- end
90
- spec_file
91
- end
92
- end
93
- end
54
+
94
55
  end
95
56
  end
96
57
  end
@@ -20,7 +20,7 @@ module Pod
20
20
  ['--binary', '发布组件的二进制版本'],
21
21
  ['--template-podspec=A.binary-template.podspec', '生成拥有 subspec 的二进制 spec 需要的模版 podspec, 插件会更改 version 和 source'],
22
22
  ['--code-dependencies', '使用源码依赖进行 lint'],
23
- ['--loose-options', '添加宽松的 options, 可能包括 --use-libraries (可能会造成 entry point (start) undefined)'],
23
+ ['--loose-options', '添加宽松的 options, 包括 --use-libraries (可能会造成 entry point (start) undefined)'],
24
24
  ['--reserve-created-spec', '保留生成的二进制 spec 文件'],
25
25
  ].concat(Pod::Command::Repo::Push.options).concat(super).uniq
26
26
  end
@@ -50,7 +50,7 @@ module Pod
50
50
 
51
51
  if @loose_options
52
52
  argvs += ['--allow-warnings', '--use-json']
53
- argvs << '--use-libraries' if code_spec.all_dependencies.any?
53
+ argvs << '--use-libraries' if code_spec&.all_dependencies&.any?
54
54
  end
55
55
 
56
56
  push = Pod::Command::Repo::Push.new(CLAide::ARGV.new(argvs))
@@ -12,20 +12,27 @@ module Pod
12
12
  DESC
13
13
 
14
14
  self.arguments = [
15
- CLAide::Argument.new(%w(NAME.podspec DIRECTORY http://PATH/NAME.podspec), false, true)
15
+ CLAide::Argument.new(%w(NAME.podspec DIRECTORY http://PATH/NAME.podspec), false, true),
16
16
  ]
17
17
 
18
18
  def self.options
19
19
  [
20
+ ['--binary', 'lint 组件的二进制版本'],
21
+ ['--template-podspec=A.binary-template.podspec', '生成拥有 subspec 的二进制 spec 需要的模版 podspec, 插件会更改 version 和 source'],
22
+ ['--reserve-created-spec', '保留生成的二进制 spec 文件'],
20
23
  ['--code-dependencies', '使用源码依赖进行 lint'],
21
- ['--loose-options', '添加宽松的 options'],
24
+ ['--loose-options', '添加宽松的 options, 包括 --use-libraries (可能会造成 entry point (start) undefined)'],
22
25
  ].concat(Pod::Command::Lib::Spec.options).concat(super).uniq
23
26
  end
24
27
 
25
28
  def initialize(argv)
29
+ @podspec = argv.shift_argument
26
30
  @loose_options = argv.flag?('loose-options')
27
31
  @code_dependencies = argv.flag?('code-dependencies')
28
32
  @sources = argv.option('sources') || []
33
+ @binary = argv.flag?('binary')
34
+ @reserve_created_spec = argv.flag?('reserve-created-spec')
35
+ @template_podspec = argv.option('template-podspec')
29
36
  super
30
37
 
31
38
  @additional_args = argv.remainder!
@@ -37,13 +44,51 @@ module Pod
37
44
  "--sources=#{sources_option(@code_dependencies, @sources)}",
38
45
  *@additional_args
39
46
  ]
40
-
41
- argvs += ['--allow-warnings', '--use-libraries'] if @loose_options
47
+
48
+ argvs << spec_file if spec_file
49
+
50
+ if @loose_options
51
+ argvs += ['--allow-warnings']
52
+ argvs << '--use-libraries' if code_spec&.all_dependencies&.any?
53
+ end
42
54
 
43
55
  lint = Pod::Command::Spec::Lint.new(CLAide::ARGV.new(argvs))
44
56
  lint.validate!
45
57
  lint.run
46
58
  end
59
+ ensure
60
+ clear_binary_spec_file_if_needed unless @reserve_created_spec
61
+ end
62
+
63
+ private
64
+
65
+ def template_spec_file
66
+ @template_spec_file ||= begin
67
+ if @template_podspec
68
+ find_spec_file(@template_podspec)
69
+ else
70
+ binary_template_spec_file
71
+ end
72
+ end
73
+ end
74
+
75
+ def spec_file
76
+ @spec_file ||= begin
77
+ if @podspec
78
+ find_spec_file(@podspec) || @podspec
79
+ else
80
+ raise Informative, "当前目录下没有找到可用源码 podspec." if code_spec_files.empty?
81
+
82
+ spec_file = if @binary
83
+ code_spec = Pod::Specification.from_file(code_spec_files.first)
84
+ template_spec = Pod::Specification.from_file(template_spec_file) if template_spec_file
85
+ create_binary_spec_file(code_spec, template_spec)
86
+ else
87
+ code_spec_files.first
88
+ end
89
+ spec_file
90
+ end
91
+ end
47
92
  end
48
93
  end
49
94
  end
@@ -1,5 +1,5 @@
1
1
  module CBin
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
4
4
 
5
5
  module Pod
@@ -76,6 +76,8 @@ module CBin
76
76
  spec_hash = @spec.to_hash
77
77
  # spec_hash.delete('license')
78
78
  spec_hash.delete('resource_bundles')
79
+ spec_hash.delete('exclude_files')
80
+ spec_hash.delete('preserve_paths')
79
81
 
80
82
  # Filter platforms
81
83
  platforms = spec_hash['platforms']
@@ -13,15 +13,12 @@ module Pod
13
13
  if Pod.match_version?('~> 1.4')
14
14
  old_resolver_specs_by_target = instance_method(:resolver_specs_by_target)
15
15
  define_method(:resolver_specs_by_target) do
16
- resolver_specs_by_target = old_resolver_specs_by_target.bind(self).call()
17
-
18
- # 过滤出用户工程
19
- user_specs_by_target = resolver_specs_by_target.reject { |st| st.name.end_with?('_Tests') || st.name == 'Pods' }
16
+ specs_by_target = old_resolver_specs_by_target.bind(self).call()
20
17
 
21
18
  sources_manager = Config.instance.sources_manager
22
19
  use_source_pods = podfile.use_source_pods
23
20
 
24
- user_specs_by_target.each do |target, rspecs|
21
+ specs_by_target.each do |target, rspecs|
25
22
  # use_binaries 并且 use_source_pods 不包含
26
23
  use_binary_rspecs = if podfile.use_binaries? || podfile.use_binaries_selector
27
24
  rspecs.select do |rspec|
@@ -33,7 +30,7 @@ module Pod
33
30
  end
34
31
 
35
32
  # Parallel.map(rspecs, in_threads: 8) do |rspec|
36
- resolver_specs_by_target[target] = rspecs.map do |rspec|
33
+ specs_by_target[target] = rspecs.map do |rspec|
37
34
  # 含有 subspecs 的组件暂不处理
38
35
  # next rspec if rspec.spec.subspec? || rspec.spec.subspecs.any?
39
36
 
@@ -72,7 +69,7 @@ module Pod
72
69
  end.compact
73
70
  end
74
71
 
75
- resolver_specs_by_target
72
+ specs_by_target
76
73
  end
77
74
  end
78
75
  end
@@ -0,0 +1,18 @@
1
+ module Pod
2
+ class Installer
3
+ class Analyzer
4
+ class SandboxAnalyzer
5
+ # def pod_changed?(pod)
6
+ # spec = root_spec(pod)
7
+
8
+ # return true if spec.version != sandbox_version(pod)
9
+ # return true if spec.checksum != sandbox_checksum(pod)
10
+ # return true if resolved_spec_names(pod) != sandbox_spec_names(pod)
11
+ # return true if sandbox.predownloaded?(pod)
12
+ # return true if folder_empty?(pod)
13
+ # false
14
+ # end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -13,6 +13,7 @@ if Pod.match_version?('~> 1.4')
13
13
  require 'cocoapods-bin/native/source'
14
14
  require 'cocoapods-bin/native/validator'
15
15
  require 'cocoapods-bin/native/acknowledgements'
16
+ require 'cocoapods-bin/native/sandbox_analyzer'
16
17
  end
17
18
 
18
19
  require 'cocoapods-bin/native/source_provider_hook'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-bin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - tripleCC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-12 00:00:00.000000000 Z
11
+ date: 2019-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -112,6 +112,7 @@ files:
112
112
  - lib/cocoapods-bin/native/pod_source_installer.rb
113
113
  - lib/cocoapods-bin/native/podfile.rb
114
114
  - lib/cocoapods-bin/native/resolver.rb
115
+ - lib/cocoapods-bin/native/sandbox_analyzer.rb
115
116
  - lib/cocoapods-bin/native/source.rb
116
117
  - lib/cocoapods-bin/native/source_provider_hook.rb
117
118
  - lib/cocoapods-bin/native/sources_manager.rb