cocoapods-dongjia 1.1.4 → 1.1.5

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: 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.