censorius 0.1.1 → 0.1.3

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
  SHA256:
3
- metadata.gz: 6a29b3fe7ae672bc0a51029e4dae7c337edf46907faa6b4abe0ea3706db9d7a9
4
- data.tar.gz: d36489dfb8f7046baa30b834c8e3929ffa5f70025af7310de52f0a897fd4d8e7
3
+ metadata.gz: e7bc2f4bf6dd362ea5f2e33bf118789cae043cfdecc945e302508be43a9a00b9
4
+ data.tar.gz: d51bd2aac184645b5ede26bf150157b5ac0b262e9433d7bc653005925c05f5bf
5
5
  SHA512:
6
- metadata.gz: 7fd0717d4837d0b5ed89ac6c185529bd004481555575f5b3968ebedbe21d37fad658fff5349e047cff88b7f60b7cd62a5370600eacde2744b66e0f7cb589c0f1
7
- data.tar.gz: 94dea2db18ccafb73e2cca9c2c9e8fb7b9aa891aaf4418953ad83ea670fa5e7057a8d3d3d294617aab15b9c615a7adc8ac1cd85092a14cb7393a67bd67b2539a
6
+ metadata.gz: 1743b9d253590195a9da17d5685d9602f5230dee18a597678042d28372b169680835dcfe970fd48785f743098adfa62688fcaf8781cf01bc88c4b51669b24c6c
7
+ data.tar.gz: 2c4c7ee2ee8ff1bd5a1ad839f7175f4b53bb5885e90be8988ff236c96b1343d2a256c652cb0e2f3123c03faf5cdc648250a20fc35f75b82746d73ec9ecce53e6
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Censorius
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.3'
5
5
  end
data/lib/censorius.rb CHANGED
@@ -16,7 +16,7 @@ module Censorius
16
16
  end
17
17
  end
18
18
 
19
- def generate_paths(object, parent_path = '') # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
19
+ def generate_paths(object, parent_path = '') # rubocop:disable Metrics/CyclomaticComplexity
20
20
  case object
21
21
  when Xcodeproj::Project::Object::PBXProject
22
22
  generate_paths_project(object)
@@ -34,12 +34,18 @@ module Censorius
34
34
  generate_paths_phase(object, parent_path)
35
35
  when Xcodeproj::Project::Object::PBXBuildFile
36
36
  generate_paths_build_file(object, parent_path)
37
+ when Xcodeproj::Project::Object::PBXBuildRule
38
+ generate_paths_build_rule(object, parent_path)
37
39
  when Xcodeproj::Project::Object::PBXContainerItemProxy
38
40
  generate_paths_container_item_proxy(object, parent_path)
39
41
  when Xcodeproj::Project::Object::PBXTargetDependency
40
42
  generate_paths_target_dependency(object, parent_path)
41
43
  when Xcodeproj::Project::Object::PBXReferenceProxy
42
44
  generate_paths_reference_proxy(object, parent_path)
45
+ when Xcodeproj::Project::Object::XCRemoteSwiftPackageReference
46
+ generate_paths_remote_swift_package_reference(object, parent_path)
47
+ when Xcodeproj::Project::Object::XCSwiftPackageProductDependency
48
+ generate_paths_remote_swift_package_product_dependency(object, parent_path)
43
49
  else
44
50
  raise "Unrecognized: #{object.class}, at: #{parent_path}"
45
51
  end
@@ -54,6 +60,9 @@ module Censorius
54
60
  project.targets.each do |target|
55
61
  generate_paths(target, path)
56
62
  end
63
+ project.package_references.each do |package_reference|
64
+ generate_paths(package_reference, path)
65
+ end
57
66
  end
58
67
 
59
68
  def generate_paths_configuration_list(configuration_list, parent_path)
@@ -72,10 +81,20 @@ module Censorius
72
81
  target.build_phases.each do |phase|
73
82
  generate_paths(phase, path)
74
83
  end
84
+ if target.respond_to?(:build_rules)
85
+ target.build_rules.each do |rule|
86
+ generate_paths(rule, path)
87
+ end
88
+ end
75
89
  generate_paths(target.build_configuration_list, path)
76
90
  target.dependencies.each do |dependency|
77
91
  generate_paths(dependency, path)
78
92
  end
93
+ if target.respond_to?(:package_product_dependencies)
94
+ target.package_product_dependencies.each do |dependency|
95
+ generate_paths(dependency, path)
96
+ end
97
+ end
79
98
  end
80
99
 
81
100
  def generate_paths_phase(phase, parent_path)
@@ -86,8 +105,19 @@ module Censorius
86
105
  end
87
106
 
88
107
  def generate_paths_build_file(build_file, parent_path)
89
- file_ref_path = generate_paths(build_file.file_ref)
90
- @paths_by_object[build_file] = "#{parent_path}/PBXBuildFile(#{file_ref_path})"
108
+ if build_file.file_ref
109
+ file_ref_path = generate_paths(build_file.file_ref)
110
+ @paths_by_object[build_file] = "#{parent_path}/PBXBuildFile(#{file_ref_path})"
111
+ elsif build_file.product_ref
112
+ product_ref_path = generate_paths(build_file.product_ref)
113
+ @paths_by_object[build_file] = "#{parent_path}/PBXBuildFile(#{product_ref_path})"
114
+ else
115
+ raise "Unsupported: #{build_file}"
116
+ end
117
+ end
118
+
119
+ def generate_paths_build_rule(build_rule, parent_path)
120
+ @paths_by_object[build_rule] = "#{parent_path}/PBXBuildRule(#{build_rule.name})"
91
121
  end
92
122
 
93
123
  def generate_paths_group(group)
@@ -98,7 +128,7 @@ module Censorius
98
128
  end
99
129
  end
100
130
 
101
- def generate_paths_file_reference(file_reference) # rubocop:disable Metrics/AbcSize
131
+ def generate_paths_file_reference(file_reference)
102
132
  project_path = @paths_by_object[file_reference.project.root_object]
103
133
  params = []
104
134
  if !file_reference.name.nil? &&
@@ -133,6 +163,18 @@ module Censorius
133
163
  generate_paths(proxy.remote_ref, path) if proxy.remote_ref
134
164
  end
135
165
 
166
+ def generate_paths_remote_swift_package_reference(reference, parent_path)
167
+ params = [
168
+ reference.repositoryURL,
169
+ reference.requirement
170
+ ]
171
+ @paths_by_object[reference] = "#{parent_path}/XCRemoteSwiftPackageReference(#{params.join(', ')})"
172
+ end
173
+
174
+ def generate_paths_remote_swift_package_product_dependency(dependency, parent_path)
175
+ @paths_by_object[dependency] = "#{parent_path}/XCSwiftPackageProductDependency(#{dependency.product_name})"
176
+ end
177
+
136
178
  def write_debug_paths
137
179
  return if @projects.empty?
138
180
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: censorius
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Makarov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-05 00:00:00.000000000 Z
11
+ date: 2024-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj
@@ -46,7 +46,7 @@ licenses:
46
46
  metadata:
47
47
  homepage_uri: https://github.com/igor-makarov/censorius
48
48
  source_code_uri: https://github.com/igor-makarov/censorius
49
- post_install_message:
49
+ post_install_message:
50
50
  rdoc_options: []
51
51
  require_paths:
52
52
  - lib
@@ -61,8 +61,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  requirements: []
64
- rubygems_version: 3.1.4
65
- signing_key:
64
+ rubygems_version: 3.1.6
65
+ signing_key:
66
66
  specification_version: 4
67
67
  summary: A PBX UUID generator to end all generators.
68
68
  test_files: []