xcoed 0.0.3 → 0.0.4
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 +4 -4
- data/bin/xcoed +28 -0
- data/lib/xcoed.rb +11 -0
- data/lib/xcoed/version.rb +1 -2
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82a2f0dbe9c4bce9cf5f5be560b0da2f4ca986d64ea8953a2a50a3f83588ab8c
|
4
|
+
data.tar.gz: '0916221f57884e23ddf1813b4b3fffb93ebf92a0d9a5e2a9b5009410962a028f'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5c28b654a7640d371a2c70040a07817ea9dd7e8c8241fceb6ecd559ebe754c11274546f02b157dc9e9b4a4b2077d591a475aa2386fa9d6be2cdba20d730b878
|
7
|
+
data.tar.gz: bcd2a9a24cda75cadc55103164d48ff440b28bb5fdd5be6f4ab145574cd0c6a2400c663b39dbb85c77e39a297a7a9e5354804f92558decfcc8165b4c25c482d6
|
data/bin/xcoed
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'xcodeproj'
|
4
|
+
require 'xcoed'
|
5
|
+
|
6
|
+
def exit_with_message(message)
|
7
|
+
STDERR.puts message
|
8
|
+
STDERR.puts 'Usage: xcake [project.xcodeproj]'
|
9
|
+
STDERR.puts 'If there\'s only one project in the directory, the parameter can be omitted.'
|
10
|
+
exit 1
|
11
|
+
end
|
12
|
+
|
13
|
+
if ARGV[1].nil?
|
14
|
+
potential_names = Dir['*.xcodeproj']
|
15
|
+
if potential_names.empty?
|
16
|
+
exit_with_message 'Could not find a project in current directory!'
|
17
|
+
elsif potential_names.count > 1
|
18
|
+
exit_with_message "Multiple project found in current directory!\nPotential projects: `#{potential_names}`"
|
19
|
+
else
|
20
|
+
project_name = potential_names.first
|
21
|
+
end
|
22
|
+
else
|
23
|
+
project_name = ARGV[1]
|
24
|
+
end
|
25
|
+
|
26
|
+
project = Xcodeproj::Project.open(project_name)
|
27
|
+
Xcoed.integrate_package_swift!(project)
|
28
|
+
project.save
|
data/lib/xcoed.rb
CHANGED
@@ -20,6 +20,10 @@ module Xcoed
|
|
20
20
|
target['dependencies'].each do |dependency|
|
21
21
|
by_name = dependency['byName'].first
|
22
22
|
|
23
|
+
target_ref.package_product_dependencies
|
24
|
+
.select { |p| p.product_name == by_name }
|
25
|
+
.each(&:remove_from_project)
|
26
|
+
|
23
27
|
package_dep = Xcodeproj::Project::Object::XCSwiftPackageProductDependency.new(project, project.generate_uuid)
|
24
28
|
package_dep.product_name = by_name
|
25
29
|
|
@@ -42,6 +46,10 @@ module Xcoed
|
|
42
46
|
end
|
43
47
|
|
44
48
|
def self.add_remote_swift_package_reference(project, dependency)
|
49
|
+
project.root_object.package_references
|
50
|
+
.select { |r| r.repositoryURL.downcase == dependency['url'].downcase }
|
51
|
+
.each(&:remove_from_project)
|
52
|
+
|
45
53
|
package_ref = Xcodeproj::Project::Object::XCRemoteSwiftPackageReference.new(project, project.generate_uuid)
|
46
54
|
package_ref.repositoryURL = dependency['url']
|
47
55
|
package_ref.requirement = {
|
@@ -55,6 +63,9 @@ module Xcoed
|
|
55
63
|
|
56
64
|
def self.add_local_swift_package_reference(project, dependency)
|
57
65
|
local_packages_group = local_packages_group(project)
|
66
|
+
local_packages_group.children
|
67
|
+
.select { |c| File.expand_path(c.path).downcase == dependency['url'].downcase }
|
68
|
+
.each(&:remove_from_project)
|
58
69
|
package_ref = Xcodeproj::Project::Object::FileReferencesFactory.new_reference(local_packages_group, dependency['url'], :group)
|
59
70
|
package_ref.last_known_file_type = 'folder'
|
60
71
|
package_ref
|
data/lib/xcoed/version.rb
CHANGED
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.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Makarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-07-
|
11
|
+
date: 2020-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hooks
|
@@ -230,10 +230,12 @@ description: Automate adding Swift PM packages to an Xcode project using a regul
|
|
230
230
|
`Package.swift` file.
|
231
231
|
email:
|
232
232
|
- igormaka@gmail.com
|
233
|
-
executables:
|
233
|
+
executables:
|
234
|
+
- xcoed
|
234
235
|
extensions: []
|
235
236
|
extra_rdoc_files: []
|
236
237
|
files:
|
238
|
+
- bin/xcoed
|
237
239
|
- lib/xcoed.rb
|
238
240
|
- lib/xcoed/constants.rb
|
239
241
|
- lib/xcoed/version.rb
|