censorius 0.1.1 → 0.1.3

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