cocoapods-dongjia 1.1.4 → 1.1.5

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
  SHA256:
3
- metadata.gz: 2eadc1f8b16a2465ed7d8f1991550f1e0ab0ff0bbb450a26ea78b1eb3b839898
4
- data.tar.gz: f7a945dc66e7f2473659f8fb5b65dc6b6dceccd3dce099b3ecc4cd2b3fe1ef58
3
+ metadata.gz: d5b4528303fd0cec1f74fc6cf438693b70f6fb791ff0f4f02cabd5d7a74fa461
4
+ data.tar.gz: 50a77d0e54c9a2ebdad88a59c8a58f9d06ba35f924852ffec73d867679eb35f8
5
5
  SHA512:
6
- metadata.gz: 384450efd470d1e94ef3f6f6f8bce82f6d8dd1290ddc24b1a58f14dbfc537be27bb7d3aae79e9377cedc3487a75e17de8e63f1be184ec55cb647c1e638e39d62
7
- data.tar.gz: 5ec1a4520caf8488b6ed8e4e400d3094d3fd53251b54fb28eb8aea151011215c62c01856eaffc221d465512ad5728493809552f85ac47bbc8ffdc0033f070382
6
+ metadata.gz: f203e960ce068e3e3a6a852ae8614faae63d481b50c458743b4be8ebeb4b033f76b2c36c51ee0766f8e4a97cce40fb94603cccbd42327e21f76b07c66474f8f2
7
+ data.tar.gz: 38da2b3d06573fb9f582f3725b45c77926432fa0e2c67240f8f7667200ed34c8d17b1bfd8ee074ff4c5783cb4462dd12c7c53c87e3ab3054bcc725a8dfea21c5
@@ -1,8 +1,6 @@
1
1
  module CocoapodsDongjia
2
- VERSION = "1.1.4"
2
+ VERSION = "1.1.5"
3
3
  UPDATE_DESC = <<-EOS
4
- - 优化 install! 方法参数兼容性
5
- - 关闭 incomplete-umbrella 警告
6
- - 将 umbrella 导出的头文件改为尖括号形式
4
+ - 优化 post_install 行为,避免 install 后导致全量编译
7
5
  EOS
8
6
  end
@@ -34,11 +34,7 @@ module Dongjia
34
34
  PodsIterator.iterate(params, ctx.sandbox_root)
35
35
 
36
36
  # 处理 appspec 配置
37
- SchemeManager.setup(ctx, params)
38
-
39
- # 企业版文件引用校验
40
- files = EnterpriseInspector.inspect()
41
- Pod::UI.warn "文件未加入企业版:#{files}" if files.count > 0
37
+ # SchemeManager.setup(ctx, params)
42
38
 
43
39
  # 抓取所有路由汇总至
44
40
  router = Router.new
@@ -4,48 +4,55 @@ module Dongjia
4
4
 
5
5
  class PodsIterator
6
6
 
7
+ def self.update_build_setting(config, key, value)
8
+ if config.build_settings[key] != value
9
+ config.build_settings[key] = value
10
+ return true
11
+ else
12
+ return false
13
+ end
14
+ end
15
+
7
16
  # 关闭警告
8
17
  def self.disable_warnings(config, target_name)
18
+ changed = false
19
+
9
20
  # 禁用非 DJ 开头 Pod 的警告
10
- config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = "YES" unless target_name.start_with?('DJ')
21
+ changed ||= update_build_setting(config, 'GCC_WARN_INHIBIT_ALL_WARNINGS', 'YES') unless target_name.start_with?('DJ')
11
22
 
12
23
  # 不检测 block 中的隐式 self 调用
13
- config.build_settings['CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF'] = "NO"
24
+ changed ||= update_build_setting(config, 'CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF', "NO")
14
25
 
15
26
  # 不检测已废弃的方法
16
- config.build_settings['GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS'] = "NO"
17
-
18
- # 允许 objc_msgSend
19
- config.build_settings['ENABLE_STRICT_OBJC_MSGSEND'] = "NO"
27
+ changed ||= update_build_setting(config, 'GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS', "NO")
20
28
 
21
29
  # 不检测注释
22
- config.build_settings['CLANG_WARN_DOCUMENTATION_COMMENTS'] = "NO"
23
-
24
- # 不严格的原型校验
25
- config.build_settings['CLANG_WARN_STRICT_PROTOTYPES'] = "NO"
30
+ changed ||= update_build_setting(config, 'CLANG_WARN_DOCUMENTATION_COMMENTS', "NO")
26
31
 
27
32
  # 强制设置 deployment 版本为 9.0
28
33
  if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 9.0
29
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = "9.0"
34
+ changed ||= update_build_setting(config, 'IPHONEOS_DEPLOYMENT_TARGET', "9.0")
30
35
  end
31
36
 
32
37
  # 关闭 bitcode
33
- config.build_settings['ENABLE_BITCODE'] = "NO"
38
+ changed ||= update_build_setting(config, 'ENABLE_BITCODE', "NO")
34
39
 
35
- # 忽略 incomplete-umbrella 警告
36
- config.build_settings['OTHER_CFLAGS'] ||= ['$(inherited)']
37
- config.build_settings['OTHER_CFLAGS'] << '"-Wno-incomplete-umbrella"'
40
+ changed
38
41
  end
39
42
 
40
43
  # 打开 LTO
41
44
  def self.enable_lto(config)
42
- config.build_settings['LLVM_LTO'] = 'YES_THIN' if config.name == 'Release'
45
+ changed = false
46
+ # changed ||= update_build_setting(config, 'LLVM_LTO', 'YES_THIN') if config.name == 'Release'
47
+ changed
43
48
  end
44
49
 
45
50
  # 将 umbrella 导出的头文件改为尖括号形式
46
51
  def self.convert_umbrella_header_import(pod_name)
47
52
  umbrella_path = "./Pods/Target Support Files/#{pod_name}/#{pod_name}-umbrella.h"
48
53
  return unless File.exist?(umbrella_path)
54
+ contents = File.read(umbrella_path)
55
+ return unless contents.include?("#import \"")
49
56
  File.open(umbrella_path, 'r+') do |f|
50
57
  x = f.read
51
58
  begin x.gsub!("#import \"#{pod_name}/", "#import <#{pod_name}/").gsub!('.h"', '.h>') rescue nil end
@@ -75,16 +82,19 @@ module Dongjia
75
82
  end
76
83
 
77
84
  # project 的每个 target 配置
85
+ changed = false
78
86
  proj.targets.select {|t| !t.name.start_with?('Pods')}.each do | target |
79
87
  next if target.name.start_with?('Pods')
80
88
  target.build_configurations.each do | config |
81
- disable_warnings(config, target.name) if turn_off_warnings
82
- enable_lto(config) if lto_enabled
89
+ changed ||= disable_warnings(config, target.name) if turn_off_warnings
90
+ changed ||= enable_lto(config) if lto_enabled
83
91
  convert_umbrella_header_import(target.name)
84
92
  end
85
93
  end
86
94
 
87
- proj.save
95
+ if changed
96
+ proj.save
97
+ end
88
98
 
89
99
  end
90
100
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-dongjia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - jiangzhuoyi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-07 00:00:00.000000000 Z
11
+ date: 2020-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -101,10 +101,7 @@ homepage: https://github.com/EXAMPLE/cocoapods-dongjia
101
101
  licenses:
102
102
  - MIT
103
103
  metadata:
104
- update_desc: |2
105
- - 优化 install! 方法参数兼容性
106
- - 关闭 incomplete-umbrella 警告
107
- - 将 umbrella 导出的头文件改为尖括号形式
104
+ update_desc: " - 优化 post_install 行为,避免 install 后导致全量编译\n"
108
105
  post_install_message:
109
106
  rdoc_options: []
110
107
  require_paths:
@@ -120,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
117
  - !ruby/object:Gem::Version
121
118
  version: '0'
122
119
  requirements: []
123
- rubygems_version: 3.1.2
120
+ rubygems_version: 3.0.3
124
121
  signing_key:
125
122
  specification_version: 4
126
123
  summary: A longer description of cocoapods-dongjia.