censorius 0.1.4 → 0.1.6

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: 8d77a4a5e0141aa53ab1305478bd5076ffb801e94119602cd688ccc0c0f5f1d6
4
- data.tar.gz: ccc9688df4da792d4612fdd7c61f24ad3f5cc3f2d08b5a51d5e5d98ca6886250
3
+ metadata.gz: d7500f0e7dc03a9472fc453a92e7ca7f090b9fc0ee1b8641f088c3fd432af4a8
4
+ data.tar.gz: 4c248662afebf76b803742d01f53d21207e69a849e44f57e76a5403a86178968
5
5
  SHA512:
6
- metadata.gz: 24462131be3a4de9394a1c311aa1a0ac654bc780cd71d4af07ef955b8632c4d18bf7938321c131849544b8a565fdc642c99fb3fbd527c5d4110f54ad637d6c94
7
- data.tar.gz: 623559e54200f179ff02a358f534d9dbf94137c9caa1eff521c4b949965f77bc29c69c882605bed365c6f23eda31c776f97b8f57dc94a54aa253d88a2f8e7d03
6
+ metadata.gz: a135f6714a83ff0f81d682a7f4b4ef4abd8f830b056d4c79b63568cf791ed56429a9b2b8adf8c5f10cdcf075347e78b772d32a09f6c33551629ff5d0140154d8
7
+ data.tar.gz: 1a0ef97777f3840a123dff9a522b5591783fd53155e002b87e20d4d56baed1b7ffbe29e95b15b4d3c8feeed7c902c083270507a7748319781820805caedf952e
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Censorius
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.6'
5
5
  end
data/lib/censorius.rb CHANGED
@@ -44,8 +44,10 @@ module Censorius
44
44
  generate_paths_reference_proxy(object, parent_path)
45
45
  when Xcodeproj::Project::Object::XCRemoteSwiftPackageReference
46
46
  generate_paths_remote_swift_package_reference(object, parent_path)
47
+ when Xcodeproj::Project::Object::XCLocalSwiftPackageReference
48
+ generate_paths_local_swift_package_reference(object, parent_path)
47
49
  when Xcodeproj::Project::Object::XCSwiftPackageProductDependency
48
- generate_paths_remote_swift_package_product_dependency(object, parent_path)
50
+ generate_paths_swift_package_product_dependency(object, parent_path)
49
51
  else
50
52
  raise "Unrecognized: #{object.class}, at: #{parent_path}"
51
53
  end
@@ -57,12 +59,12 @@ module Censorius
57
59
  @paths_by_object[project] = path = "PBXProject(#{project.name})"
58
60
  generate_paths(project.main_group, path)
59
61
  generate_paths(project.build_configuration_list, path)
60
- project.targets.each do |target|
61
- generate_paths(target, path)
62
- end
63
62
  project.package_references.each do |package_reference|
64
63
  generate_paths(package_reference, path)
65
64
  end
65
+ project.targets.each do |target|
66
+ generate_paths(target, path)
67
+ end
66
68
  end
67
69
 
68
70
  def generate_paths_configuration_list(configuration_list, parent_path)
@@ -78,6 +80,11 @@ module Censorius
78
80
 
79
81
  def generate_paths_target(target, parent_path)
80
82
  @paths_by_object[target] = path = "#{parent_path}/#{target.class.name.split('::').last}(#{target.name})"
83
+ if target.respond_to?(:package_product_dependencies)
84
+ target.package_product_dependencies.each do |dependency|
85
+ generate_paths(dependency, path)
86
+ end
87
+ end
81
88
  target.build_phases.each do |phase|
82
89
  generate_paths(phase, path)
83
90
  end
@@ -90,11 +97,6 @@ module Censorius
90
97
  target.dependencies.each do |dependency|
91
98
  generate_paths(dependency, path)
92
99
  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
98
100
  end
99
101
 
100
102
  def generate_paths_phase(phase, parent_path)
@@ -109,7 +111,7 @@ module Censorius
109
111
  file_ref_path = generate_paths(build_file.file_ref)
110
112
  @paths_by_object[build_file] = "#{parent_path}/PBXBuildFile(#{file_ref_path})"
111
113
  elsif build_file.product_ref
112
- product_ref_path = generate_paths(build_file.product_ref)
114
+ product_ref_path = @paths_by_object[build_file.product_ref]
113
115
  @paths_by_object[build_file] = "#{parent_path}/PBXBuildFile(#{product_ref_path})"
114
116
  else
115
117
  raise "Unsupported: #{build_file}"
@@ -147,7 +149,7 @@ module Censorius
147
149
  @paths_by_object[dependency] = path = "#{parent_path}/PBXTargetDependency(#{dependency.name})"
148
150
  generate_paths(dependency.target_proxy, path)
149
151
  elsif dependency.product_ref
150
- product_ref_path = generate_paths(dependency.product_ref)
152
+ product_ref_path = @paths_by_object[dependency.product_ref]
151
153
  @paths_by_object[dependency] = "#{parent_path}/PBXTargetDependency(#{product_ref_path})"
152
154
  else
153
155
  raise "Unsupported: #{dependency}"
@@ -176,8 +178,19 @@ module Censorius
176
178
  @paths_by_object[reference] = "#{parent_path}/XCRemoteSwiftPackageReference(#{params.join(', ')})"
177
179
  end
178
180
 
179
- def generate_paths_remote_swift_package_product_dependency(dependency, parent_path)
180
- @paths_by_object[dependency] = "#{parent_path}/XCSwiftPackageProductDependency(#{dependency.product_name})"
181
+ def generate_paths_local_swift_package_reference(reference, parent_path)
182
+ params = [
183
+ reference.relative_path
184
+ ]
185
+ @paths_by_object[reference] = "#{parent_path}/XCLocalSwiftPackageReference(#{params.join(', ')})"
186
+ end
187
+
188
+ def generate_paths_swift_package_product_dependency(dependency, parent_path)
189
+ params = [
190
+ @paths_by_object[dependency.package],
191
+ dependency.product_name
192
+ ]
193
+ @paths_by_object[dependency] = "#{parent_path}/XCSwiftPackageProductDependency(#{params.join(', ')})"
181
194
  end
182
195
 
183
196
  def write_debug_paths
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.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Makarov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-19 00:00:00.000000000 Z
11
+ date: 2024-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj