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 +4 -4
- data/lib/cocoapods-dongjia/gem_version.rb +2 -4
- data/lib/cocoapods_plugin.rb +1 -5
- data/lib/dongjia_pods_iterator.rb +29 -19
- metadata +4 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5b4528303fd0cec1f74fc6cf438693b70f6fb791ff0f4f02cabd5d7a74fa461
|
4
|
+
data.tar.gz: 50a77d0e54c9a2ebdad88a59c8a58f9d06ba35f924852ffec73d867679eb35f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f203e960ce068e3e3a6a852ae8614faae63d481b50c458743b4be8ebeb4b033f76b2c36c51ee0766f8e4a97cce40fb94603cccbd42327e21f76b07c66474f8f2
|
7
|
+
data.tar.gz: 38da2b3d06573fb9f582f3725b45c77926432fa0e2c67240f8f7667200ed34c8d17b1bfd8ee074ff4c5783cb4462dd12c7c53c87e3ab3054bcc725a8dfea21c5
|
data/lib/cocoapods_plugin.rb
CHANGED
@@ -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
|
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
|
24
|
+
changed ||= update_build_setting(config, 'CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF', "NO")
|
14
25
|
|
15
26
|
# 不检测已废弃的方法
|
16
|
-
config
|
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
|
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
|
-
|
34
|
+
changed ||= update_build_setting(config, 'IPHONEOS_DEPLOYMENT_TARGET', "9.0")
|
30
35
|
end
|
31
36
|
|
32
37
|
# 关闭 bitcode
|
33
|
-
config
|
38
|
+
changed ||= update_build_setting(config, 'ENABLE_BITCODE', "NO")
|
34
39
|
|
35
|
-
|
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
|
-
|
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
|
-
|
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
|
+
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-
|
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:
|
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.
|
120
|
+
rubygems_version: 3.0.3
|
124
121
|
signing_key:
|
125
122
|
specification_version: 4
|
126
123
|
summary: A longer description of cocoapods-dongjia.
|