xcodeproj 1.9.0 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/xcodeproj/constants.rb +4 -3
- data/lib/xcodeproj/gem_version.rb +1 -1
- data/lib/xcodeproj/project/object.rb +2 -0
- data/lib/xcodeproj/project/object/build_file.rb +9 -1
- data/lib/xcodeproj/project/object/build_rule.rb +5 -0
- data/lib/xcodeproj/project/object/native_target.rb +24 -3
- data/lib/xcodeproj/project/object/root_object.rb +13 -0
- data/lib/xcodeproj/project/object/swift_package_product_dependency.rb +19 -0
- data/lib/xcodeproj/project/object/swift_package_remote_reference.rb +19 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c97e1a1e73c9358014593b72f840b6f82f0560c525aee2a98f11a482bac7887
|
4
|
+
data.tar.gz: 35f3b030a485fadcb4d65a5f949805d29ef94f66815b72578485a74993a01135
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d782cfd8c7f9b80303a100d277969c69738a037d8d86388292c5fd84a443686100f7a18681d68752fa1abae946714ef4dd413e957de14ae6488f2fa0c6bd3de6
|
7
|
+
data.tar.gz: 12ec3dbcee3d913fc1b92bef15a6f65a1ff90866bd92295eb674574de9db3b234e79cba17fc8d8f6c4d4ddb1188d46894f0483be25e25fa217c6cbc750890b5d
|
data/lib/xcodeproj/constants.rb
CHANGED
@@ -32,15 +32,15 @@ module Xcodeproj
|
|
32
32
|
|
33
33
|
# @return [String] The last known object version to Xcodeproj.
|
34
34
|
#
|
35
|
-
LAST_KNOWN_OBJECT_VERSION =
|
35
|
+
LAST_KNOWN_OBJECT_VERSION = 52
|
36
36
|
|
37
37
|
# @return [String] The last known object version to Xcodeproj.
|
38
38
|
#
|
39
|
-
LAST_UPGRADE_CHECK = '
|
39
|
+
LAST_UPGRADE_CHECK = '1100'
|
40
40
|
|
41
41
|
# @return [String] The last known object version to Xcodeproj.
|
42
42
|
#
|
43
|
-
LAST_SWIFT_UPGRADE_CHECK = '
|
43
|
+
LAST_SWIFT_UPGRADE_CHECK = '1100'
|
44
44
|
|
45
45
|
# @return [String] The version of `.xcscheme` files supported by Xcodeproj
|
46
46
|
#
|
@@ -126,6 +126,7 @@ module Xcodeproj
|
|
126
126
|
# @return [Hash] The compatibility version string for different object versions.
|
127
127
|
#
|
128
128
|
COMPATIBILITY_VERSION_BY_OBJECT_VERSION = {
|
129
|
+
52 => 'Xcode 11.0',
|
129
130
|
51 => 'Xcode 10.0',
|
130
131
|
50 => 'Xcode 9.3',
|
131
132
|
48 => 'Xcode 8.0',
|
@@ -518,6 +518,8 @@ Xcodeproj::Constants::KNOWN_ISAS.each do |superclass_name, isas|
|
|
518
518
|
end
|
519
519
|
|
520
520
|
# Now load the concrete subclasses.
|
521
|
+
require 'xcodeproj/project/object/swift_package_remote_reference'
|
522
|
+
require 'xcodeproj/project/object/swift_package_product_dependency'
|
521
523
|
require 'xcodeproj/project/object/build_configuration'
|
522
524
|
require 'xcodeproj/project/object/build_file'
|
523
525
|
require 'xcodeproj/project/object/build_phase'
|
@@ -18,7 +18,7 @@ module Xcodeproj
|
|
18
18
|
#
|
19
19
|
attribute :settings, Hash
|
20
20
|
|
21
|
-
# @return [PBXFileReference] the file
|
21
|
+
# @return [PBXFileReference] the file to build.
|
22
22
|
#
|
23
23
|
# @todo I think that is possible to add any kind of group (for
|
24
24
|
# example folders linked to a path).
|
@@ -31,6 +31,14 @@ module Xcodeproj
|
|
31
31
|
PBXReferenceProxy,
|
32
32
|
]
|
33
33
|
|
34
|
+
# @return [XCSwiftPackageProductDependency] the Swift Package file to build.
|
35
|
+
#
|
36
|
+
has_one :product_ref, XCSwiftPackageProductDependency
|
37
|
+
|
38
|
+
# @return [String] the platform filter for this build file.
|
39
|
+
#
|
40
|
+
attribute :platform_filter, String
|
41
|
+
|
34
42
|
#---------------------------------------------------------------------#
|
35
43
|
|
36
44
|
public
|
@@ -41,6 +41,11 @@ module Xcodeproj
|
|
41
41
|
#
|
42
42
|
attribute :is_editable, String, '1'
|
43
43
|
|
44
|
+
# @return [ObjectList<PBXFileReference>] the file references for the
|
45
|
+
# input files files.
|
46
|
+
#
|
47
|
+
attribute :input_files, Array
|
48
|
+
|
44
49
|
# @return [ObjectList<PBXFileReference>] the file references for the
|
45
50
|
# output files.
|
46
51
|
#
|
@@ -309,7 +309,7 @@ module Xcodeproj
|
|
309
309
|
# Adds a file reference for one or more system framework to the project
|
310
310
|
# if needed and adds them to the Frameworks build phases.
|
311
311
|
#
|
312
|
-
# @param [Array<String>, String]
|
312
|
+
# @param [Array<String>, String] names
|
313
313
|
# The name or the list of the names of the framework.
|
314
314
|
#
|
315
315
|
# @note Xcode behaviour is following: if the target has the same SDK
|
@@ -359,7 +359,7 @@ module Xcodeproj
|
|
359
359
|
# Adds a file reference for one or more system dylib libraries to the project
|
360
360
|
# if needed and adds them to the Frameworks build phases.
|
361
361
|
#
|
362
|
-
# @param [Array<String>, String]
|
362
|
+
# @param [Array<String>, String] names
|
363
363
|
# The name or the list of the names of the libraries.
|
364
364
|
#
|
365
365
|
# @return [void]
|
@@ -385,7 +385,7 @@ module Xcodeproj
|
|
385
385
|
# Adds a file reference for one or more system tbd libraries to the project
|
386
386
|
# if needed and adds them to the Frameworks build phases.
|
387
387
|
#
|
388
|
-
# @param [Array<String>, String]
|
388
|
+
# @param [Array<String>, String] names
|
389
389
|
# The name or the list of the names of the libraries.
|
390
390
|
#
|
391
391
|
# @return [void]
|
@@ -432,6 +432,11 @@ module Xcodeproj
|
|
432
432
|
#
|
433
433
|
has_one :product_reference, PBXFileReference
|
434
434
|
|
435
|
+
# @return [ObjectList<XCSwiftPackageProductDependency>] the Swift package products necessary to
|
436
|
+
# build this target.
|
437
|
+
#
|
438
|
+
has_many :package_product_dependencies, XCSwiftPackageProductDependency
|
439
|
+
|
435
440
|
# @return [String] the install path of the product.
|
436
441
|
#
|
437
442
|
attribute :product_install_path, String
|
@@ -622,6 +627,22 @@ module Xcodeproj
|
|
622
627
|
end
|
623
628
|
end
|
624
629
|
end
|
630
|
+
|
631
|
+
def to_hash_as(method = :to_hash)
|
632
|
+
hash_as = super
|
633
|
+
if !hash_as['packageProductDependencies'].nil? && hash_as['packageProductDependencies'].empty?
|
634
|
+
hash_as.delete('packageProductDependencies')
|
635
|
+
end
|
636
|
+
hash_as
|
637
|
+
end
|
638
|
+
|
639
|
+
def to_ascii_plist
|
640
|
+
plist = super
|
641
|
+
if !plist.value['packageProductDependencies'].nil? && plist.value['packageProductDependencies'].empty?
|
642
|
+
plist.value.delete('packageProductDependencies')
|
643
|
+
end
|
644
|
+
plist
|
645
|
+
end
|
625
646
|
end
|
626
647
|
|
627
648
|
#-----------------------------------------------------------------------#
|
@@ -62,6 +62,10 @@ module Xcodeproj
|
|
62
62
|
#
|
63
63
|
attribute :project_root, String, ''
|
64
64
|
|
65
|
+
# @return [Array<XCRemoteSwiftPackageReference>] the list of Swift package references.
|
66
|
+
#
|
67
|
+
has_many :package_references, XCRemoteSwiftPackageReference
|
68
|
+
|
65
69
|
# @return [Array<ObjectDictionary>] any reference to other projects.
|
66
70
|
#
|
67
71
|
has_many_references_by_keys :project_references,
|
@@ -76,9 +80,18 @@ module Xcodeproj
|
|
76
80
|
' Project object '
|
77
81
|
end
|
78
82
|
|
83
|
+
def to_hash_as(method = :to_hash)
|
84
|
+
hash_as = super
|
85
|
+
if !hash_as['packageReferences'].nil? && hash_as['packageReferences'].empty?
|
86
|
+
hash_as.delete('packageReferences') if !hash_as['packageReferences'].nil? && hash_as['packageReferences'].empty?
|
87
|
+
end
|
88
|
+
hash_as
|
89
|
+
end
|
90
|
+
|
79
91
|
def to_ascii_plist
|
80
92
|
plist = super
|
81
93
|
plist.value.delete('projectReferences') if plist.value['projectReferences'].empty?
|
94
|
+
plist.value.delete('packageReferences') if !plist.value['packageReferences'].nil? && plist.value['packageReferences'].empty?
|
82
95
|
plist
|
83
96
|
end
|
84
97
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
class Project
|
3
|
+
module Object
|
4
|
+
# This class represents a Swift package product dependency.
|
5
|
+
#
|
6
|
+
class XCSwiftPackageProductDependency < AbstractObject
|
7
|
+
# @!group Attributes
|
8
|
+
|
9
|
+
# @return [XCRemoteSwiftPackageReference] the Swift package reference.
|
10
|
+
#
|
11
|
+
has_one :package, XCRemoteSwiftPackageReference
|
12
|
+
|
13
|
+
# @return [String] the product name of this Swift package.
|
14
|
+
#
|
15
|
+
attribute :product_name, String
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
class Project
|
3
|
+
module Object
|
4
|
+
# This class represents a Swift package reference.
|
5
|
+
#
|
6
|
+
class XCRemoteSwiftPackageReference < AbstractObject
|
7
|
+
# @!group Attributes
|
8
|
+
|
9
|
+
# @return [String] the repository url this Swift package was installed from.
|
10
|
+
#
|
11
|
+
attribute :repositoryURL, String
|
12
|
+
|
13
|
+
# @return [Hash] the version requirements for this Swift package.
|
14
|
+
#
|
15
|
+
attribute :requirement, Hash
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcodeproj
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: atomos
|
@@ -135,6 +135,8 @@ files:
|
|
135
135
|
- lib/xcodeproj/project/object/native_target.rb
|
136
136
|
- lib/xcodeproj/project/object/reference_proxy.rb
|
137
137
|
- lib/xcodeproj/project/object/root_object.rb
|
138
|
+
- lib/xcodeproj/project/object/swift_package_product_dependency.rb
|
139
|
+
- lib/xcodeproj/project/object/swift_package_remote_reference.rb
|
138
140
|
- lib/xcodeproj/project/object/target_dependency.rb
|
139
141
|
- lib/xcodeproj/project/object_attributes.rb
|
140
142
|
- lib/xcodeproj/project/object_dictionary.rb
|