cocoapods-mapfile 0.2.0 → 0.2.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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +80 -43
  3. data/bin/{hmap_writer → hmapfile} +2 -2
  4. data/lib/cocoapods_plugin.rb +18 -6
  5. data/lib/hmap/command/hmap_gen.rb +52 -0
  6. data/lib/{cocoapods-hmap → hmap}/command/hmap_reader.rb +14 -11
  7. data/lib/hmap/command/hmap_writer.rb +55 -0
  8. data/lib/hmap/command.rb +28 -0
  9. data/lib/hmap/constants.rb +198 -0
  10. data/lib/{cocoapods-hmap → hmap}/exceptions.rb +0 -0
  11. data/lib/{cocoapods-hmap → hmap/helper}/executable.rb +5 -6
  12. data/lib/{cocoapods-hmap → hmap/helper}/utils.rb +0 -4
  13. data/lib/hmap/hmap/hmap_bucketstr.rb +20 -0
  14. data/lib/{cocoapods-hmap → hmap/hmap}/hmap_reader.rb +4 -19
  15. data/lib/{cocoapods-hmap/hmap_save.rb → hmap/hmap/hmap_saver.rb} +21 -6
  16. data/lib/{cocoapods-hmap → hmap/hmap}/hmap_struct.rb +5 -4
  17. data/lib/hmap/hmap/hmap_writer.rb +52 -0
  18. data/lib/{cocoapods-hmap → hmap/hmap}/mapfile.rb +1 -1
  19. data/lib/hmap/user_interface.rb +22 -0
  20. data/lib/hmap/version.rb +5 -0
  21. data/lib/hmap/xc/context.rb +23 -0
  22. data/lib/hmap/xc/header_entry.rb +55 -0
  23. data/lib/hmap/xc/header_type.rb +32 -0
  24. data/lib/hmap/xc/pbx_helper.rb +68 -0
  25. data/lib/hmap/xc/product_helper.rb +36 -0
  26. data/lib/hmap/xc/resolver.rb +129 -0
  27. data/lib/hmap/xc/target/build_setting.rb +126 -0
  28. data/lib/hmap/xc/target/target.rb +76 -0
  29. data/lib/hmap/xc/target/target_context.rb +29 -0
  30. data/lib/hmap/xc/target/target_helper.rb +114 -0
  31. data/lib/hmap/xc/target/target_vfs.rb +122 -0
  32. data/lib/hmap/xc/target/xcconfig_helper.rb +109 -0
  33. data/lib/hmap/xc/workspace/project.rb +120 -0
  34. data/lib/hmap/xc/workspace/project_helper.rb +92 -0
  35. data/lib/hmap/xc/workspace/workspace.rb +83 -0
  36. data/lib/hmap.rb +24 -0
  37. metadata +76 -38
  38. data/bin/hmap_reader +0 -12
  39. data/lib/cocoapods-hmap/command/hmap_gen.rb +0 -52
  40. data/lib/cocoapods-hmap/framework/framework_vfs.rb +0 -95
  41. data/lib/cocoapods-hmap/helper/build_setting_helper.rb +0 -40
  42. data/lib/cocoapods-hmap/helper/pods_helper.rb +0 -104
  43. data/lib/cocoapods-hmap/helper/xcconfig_helper.rb +0 -82
  44. data/lib/cocoapods-hmap/hmap_writer.rb +0 -107
  45. data/lib/cocoapods-hmap/pods_specification.rb +0 -60
  46. data/lib/cocoapods-hmap/version.rb +0 -5
  47. data/lib/cocoapods-hmap/view.rb +0 -34
  48. data/lib/cocoapods_hmap.rb +0 -21
@@ -0,0 +1,92 @@
1
+ require 'hmap/xc/header_type'
2
+ require 'hmap/xc/context'
3
+
4
+ module HMap
5
+ class Project
6
+ module Helper
7
+ include HMap::HeaderType
8
+
9
+ define_method(:all_product_headers) do
10
+ return @all_product_headers if defined? @all_product_headers
11
+
12
+ @all_product_headers = targets.each_with_object({}) do |target, sum|
13
+ next if target.all_product_headers.nil?
14
+
15
+ sum.merge!(target.all_product_headers) { |_, oldval, newval| newval + oldval }
16
+ end
17
+ end
18
+
19
+ define_method(:all_non_framework_target_headers) do
20
+ return @all_non_framework_target_headers if defined?(@all_non_framework_target_headers)
21
+
22
+ @all_non_framework_target_headers = targets.flat_map(&:all_non_framework_target_headers).compact
23
+ end
24
+
25
+ # all_targets include header full module path
26
+ define_method(:all_target_headers) do
27
+ return @all_target_headers if defined?(@all_target_headers)
28
+
29
+ @all_target_headers = workspace.all_target_headers
30
+ end
31
+
32
+ define_method(:project_headers) do
33
+ return @project_headers if defined?(@project_headers)
34
+
35
+ @project_headers = all_target_headers + project_entrys.flat_map { |entry| entry.project_buckets_extra }
36
+ end
37
+
38
+ def project_references
39
+ return @project_references if defined? @project_references
40
+
41
+ project_references = PBXHelper.project_references(project)
42
+ @project_references = project_references.map { |pr| Project.new(pr, workspace) }
43
+ end
44
+
45
+ def temp_name
46
+ "#{project_name}.build"
47
+ end
48
+
49
+ def build_dir() end
50
+
51
+ def project_name
52
+ project.root_object.name
53
+ end
54
+
55
+ def project_dir
56
+ project.project_dir
57
+ end
58
+
59
+ def temp_name
60
+ "#{project_name}.build"
61
+ end
62
+
63
+ def temp_root
64
+ File.join(workspace.obj_root, temp_name)
65
+ end
66
+
67
+ def build_root
68
+ workspace.build_root
69
+ end
70
+
71
+ def temp_dir
72
+ workspace.obj_root
73
+ end
74
+
75
+ def hmap_root
76
+ File.join(workspace.hmap_root, temp_name)
77
+ end
78
+
79
+ def build_data_dir
80
+ Constants::XCBuildData
81
+ end
82
+
83
+ def context
84
+ HMap::Context.new(build_root,
85
+ temp_dir,
86
+ File.join(hmap_root, build_data_dir),
87
+ '',
88
+ build_dir)
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'hmap/xc/product_helper'
4
+ require 'hmap/xc/workspace/project'
5
+ require 'hmap/xc/pbx_helper'
6
+
7
+ module HMap
8
+ class Workspace
9
+ attr_reader :save_setting, :projects
10
+
11
+ def self.new_from_xcworkspaces(paths)
12
+ paths.flat_map do |path|
13
+ xc = Xcodeproj::Workspace.new_from_xcworkspace(path)
14
+ schemes = xc.schemes.values.uniq || []
15
+ ss = WorkspaceProductPath.new(path)
16
+ projects = PBXHelper.projects(*schemes)
17
+ new(ss, projects)
18
+ end
19
+ end
20
+
21
+ def self.new_from_xcprojects(paths)
22
+ paths.map do |path|
23
+ ss = ProjectProductPath.new(path)
24
+ projects = PBXHelper.projects(path)
25
+ new(ss, projects)
26
+ end
27
+ end
28
+
29
+ def initialize(save_setting, projects)
30
+ @save_setting = save_setting
31
+ @projects = projects.map { |project| Project.new(project, self) }
32
+ end
33
+
34
+ def build_root
35
+ save_setting.build_root
36
+ end
37
+
38
+ def obj_root
39
+ save_setting.obj_root
40
+ end
41
+
42
+ def name
43
+ save_setting.name
44
+ end
45
+
46
+ def workspace_dir
47
+ File.dirname(save_setting.path)
48
+ end
49
+
50
+ def hmap_root
51
+ dir = build_root.dirname.dirname
52
+ File.join(dir, Constants::HMAP_DIR)
53
+ end
54
+
55
+ def write_save!
56
+ UserInterface.puts("[hmapfile] Got workspace/project build directory..............")
57
+ UserInterface.puts("[hmapfile] #{name} Build directory: #{hmap_root} ..............")
58
+ write_hmapfile!
59
+ save_hmap_settings!
60
+ end
61
+
62
+ def write_hmapfile!
63
+ UserInterface.puts('[hmapfile] Starting generate hmap file..............')
64
+ projects.each(&:write_hmapfile!)
65
+ end
66
+
67
+ def save_hmap_settings!
68
+ UserInterface.puts('[hmapfile] Saving hmap settings..............')
69
+
70
+ projects.each(&:save_hmap_settings!)
71
+ end
72
+
73
+ def remove_hmap_settings!
74
+ UserInterface.puts('[hmapfile] Cleanning hmap settings..............')
75
+ FileUtils.rm_rf(hmap_root) if Dir.exist?(hmap_root)
76
+ projects.each(&:remove_hmap_settings!)
77
+ end
78
+
79
+ def all_target_headers
80
+ @projects.flat_map(&:targets).flat_map(&:all_target_headers)
81
+ end
82
+ end
83
+ end
data/lib/hmap.rb ADDED
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'xcodeproj'
4
+
5
+ # The primary namespace for cocoapods-hmap.
6
+ module HMap
7
+ require 'pathname'
8
+ require 'claide'
9
+
10
+ require_relative 'hmap/version'
11
+ require_relative 'hmap/user_interface'
12
+
13
+ # autoload registers a file path to be loaded the first time
14
+ # that a specified module or class is accessed in the namespace of the calling module or class.
15
+ autoload :Command, 'hmap/command'
16
+ autoload :Utils, 'hmap/helper/utils'
17
+ autoload :Constants, 'hmap/constants'
18
+ autoload :BucketStr, 'hmap/hmap/hmap_bucketstr'
19
+ autoload :HMapSaver, 'hmap/hmap/hmap_saver'
20
+ autoload :MapFileWriter, 'hmap/hmap/hmap_writer'
21
+ autoload :MapFileReader, 'hmap/hmap/hmap_reader'
22
+
23
+ # autoload :Struct, 'hmap/hmap/hmap_struct'
24
+ end
metadata CHANGED
@@ -1,132 +1,170 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-mapfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cat1237
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-10 00:00:00.000000000 Z
11
+ date: 2021-11-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: '2.1'
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: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: coveralls
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: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '10.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
54
  version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: cocoapods
70
+ name: claide
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '1.6'
75
+ version: 1.0.2
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.0'
76
79
  type: :runtime
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
80
83
  - - ">="
81
84
  - !ruby/object:Gem::Version
82
- version: '1.6'
85
+ version: 1.0.2
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: xcodeproj
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 1.19.0
96
+ - - "<"
97
+ - !ruby/object:Gem::Version
98
+ version: '2.0'
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: 1.19.0
106
+ - - "<"
107
+ - !ruby/object:Gem::Version
108
+ version: '2.0'
83
109
  - !ruby/object:Gem::Dependency
84
110
  name: yaml-vfs
85
111
  requirement: !ruby/object:Gem::Requirement
86
112
  requirements:
87
113
  - - ">="
88
114
  - !ruby/object:Gem::Version
89
- version: 0.0.1
115
+ version: 0.0.4
90
116
  type: :runtime
91
117
  prerelease: false
92
118
  version_requirements: !ruby/object:Gem::Requirement
93
119
  requirements:
94
120
  - - ">="
95
121
  - !ruby/object:Gem::Version
96
- version: 0.0.1
122
+ version: 0.0.4
97
123
  description: header_reader lets your read Xcode header map file. header-writer lets
98
124
  your analyze the project pod dependencies and gen header map file for all pods.
99
125
  email:
100
126
  - wangson1237@outlook.com
101
127
  executables:
102
- - hmap_reader
103
- - hmap_writer
128
+ - hmapfile
104
129
  extensions: []
105
130
  extra_rdoc_files: []
106
131
  files:
107
132
  - LICENSE
108
133
  - README.md
109
- - bin/hmap_reader
110
- - bin/hmap_writer
111
- - lib/cocoapods-hmap/command/hmap_gen.rb
112
- - lib/cocoapods-hmap/command/hmap_reader.rb
113
- - lib/cocoapods-hmap/exceptions.rb
114
- - lib/cocoapods-hmap/executable.rb
115
- - lib/cocoapods-hmap/framework/framework_vfs.rb
116
- - lib/cocoapods-hmap/helper/build_setting_helper.rb
117
- - lib/cocoapods-hmap/helper/pods_helper.rb
118
- - lib/cocoapods-hmap/helper/xcconfig_helper.rb
119
- - lib/cocoapods-hmap/hmap_reader.rb
120
- - lib/cocoapods-hmap/hmap_save.rb
121
- - lib/cocoapods-hmap/hmap_struct.rb
122
- - lib/cocoapods-hmap/hmap_writer.rb
123
- - lib/cocoapods-hmap/mapfile.rb
124
- - lib/cocoapods-hmap/pods_specification.rb
125
- - lib/cocoapods-hmap/utils.rb
126
- - lib/cocoapods-hmap/version.rb
127
- - lib/cocoapods-hmap/view.rb
128
- - lib/cocoapods_hmap.rb
134
+ - bin/hmapfile
129
135
  - lib/cocoapods_plugin.rb
136
+ - lib/hmap.rb
137
+ - lib/hmap/command.rb
138
+ - lib/hmap/command/hmap_gen.rb
139
+ - lib/hmap/command/hmap_reader.rb
140
+ - lib/hmap/command/hmap_writer.rb
141
+ - lib/hmap/constants.rb
142
+ - lib/hmap/exceptions.rb
143
+ - lib/hmap/helper/executable.rb
144
+ - lib/hmap/helper/utils.rb
145
+ - lib/hmap/hmap/hmap_bucketstr.rb
146
+ - lib/hmap/hmap/hmap_reader.rb
147
+ - lib/hmap/hmap/hmap_saver.rb
148
+ - lib/hmap/hmap/hmap_struct.rb
149
+ - lib/hmap/hmap/hmap_writer.rb
150
+ - lib/hmap/hmap/mapfile.rb
151
+ - lib/hmap/user_interface.rb
152
+ - lib/hmap/version.rb
153
+ - lib/hmap/xc/context.rb
154
+ - lib/hmap/xc/header_entry.rb
155
+ - lib/hmap/xc/header_type.rb
156
+ - lib/hmap/xc/pbx_helper.rb
157
+ - lib/hmap/xc/product_helper.rb
158
+ - lib/hmap/xc/resolver.rb
159
+ - lib/hmap/xc/target/build_setting.rb
160
+ - lib/hmap/xc/target/target.rb
161
+ - lib/hmap/xc/target/target_context.rb
162
+ - lib/hmap/xc/target/target_helper.rb
163
+ - lib/hmap/xc/target/target_vfs.rb
164
+ - lib/hmap/xc/target/xcconfig_helper.rb
165
+ - lib/hmap/xc/workspace/project.rb
166
+ - lib/hmap/xc/workspace/project_helper.rb
167
+ - lib/hmap/xc/workspace/workspace.rb
130
168
  homepage: https://github.com/Cat1237/cocoapods-hmap.git
131
169
  licenses:
132
170
  - MIT
@@ -146,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
184
  - !ruby/object:Gem::Version
147
185
  version: '0'
148
186
  requirements: []
149
- rubygems_version: 3.2.3
187
+ rubygems_version: 3.1.6
150
188
  signing_key:
151
189
  specification_version: 4
152
190
  summary: Read or write header map file.
data/bin/hmap_reader DELETED
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
-
5
- if $PROGRAM_NAME == __FILE__
6
- ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', __dir__)
7
- require 'bundler/setup'
8
- end
9
-
10
- require 'cocoapods-hmap/command/hmap_reader'
11
-
12
- Pod::Command::HMapReader.run(ARGV)
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'cocoapods_hmap'
4
- require 'cocoapods'
5
-
6
- module Pod
7
- class Command
8
- # hmap file gen cmd
9
- class HMapGen < Command
10
- # summary
11
- self.summary = 'Analyzes the dependencies and gen each dependencie mapfile.'
12
-
13
- self.description = <<-DESC
14
- Analyzes the dependencies of any cocoapods projects and gen each dependencie mapfile.
15
- DESC
16
-
17
- def initialize(argv)
18
- super
19
- project_directory = argv.option('project-directory')
20
- @save_origin_header_search_paths = !argv.flag?('nosave-origin-header-search-paths', false)
21
- @clean_hmap = argv.flag?('clean-hmap', false)
22
-
23
- return if project_directory.nil?
24
-
25
- @project_directory = Pathname.new(project_directory).expand_path
26
- config.installation_root = @project_directory
27
- end
28
-
29
- def validate!
30
- super
31
- verify_podfile_exists!
32
- end
33
-
34
- # help
35
- def self.options
36
- [
37
- ['--project-directory=/project/dir/', 'The path to the root of the project
38
- directory'],
39
- ['--nosave-origin-header-search-paths', 'This option will not save xcconfig origin [HEADER_SEARCH_PATHS] and put hmap file first'],
40
- ['--clean-hmap', 'This option will clean up all hmap-gen setup for hmap.']
41
- ].concat(super)
42
- end
43
-
44
- def run
45
- UI.section "\n[hmap-gen] start.............." do
46
- HMap::MapFileWriter.new(@save_origin_header_search_paths, @clean_hmap)
47
- end
48
- UI.puts('[hmap-gen] finish..............')
49
- end
50
- end
51
- end
52
- end
@@ -1,95 +0,0 @@
1
- module HMap
2
- module Target
3
- class FrameworkEntry
4
- attr_reader :configuration, :platform, :app_build_dir, :project_temp_dir
5
- attr_accessor :headers_real_paths, :modules_real_paths
6
-
7
- def initialize(configuration, platform, app_build_dir, project_temp_dir)
8
- @configuration = configuration
9
- @platform = platform
10
- @app_build_dir = app_build_dir
11
- @project_temp_dir = project_temp_dir
12
- @headers_real_paths = []
13
- @modules_real_paths = []
14
- end
15
-
16
- def framework_moduler_path
17
- File.join(app_build_dir, 'Modules')
18
- end
19
-
20
- def self.new_from_configuration_platform(configuration, platform, name, framework_name)
21
- dir = "#{configuration}-#{platform}"
22
- app_build_dir = File.join(PodsSpecification.instance.app_build_dir, dir, name,
23
- "#{framework_name}.framework")
24
- project_temp_dir = File.join(PodsSpecification.instance.project_temp_dir, dir, "#{name}.build")
25
- new(configuration, platform, app_build_dir, project_temp_dir)
26
- end
27
-
28
- def self.new_entrys_from_configurations_platforms(configurations, platforms, name, framework_name, module_path, headers)
29
- effective_platforms = Utils.effective_platforms_names(platforms)
30
- configurations.flat_map do |configuration|
31
- effective_platforms.map do |platform|
32
- entry = new_from_configuration_platform(configuration, platform, name, framework_name)
33
- entry.add_headers_modules(module_path, framework_name, headers)
34
- entry
35
- end
36
- end
37
- end
38
-
39
- def add_headers_modules(module_path, framework_name, headers)
40
- has_private_module = module_path.glob('module*.modulemap').length > 1
41
- e_headers = ->(path, *names) { names.inject(Pathname(path)) { |e, n| e.join(n) } }
42
- @headers_real_paths += headers
43
- @headers_real_paths << e_headers.call(app_build_dir, 'Headers',
44
- "#{framework_name}-Swift.h")
45
- @modules_real_paths << e_headers.call(project_temp_dir, 'module.modulemap')
46
- if has_private_module
47
- @modules_real_paths << e_headers.call(entry.project_temp_dir,
48
- 'module.private.modulemap')
49
- end
50
- end
51
- end
52
-
53
- class FrameworkVFS
54
- attr_reader :entrys
55
-
56
- def initialize(entrys = [])
57
- @entrys = entrys
58
- end
59
-
60
- def vfs_path
61
- return {} if entrys.empty?
62
-
63
- entrys.each_with_object({}) do |entry, paths|
64
- c = "#{entry.configuration}-#{entry.platform}"
65
- paths[c] ||= []
66
- paths[c] << entry
67
- end
68
- end
69
-
70
- def vfs_path_by_platform_and_configuration(platform, config)
71
- return vfs_path if platform.nil? && config.nil?
72
-
73
- key = platform if config.nil?
74
- key = config if platform.nil?
75
- vfs_path.select { |k, _| k.include?(key) }
76
- end
77
-
78
- def write(path = nil)
79
- vfs_path.each do |key, values|
80
- es = values.map do |value|
81
- headers_real_paths = value.headers_real_paths
82
- modules_real_paths = value.modules_real_paths
83
- VFS::FileCollectorEntry.new(Pathname(value.app_build_dir), modules_real_paths, headers_real_paths)
84
- end
85
- fc = VFS::FileCollector.new(es)
86
- pa = Helper::Pods.vfs_files_dir.join(key)
87
- pa = File.join(path, key) unless path.nil?
88
- pa = Pathname(pa)
89
- pa.mkpath unless pa.exist?
90
- fc.write_mapping(pa)
91
- end
92
- end
93
- end
94
- end
95
- end
@@ -1,40 +0,0 @@
1
- module HMap
2
- # A collection of build setting functions used throughout cocoapods-hmap.
3
- module BuildSettingHelper
4
- def self.clean_hmap(clean_hmap, *targets)
5
- return clean_hmap unless clean_hmap
6
-
7
- FileUtils.rm_rf(Helper::Pods.hmap_files_dir)
8
- targets.each { |target| clean_other_c_flags_build_setting(target) }
9
- clean_hmap
10
- end
11
-
12
- def self.target_xcconfig_path(targets)
13
- targets.each do |target|
14
- raise ClassIncludedError.new(target.class, Pod::Target) unless target.is_a?(Pod::Target)
15
-
16
- config_h = Pod::Target.instance_method(:build_settings).bind(target).call
17
- config_h.each_key do |configuration_name|
18
- xcconfig = target.xcconfig_path(configuration_name)
19
- yield(xcconfig, target) if block_given?
20
- end
21
- end
22
- end
23
-
24
- def self.clean_other_c_flags_build_setting(targets)
25
- target_xcconfig_path(targets) do |xc, _|
26
- c = HMap::XcodeprojHelper.new(xc)
27
- c.clean_hmap_xcconfig_other_c_flags_and_save
28
- puts "\t -xcconfig path: #{xc} clean finish."
29
- end
30
- end
31
-
32
- def self.change_other_c_flags_xcconfig_build_settings(hmap_h, targets, use_headermap: false, save_origin: true)
33
- target_xcconfig_path(targets) do |xc, target|
34
- c = HMap::XcodeprojHelper.new(xc)
35
- c.change_xcconfig_other_c_flags_and_save(hmap_h, target.build_as_framework?, use_headermap: use_headermap,
36
- save_origin: save_origin)
37
- end
38
- end
39
- end
40
- end