xcodeproj 1.5.7 → 1.5.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/xcodeproj/config.rb +3 -2
- data/lib/xcodeproj/constants.rb +3 -3
- data/lib/xcodeproj/gem_version.rb +1 -1
- data/lib/xcodeproj/project/object.rb +4 -4
- data/lib/xcodeproj/project/object/build_configuration.rb +7 -26
- data/lib/xcodeproj/project/object/configuration_list.rb +5 -1
- data/lib/xcodeproj/project/object/helpers/build_settings_array_settings_by_object_version.rb +70 -0
- data/lib/xcodeproj/project/object/native_target.rb +1 -0
- data/lib/xcodeproj/project/project_helper.rb +4 -2
- data/lib/xcodeproj/project/uuid_generator.rb +1 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b86a12e55bedc920b8bcf130a7d7db5d82748440f3690e751069b3b4c40a3d96
|
4
|
+
data.tar.gz: 0c00b4128824c115a6c60bc37a277b86817d9f4ee6d847fb5894d22d1876a713
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6523c14761cd047e135b61689f4f3ee32a5d96b0cb3d773eec237e17267016398d1710ddd3c234c602b07791c914b9c478f1a760da56155697d2d5f49f76c869
|
7
|
+
data.tar.gz: fe540d756b206c5a9d21021dc061a30dce101d1ac13360ea70fab57596b777d5f08896bd807ad3fd89c9b5f8574572eb6600a1952cbddb3511089672d6096265
|
data/lib/xcodeproj/config.rb
CHANGED
@@ -10,7 +10,8 @@ module Xcodeproj
|
|
10
10
|
|
11
11
|
KEY_VALUE_PATTERN = /
|
12
12
|
(
|
13
|
-
[
|
13
|
+
[^=\[]+ # Any char, but not an assignment operator
|
14
|
+
# or subscript (non-greedy)
|
14
15
|
(?: # One or multiple conditional subscripts
|
15
16
|
\[
|
16
17
|
[^\]]* # The subscript key
|
@@ -21,7 +22,7 @@ module Xcodeproj
|
|
21
22
|
\]
|
22
23
|
)*
|
23
24
|
)
|
24
|
-
\s
|
25
|
+
\s* # Whitespaces after the key (needed because subscripts
|
25
26
|
# always end with ']')
|
26
27
|
= # The assignment operator
|
27
28
|
(.*) # The value
|
data/lib/xcodeproj/constants.rb
CHANGED
@@ -4,17 +4,17 @@ module Xcodeproj
|
|
4
4
|
module Constants
|
5
5
|
# @return [String] The last known iOS SDK (stable).
|
6
6
|
#
|
7
|
-
LAST_KNOWN_IOS_SDK = '
|
7
|
+
LAST_KNOWN_IOS_SDK = '11.3'
|
8
8
|
|
9
9
|
# @return [String] The last known OS X SDK (stable).
|
10
10
|
#
|
11
11
|
LAST_KNOWN_OSX_SDK = '10.13'
|
12
12
|
|
13
13
|
# @return [String] The last known tvOS SDK (stable).
|
14
|
-
LAST_KNOWN_TVOS_SDK = '
|
14
|
+
LAST_KNOWN_TVOS_SDK = '11.3'
|
15
15
|
|
16
16
|
# @return [String] The last known watchOS SDK (stable).
|
17
|
-
LAST_KNOWN_WATCHOS_SDK = '3
|
17
|
+
LAST_KNOWN_WATCHOS_SDK = '4.3'
|
18
18
|
|
19
19
|
# @return [String] The last known archive version to Xcodeproj.
|
20
20
|
#
|
@@ -318,10 +318,10 @@ module Xcodeproj
|
|
318
318
|
end
|
319
319
|
|
320
320
|
unless object_plist.empty?
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
321
|
+
UI.warn "[!] Xcodeproj doesn't know about the following " \
|
322
|
+
"attributes #{object_plist.inspect} for the '#{isa}' isa." \
|
323
|
+
"\nIf this attribute was generated by Xcode please file " \
|
324
|
+
'an issue: https://github.com/CocoaPods/Xcodeproj/issues/new'
|
325
325
|
end
|
326
326
|
end
|
327
327
|
|
@@ -154,42 +154,21 @@ module Xcodeproj
|
|
154
154
|
sorted
|
155
155
|
end
|
156
156
|
|
157
|
-
# yes, they are case-sensitive.
|
158
|
-
# no, Xcode doesn't do this for other PathList settings nor other
|
159
|
-
# settings ending in SEARCH_PATHS.
|
160
|
-
ARRAY_SETTINGS = %w(
|
161
|
-
ALTERNATE_PERMISSIONS_FILES
|
162
|
-
ARCHS
|
163
|
-
BUILD_VARIANTS
|
164
|
-
EXCLUDED_SOURCE_FILE_NAMES
|
165
|
-
FRAMEWORK_SEARCH_PATHS
|
166
|
-
GCC_PREPROCESSOR_DEFINITIONS
|
167
|
-
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS
|
168
|
-
HEADER_SEARCH_PATHS
|
169
|
-
INFOPLIST_PREPROCESSOR_DEFINITIONS
|
170
|
-
LIBRARY_SEARCH_PATHS
|
171
|
-
OTHER_CFLAGS
|
172
|
-
OTHER_CPLUSPLUSFLAGS
|
173
|
-
OTHER_LDFLAGS
|
174
|
-
REZ_SEARCH_PATHS
|
175
|
-
SECTORDER_FLAGS
|
176
|
-
WARNING_CFLAGS
|
177
|
-
WARNING_LDFLAGS
|
178
|
-
).freeze
|
179
|
-
private_constant :ARRAY_SETTINGS
|
180
|
-
|
181
157
|
def normalize_array_settings(settings)
|
182
158
|
return unless settings
|
159
|
+
|
160
|
+
array_settings = BuildSettingsArraySettingsByObjectVersion[project.object_version]
|
161
|
+
|
183
162
|
settings.keys.each do |key|
|
184
163
|
next unless value = settings[key]
|
185
164
|
case value
|
186
165
|
when String
|
187
|
-
next unless
|
166
|
+
next unless array_settings.include?(key)
|
188
167
|
array_value = split_build_setting_array_to_string(value)
|
189
168
|
next unless array_value.size > 1
|
190
169
|
settings[key] = array_value
|
191
170
|
when Array
|
192
|
-
next if value.size > 1 &&
|
171
|
+
next if value.size > 1 && array_settings.include?(key)
|
193
172
|
settings[key] = value.join(' ')
|
194
173
|
end
|
195
174
|
end
|
@@ -211,3 +190,5 @@ module Xcodeproj
|
|
211
190
|
end
|
212
191
|
end
|
213
192
|
end
|
193
|
+
|
194
|
+
require 'xcodeproj/project/object/helpers/build_settings_array_settings_by_object_version'
|
@@ -105,7 +105,11 @@ module Xcodeproj
|
|
105
105
|
#---------------------------------------------------------------------#
|
106
106
|
|
107
107
|
def ascii_plist_annotation
|
108
|
-
|
108
|
+
if target.nil?
|
109
|
+
' Build configuration list for <deleted target> '
|
110
|
+
else
|
111
|
+
" Build configuration list for #{target.isa} \"#{target}\" "
|
112
|
+
end
|
109
113
|
end
|
110
114
|
end
|
111
115
|
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
class Project
|
3
|
+
module Object
|
4
|
+
class XCBuildConfiguration
|
5
|
+
# yes, they are case-sensitive.
|
6
|
+
# no, Xcode doesn't do this for other PathList settings nor other
|
7
|
+
# settings ending in SEARCH_PATHS.
|
8
|
+
module BuildSettingsArraySettingsByObjectVersion
|
9
|
+
ARRAY_SETTINGS = %w(
|
10
|
+
ALTERNATE_PERMISSIONS_FILES
|
11
|
+
ARCHS
|
12
|
+
BUILD_VARIANTS
|
13
|
+
EXCLUDED_SOURCE_FILE_NAMES
|
14
|
+
FRAMEWORK_SEARCH_PATHS
|
15
|
+
GCC_PREPROCESSOR_DEFINITIONS
|
16
|
+
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS
|
17
|
+
HEADER_SEARCH_PATHS
|
18
|
+
INFOPLIST_PREPROCESSOR_DEFINITIONS
|
19
|
+
LIBRARY_SEARCH_PATHS
|
20
|
+
OTHER_CFLAGS
|
21
|
+
OTHER_CPLUSPLUSFLAGS
|
22
|
+
OTHER_LDFLAGS
|
23
|
+
REZ_SEARCH_PATHS
|
24
|
+
SECTORDER_FLAGS
|
25
|
+
WARNING_CFLAGS
|
26
|
+
WARNING_LDFLAGS
|
27
|
+
).to_set.freeze
|
28
|
+
private_constant :ARRAY_SETTINGS
|
29
|
+
|
30
|
+
ARRAY_SETTINGS_OBJECT_VERSION_50 = %w(
|
31
|
+
ALTERNATE_PERMISSIONS_FILES
|
32
|
+
ARCHS
|
33
|
+
BUILD_VARIANTS
|
34
|
+
EXCLUDED_SOURCE_FILE_NAMES
|
35
|
+
FRAMEWORK_SEARCH_PATHS
|
36
|
+
GCC_PREPROCESSOR_DEFINITIONS
|
37
|
+
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS
|
38
|
+
HEADER_SEARCH_PATHS
|
39
|
+
INCLUDED_SOURCE_FILE_NAMES
|
40
|
+
INFOPLIST_PREPROCESSOR_DEFINITIONS
|
41
|
+
LD_RUNPATH_SEARCH_PATHS
|
42
|
+
LIBRARY_SEARCH_PATHS
|
43
|
+
LOCALIZED_STRING_MACRO_NAMES
|
44
|
+
OTHER_CFLAGS
|
45
|
+
OTHER_CPLUSPLUSFLAGS
|
46
|
+
OTHER_LDFLAGS
|
47
|
+
REZ_SEARCH_PATHS
|
48
|
+
SECTORDER_FLAGS
|
49
|
+
SYSTEM_FRAMEWORK_SEARCH_PATHS
|
50
|
+
SYSTEM_HEADER_SEARCH_PATHS
|
51
|
+
USER_HEADER_SEARCH_PATHS
|
52
|
+
WARNING_CFLAGS
|
53
|
+
WARNING_LDFLAGS
|
54
|
+
).to_set.freeze
|
55
|
+
private_constant :ARRAY_SETTINGS_OBJECT_VERSION_50
|
56
|
+
|
57
|
+
def self.[](object_version)
|
58
|
+
object_version = object_version.to_i
|
59
|
+
|
60
|
+
if object_version >= 50
|
61
|
+
ARRAY_SETTINGS_OBJECT_VERSION_50
|
62
|
+
else
|
63
|
+
ARRAY_SETTINGS
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -181,6 +181,7 @@ module Xcodeproj
|
|
181
181
|
else
|
182
182
|
build_configuration = project.new(XCBuildConfiguration)
|
183
183
|
build_configuration.name = name
|
184
|
+
product_type = self.product_type if respond_to?(:product_type)
|
184
185
|
build_configuration.build_settings = ProjectHelper.common_build_settings(type, platform_name, deployment_target, product_type)
|
185
186
|
build_configuration_list.build_configurations << build_configuration
|
186
187
|
build_configuration
|
@@ -59,8 +59,10 @@ module Xcodeproj
|
|
59
59
|
target.build_phases << project.new(PBXFrameworksBuildPhase)
|
60
60
|
|
61
61
|
# Frameworks
|
62
|
-
|
63
|
-
|
62
|
+
unless type == :static_library
|
63
|
+
framework_name = (platform == :osx) ? 'Cocoa' : 'Foundation'
|
64
|
+
target.add_system_framework(framework_name)
|
65
|
+
end
|
64
66
|
|
65
67
|
target
|
66
68
|
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.5.
|
4
|
+
version: 1.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: atomos
|
@@ -84,14 +84,14 @@ dependencies:
|
|
84
84
|
requirements:
|
85
85
|
- - "~>"
|
86
86
|
- !ruby/object:Gem::Version
|
87
|
-
version: 0.2.
|
87
|
+
version: 0.2.5
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
90
|
version_requirements: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.2.
|
94
|
+
version: 0.2.5
|
95
95
|
description: Xcodeproj lets you create and modify Xcode projects from Ruby. Script
|
96
96
|
boring management tasks or build Xcode-friendly libraries. Also includes support
|
97
97
|
for Xcode workspaces (.xcworkspace) and configuration files (.xcconfig).
|
@@ -129,6 +129,7 @@ files:
|
|
129
129
|
- lib/xcodeproj/project/object/container_item_proxy.rb
|
130
130
|
- lib/xcodeproj/project/object/file_reference.rb
|
131
131
|
- lib/xcodeproj/project/object/group.rb
|
132
|
+
- lib/xcodeproj/project/object/helpers/build_settings_array_settings_by_object_version.rb
|
132
133
|
- lib/xcodeproj/project/object/helpers/file_references_factory.rb
|
133
134
|
- lib/xcodeproj/project/object/helpers/groupable_helper.rb
|
134
135
|
- lib/xcodeproj/project/object/native_target.rb
|