xcoed 0.0.6 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/xcoed.rb +18 -14
  3. data/lib/xcoed/version.rb +1 -1
  4. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec01f4bb9c3beae88d48857747bae4e5d23adb97c0e069bcba80c725b3137eb6
4
- data.tar.gz: c24ddac5f8e43d6a04a010f16dee07a74af4207a26fa0a08142b6b5978497b2e
3
+ metadata.gz: 2a870ba98ff7dfc9c6483e146a15d56f6466c8324439b2c2eb6d400575fff546
4
+ data.tar.gz: fa06c5be8c1437eb2104bad594260d6126ad0ded6e6b11b05decd0e9c20e3759
5
5
  SHA512:
6
- metadata.gz: f04b8e12fc2c6f299da83a0a62ee2f761afe361caa2bc35477cec5de4b693c3aff3efcb5d10b2f6585800c50356ef7ecfc6e0fe2554519de7301e7e98886055e
7
- data.tar.gz: b3c8840ca193eda9e3ec18767ce039aef2ffdd88d69253b194a01a7de5c7fc50050d9b7dfeaf769bd5d84c864055d9977b00de6c14a1e6d5e845faca2c101dd8
6
+ metadata.gz: 2e9af4c568068cf0737be18ce32b7f3769c3868847ac1b850dd9dc23798bc008d47170f9b34707c9d37134a6d2083734648dfd46b336dabafd34ed0ebea66095
7
+ data.tar.gz: b8a790a0ccfebc9535a0bc8571df614f600297daa7cd59f42dfc57d176ecdb51ccbc71c9c653b30c306fb28850f4d30ddad012fda4d842b3dda897d5d8d47b0c
data/lib/xcoed.rb CHANGED
@@ -9,7 +9,13 @@ module Xcoed
9
9
 
10
10
  packages = {}
11
11
  package_json['dependencies'].each do |dependency|
12
- package_ref = add_swift_package_reference(project, dependency)
12
+ if dependency.key?('local')
13
+ package_ref = add_local_swift_package_reference(project, dependency['local'].first)
14
+ else
15
+ dependency = dependency['scm'].first if dependency.key?('scm')
16
+ package_ref = add_remote_swift_package_reference(project, dependency)
17
+ end
18
+
13
19
  packages[dependency['name']] = package_ref
14
20
  end
15
21
 
@@ -32,9 +38,9 @@ module Xcoed
32
38
  end
33
39
  end
34
40
 
35
- def self.add_swift_package_reference(project, dependency)
41
+ def self.add_remote_swift_package_reference(project, dependency)
36
42
  STDERR.puts dependency
37
- requirement_type = dependency['requirement'].keys.first
43
+ requirement_type = dependency['requirement']&.keys&.first
38
44
  case requirement_type
39
45
  when 'range'
40
46
  add_remote_swift_package_range_reference(project, dependency)
@@ -42,20 +48,18 @@ module Xcoed
42
48
  add_remote_swift_package_branch_reference(project, dependency)
43
49
  when 'revision'
44
50
  add_remote_swift_package_revision_reference(project, dependency)
45
- when 'localPackage'
46
- add_local_swift_package_reference(project, dependency)
47
51
  else
48
- raise "Unsupported package requirement `#{requirement_type}`"
52
+ raise "Unsupported package requirement for dependency: `#{dependency}`"
49
53
  end
50
54
  end
51
55
 
52
56
  def self.add_remote_swift_package_range_reference(project, dependency)
53
57
  project.root_object.package_references
54
- .select { |r| r.repositoryURL.downcase == dependency['url'].downcase }
58
+ .select { |r| r.repositoryURL.downcase == dependency['location'].downcase }
55
59
  .each(&:remove_from_project)
56
60
 
57
61
  package_ref = Xcodeproj::Project::Object::XCRemoteSwiftPackageReference.new(project, project.generate_uuid)
58
- package_ref.repositoryURL = dependency['url']
62
+ package_ref.repositoryURL = dependency['location']
59
63
  package_ref.requirement = {
60
64
  'kind' => 'versionRange',
61
65
  'minimumVersion' => dependency['requirement']['range'][0]['lowerBound'],
@@ -67,11 +71,11 @@ module Xcoed
67
71
 
68
72
  def self.add_remote_swift_package_branch_reference(project, dependency)
69
73
  project.root_object.package_references
70
- .select { |r| r.repositoryURL.downcase == dependency['url'].downcase }
74
+ .select { |r| r.repositoryURL.downcase == dependency['location'].downcase }
71
75
  .each(&:remove_from_project)
72
76
 
73
77
  package_ref = Xcodeproj::Project::Object::XCRemoteSwiftPackageReference.new(project, project.generate_uuid)
74
- package_ref.repositoryURL = dependency['url']
78
+ package_ref.repositoryURL = dependency['location']
75
79
  package_ref.requirement = {
76
80
  'kind' => 'branch',
77
81
  'branch' => dependency['requirement']['branch'].first
@@ -82,11 +86,11 @@ module Xcoed
82
86
 
83
87
  def self.add_remote_swift_package_revision_reference(project, dependency)
84
88
  project.root_object.package_references
85
- .select { |r| r.repositoryURL.downcase == dependency['url'].downcase }
89
+ .select { |r| r.repositoryURL.downcase == dependency['location'].downcase }
86
90
  .each(&:remove_from_project)
87
91
 
88
92
  package_ref = Xcodeproj::Project::Object::XCRemoteSwiftPackageReference.new(project, project.generate_uuid)
89
- package_ref.repositoryURL = dependency['url']
93
+ package_ref.repositoryURL = dependency['location']
90
94
  package_ref.requirement = {
91
95
  'kind' => 'revision',
92
96
  'revision' => dependency['requirement']['revision'].first
@@ -98,9 +102,9 @@ module Xcoed
98
102
  def self.add_local_swift_package_reference(project, dependency)
99
103
  local_packages_group = local_packages_group(project)
100
104
  local_packages_group.children
101
- .select { |c| File.expand_path(c.path).downcase == dependency['url'].downcase }
105
+ .select { |c| File.expand_path(c.path).downcase == dependency['path'].downcase }
102
106
  .each(&:remove_from_project)
103
- package_ref = Xcodeproj::Project::Object::FileReferencesFactory.new_reference(local_packages_group, dependency['url'], :group)
107
+ package_ref = Xcodeproj::Project::Object::FileReferencesFactory.new_reference(local_packages_group, dependency['path'], :group)
104
108
  package_ref.last_known_file_type = 'folder'
105
109
  package_ref
106
110
  end
data/lib/xcoed/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Xcoed
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '1.0.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcoed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Makarov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-04 00:00:00.000000000 Z
11
+ date: 2021-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hooks
@@ -243,7 +243,7 @@ homepage: https://github.com/igor-makarov/xcoed/
243
243
  licenses:
244
244
  - MIT
245
245
  metadata: {}
246
- post_install_message:
246
+ post_install_message:
247
247
  rdoc_options: []
248
248
  require_paths:
249
249
  - lib
@@ -258,8 +258,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
258
  - !ruby/object:Gem::Version
259
259
  version: '0'
260
260
  requirements: []
261
- rubygems_version: 3.1.2
262
- signing_key:
261
+ rubygems_version: 3.1.4
262
+ signing_key:
263
263
  specification_version: 4
264
264
  summary: Add Swift Packages to an Xcode Project
265
265
  test_files: []