cocoapods-podtarget-optimize 0.0.1 → 0.0.2

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: 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: []