cocoapods-podtarget-optimize 0.0.1 → 0.0.2

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: 09b713fe460bbd094e70c82f8787cecf122e82d7
4
- data.tar.gz: fa286c9102b6d240dd2817ee61a619651d6313d4
3
+ metadata.gz: 9f2285a44dbb7d0f94983a2064c9f792dd17b1e8
4
+ data.tar.gz: b7a98b7eb601807ef5beb848acddd7d50a6e0422
5
5
  SHA512:
6
- metadata.gz: d244d69f127f60660c0e4ca1be75b478db60936313444596d284a8d2463b929012fe9f58330d761987839e9f6fb02ed81b47b6be6cfa34d1e7b469ca0d178689
7
- data.tar.gz: f228a65ce2804555eebbb2e4d38e59d29cca12a35ede1aa3b9958e3db06b7598085ca7f72a53193999bc6d021afe6c0cb968f137a31cecc6207de316b7371c0b
6
+ metadata.gz: 17e2d3e042c14f367d2d6d4149fed1870567ae4d8aa2180bf7292d69e9c468807e456aaf804ef72230f6c3450ae474f9ef2c66518e21632460f9d8ba67795154
7
+ data.tar.gz: 89197a45f716d69e3f54d17fd361f71048c96112f92a5d0605c7c3ebdf0a838de297d2f370eed4ccbfdb5bfa55ae99c3eb5bb91d0089ce908a85c6f35220522a
@@ -1,152 +1,160 @@
1
1
  require "cocoapods-podtarget-optimize/version"
2
2
 
3
- module Pod
4
- class Installer
5
- # Creates the target for the Pods libraries in the Pods project and the
6
- # relative support files.
7
- #
8
- class PodTargetInstaller < TargetInstaller
9
- # Creates the target in the Pods project and the relative support files.
3
+ if Pod::VERSION == '0.35.0'
4
+ puts "cocoapods-podtarget-optimize - 0.35.0"
5
+ module Pod
6
+ class Installer
7
+ # Creates the target for the Pods libraries in the Pods project and the
8
+ # relative support files.
10
9
  #
11
- # @return [void]
12
- #
13
- def install!
14
- UI.message "- Installing target `#{target.name}` #{target.platform}" do
15
- add_target
16
- create_support_files_dir
17
- add_files_to_build_phases
18
- add_resources_bundle_targets
19
- create_xcconfig_file
20
- ########################## Added ##########################
21
- # if the souce build only have dummy.m, ignore this target
22
- if native_target.source_build_phase.files.count > 0
23
- create_prefix_header
24
- else
25
- project.targets.pop
26
- target.native_target = nil
27
- @native_target = nil
10
+ class PodTargetInstaller < TargetInstaller
11
+ # Creates the target in the Pods project and the relative support files.
12
+ #
13
+ # @return [void]
14
+ #
15
+ def install!
16
+ UI.message "- Installing target `#{target.name}` #{target.platform}" do
17
+ add_target
18
+ create_support_files_dir
19
+ add_files_to_build_phases
20
+ add_resources_bundle_targets
21
+ create_xcconfig_file
22
+ ########################## Added ##########################
23
+ # if the souce build only have dummy.m, ignore this target
24
+ if native_target.source_build_phase.files.count > 0
25
+ create_prefix_header
26
+ else
27
+ project.targets.pop
28
+ target.native_target = nil
29
+ @native_target = nil
30
+ end
31
+ ########################## Added ##########################
28
32
  end
29
- ########################## Added ##########################
30
33
  end
31
34
  end
32
35
  end
33
36
  end
34
- end
35
-
36
37
 
38
+ module Pod
39
+ class Installer
40
+ def install_libraries
41
+ UI.message '- Installing targets' do
42
+ pod_targets.sort_by(&:name).each do |pod_target|
43
+ next if pod_target.target_definition.dependencies.empty?
44
+ target_installer = PodTargetInstaller.new(sandbox, pod_target)
45
+ target_installer.install!
46
+ end
37
47
 
38
- module Pod
39
- class Installer
40
- def install_libraries
41
- UI.message '- Installing targets' do
42
- pod_targets.sort_by(&:name).each do |pod_target|
43
- next if pod_target.target_definition.dependencies.empty?
44
- target_installer = PodTargetInstaller.new(sandbox, pod_target)
45
- target_installer.install!
46
- end
48
+ aggregate_targets.sort_by(&:name).each do |target|
49
+ next if target.target_definition.dependencies.empty?
50
+ target_installer = AggregateTargetInstaller.new(sandbox, target)
51
+ target_installer.install!
52
+ end
47
53
 
48
- aggregate_targets.sort_by(&:name).each do |target|
49
- next if target.target_definition.dependencies.empty?
50
- target_installer = AggregateTargetInstaller.new(sandbox, target)
51
- target_installer.install!
54
+ # TODO
55
+ # Move and add specs
56
+ pod_targets.sort_by(&:name).each do |pod_target|
57
+ pod_target.file_accessors.each do |file_accessor|
58
+ file_accessor.spec_consumer.frameworks.each do |framework|
59
+ ########################## Added ############################
60
+ # only config when the target is exist
61
+ next if pod_target.native_target.nil?
62
+ ########################## Added ############################
63
+ pod_target.native_target.add_system_framework(framework)
64
+ end
65
+ end
66
+ end
52
67
  end
68
+ end
53
69
 
54
- # TODO
55
- # Move and add specs
56
- pod_targets.sort_by(&:name).each do |pod_target|
57
- pod_target.file_accessors.each do |file_accessor|
58
- file_accessor.spec_consumer.frameworks.each do |framework|
59
- ########################## Added ############################
60
- # only config when the target is exist
61
- next if pod_target.native_target.nil?
62
- ########################## Added ############################
63
- pod_target.native_target.add_system_framework(framework)
70
+ def set_target_dependencies
71
+ aggregate_targets.each do |aggregate_target|
72
+ aggregate_target.pod_targets.each do |pod_target|
73
+ ########################## Added ############################
74
+ # only config when the target is exist
75
+ next if pod_target.native_target.nil?
76
+ ########################## Added ############################
77
+ aggregate_target.native_target.add_dependency(pod_target.native_target)
78
+ pod_target.dependencies.each do |dep|
79
+
80
+ unless dep == pod_target.pod_name
81
+ pod_dependency_target = aggregate_target.pod_targets.find { |target| target.pod_name == dep }
82
+ # TODO remove me
83
+ unless pod_dependency_target
84
+ puts "[BUG] DEP: #{dep}"
85
+ end
86
+ ########################## Added ############################
87
+ # only config when the target is exist
88
+ next if pod_dependency_target.native_target.nil?
89
+ ########################## Added ############################
90
+ pod_target.native_target.add_dependency(pod_dependency_target.native_target)
91
+ end
64
92
  end
65
93
  end
66
94
  end
67
95
  end
68
96
  end
97
+ end
69
98
 
70
- def set_target_dependencies
71
- aggregate_targets.each do |aggregate_target|
72
- aggregate_target.pod_targets.each do |pod_target|
73
- ########################## Added ############################
74
- # only config when the target is exist
75
- next if pod_target.native_target.nil?
76
- ########################## Added ############################
77
- aggregate_target.native_target.add_dependency(pod_target.native_target)
78
- pod_target.dependencies.each do |dep|
79
-
80
- unless dep == pod_target.pod_name
81
- pod_dependency_target = aggregate_target.pod_targets.find { |target| target.pod_name == dep }
82
- # TODO remove me
83
- unless pod_dependency_target
84
- puts "[BUG] DEP: #{dep}"
99
+ module Pod
100
+ module Generator
101
+ module XCConfig
102
+ # Generates the xcconfigs for the aggregate targets.
103
+ #
104
+ class AggregateXCConfig
105
+ def generate
106
+ header_search_path_flags = target.sandbox.public_headers.search_paths(target.platform)
107
+ @xcconfig = Xcodeproj::Config.new(
108
+ 'OTHER_LDFLAGS' => XCConfigHelper.default_ld_flags(target),
109
+ 'OTHER_LIBTOOLFLAGS' => '$(OTHER_LDFLAGS)',
110
+ 'HEADER_SEARCH_PATHS' => XCConfigHelper.quote(header_search_path_flags),
111
+ 'PODS_ROOT' => target.relative_pods_root,
112
+ 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1',
113
+ 'OTHER_CFLAGS' => '$(inherited) ' + XCConfigHelper.quote(header_search_path_flags, '-isystem')
114
+ )
115
+
116
+ target.pod_targets.each do |pod_target|
117
+ next unless pod_target.include_in_build_config?(@configuration_name)
118
+
119
+ pod_target.file_accessors.each do |file_accessor|
120
+ XCConfigHelper.add_spec_build_settings_to_xcconfig(file_accessor.spec_consumer, @xcconfig)
121
+ file_accessor.vendored_frameworks.each do |vendored_framework|
122
+ XCConfigHelper.add_framework_build_settings(vendored_framework, @xcconfig, target.sandbox.root)
123
+ end
124
+ file_accessor.vendored_libraries.each do |vendored_library|
125
+ XCConfigHelper.add_library_build_settings(vendored_library, @xcconfig, target.sandbox.root)
126
+ end
85
127
  end
128
+
129
+ # Add pod static lib to list of libraries that are to be linked with
130
+ # the user’s project.
131
+
86
132
  ########################## Added ############################
87
133
  # only config when the target is exist
88
- next if pod_dependency_target.native_target.nil?
134
+ next if pod_target.native_target.nil?
89
135
  ########################## Added ############################
90
- pod_target.native_target.add_dependency(pod_dependency_target.native_target)
136
+
137
+ @xcconfig.merge!('OTHER_LDFLAGS' => %(-l "#{pod_target.name}"))
91
138
  end
139
+
140
+ # TODO Need to decide how we are going to ensure settings like these
141
+ # are always excluded from the user's project.
142
+ #
143
+ # See https://github.com/CocoaPods/CocoaPods/issues/1216
144
+ @xcconfig.attributes.delete('USE_HEADERMAP')
145
+
146
+ @xcconfig
92
147
  end
93
148
  end
94
149
  end
95
150
  end
96
151
  end
97
- end
98
152
 
153
+ end
99
154
 
100
- module Pod
101
- module Generator
102
- module XCConfig
103
- # Generates the xcconfigs for the aggregate targets.
104
- #
105
- class AggregateXCConfig
106
- def generate
107
- header_search_path_flags = target.sandbox.public_headers.search_paths(target.platform)
108
- @xcconfig = Xcodeproj::Config.new(
109
- 'OTHER_LDFLAGS' => XCConfigHelper.default_ld_flags(target),
110
- 'OTHER_LIBTOOLFLAGS' => '$(OTHER_LDFLAGS)',
111
- 'HEADER_SEARCH_PATHS' => XCConfigHelper.quote(header_search_path_flags),
112
- 'PODS_ROOT' => target.relative_pods_root,
113
- 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1',
114
- 'OTHER_CFLAGS' => '$(inherited) ' + XCConfigHelper.quote(header_search_path_flags, '-isystem')
115
- )
116
-
117
- target.pod_targets.each do |pod_target|
118
- next unless pod_target.include_in_build_config?(@configuration_name)
119
155
 
120
- pod_target.file_accessors.each do |file_accessor|
121
- XCConfigHelper.add_spec_build_settings_to_xcconfig(file_accessor.spec_consumer, @xcconfig)
122
- file_accessor.vendored_frameworks.each do |vendored_framework|
123
- XCConfigHelper.add_framework_build_settings(vendored_framework, @xcconfig, target.sandbox.root)
124
- end
125
- file_accessor.vendored_libraries.each do |vendored_library|
126
- XCConfigHelper.add_library_build_settings(vendored_library, @xcconfig, target.sandbox.root)
127
- end
128
- end
129
156
 
130
- # Add pod static lib to list of libraries that are to be linked with
131
- # the user’s project.
132
157
 
133
- ########################## Added ############################
134
- # only config when the target is exist
135
- next if pod_target.native_target.nil?
136
- ########################## Added ############################
137
158
 
138
- @xcconfig.merge!('OTHER_LDFLAGS' => %(-l "#{pod_target.name}"))
139
- end
140
159
 
141
- # TODO Need to decide how we are going to ensure settings like these
142
- # are always excluded from the user's project.
143
- #
144
- # See https://github.com/CocoaPods/CocoaPods/issues/1216
145
- @xcconfig.attributes.delete('USE_HEADERMAP')
146
160
 
147
- @xcconfig
148
- end
149
- end
150
- end
151
- end
152
- end
@@ -1,3 +1,3 @@
1
1
  module CocoapodsPodtargetOptimize
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-podtarget-optimize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - 晨燕
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-28 00:00:00.000000000 Z
11
+ date: 2015-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cocoapods
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0.35'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0.35'
54
+ version: '0'
55
55
  description: 将只有dummySource的target忽略掉,加快build速度
56
56
  email:
57
57
  - chenyan.mnn@taobao.com
@@ -71,12 +71,12 @@ require_paths:
71
71
  - lib
72
72
  required_ruby_version: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - '>='
79
+ - - ">="
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  requirements: []