xcodeproj 1.5.4 → 1.5.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0b1d369116a7d3da45d626c4b997b9d61fd9ccf8
4
- data.tar.gz: 35c1dd673e635eebbaa636dcfa6db0e9e33bb6c3
2
+ SHA256:
3
+ metadata.gz: 73d5beda835c2dcbc16acc08b2547e4480b0befb4594c041d0b0b7462fde8b8f
4
+ data.tar.gz: be2343edc22dcf4fab598c583d6daac293c352d4f8a5c48ccfcad1a4c717dcff
5
5
  SHA512:
6
- metadata.gz: 8f80155cd3b837c429f91a8efcbfe232eb6a27650d77945ccd461be6c957aa22a4fb1e2a8fa21703aeba76aa3ddfc130ca64dc1666ffb6822d83f2fbfc49e40e
7
- data.tar.gz: fc8000ee50ffb1eb3a1b2b6a1cc05367fbb468cb12e02f838adb32baf788dc9c9901dc62b3011d4c39afc399cdf1437de38de1cbfe120e9c3718965e85df91e1
6
+ metadata.gz: 021b9d3f9b6d6de5479dfea6913d18a91acd93062cfbde040742ab156538ac206ec4adabcf2aeaa29ce830528b92cdf292cbe7ce1e58a831ab50be3b66bf6620
7
+ data.tar.gz: 69db844aade7560ded3fe9eb63596165fcf1488c6627e2a13b07c9efac2b8c53b8c79865943e41bf80d3e2577c49af82c2bc8c6b380bb0aa28da3dad11da09fa
@@ -18,6 +18,7 @@ module Xcodeproj
18
18
  def initialize(argv)
19
19
  super
20
20
  unless self.ansi_output?
21
+ Colored2.disable!
21
22
  String.send(:define_method, :colorize) { |string, _| string }
22
23
  end
23
24
  end
@@ -8,7 +8,7 @@ module Xcodeproj
8
8
 
9
9
  # @return [String] The last known OS X SDK (stable).
10
10
  #
11
- LAST_KNOWN_OSX_SDK = '10.12'
11
+ LAST_KNOWN_OSX_SDK = '10.13'
12
12
 
13
13
  # @return [String] The last known tvOS SDK (stable).
14
14
  LAST_KNOWN_TVOS_SDK = '10.2'
@@ -22,22 +22,22 @@ module Xcodeproj
22
22
 
23
23
  # @return [String] The last known Swift version (stable).
24
24
  #
25
- LAST_KNOWN_SWIFT_VERSION = '3.0'
25
+ LAST_KNOWN_SWIFT_VERSION = '4.0'
26
26
 
27
27
  # @return [String] The default object version for Xcodeproj.
28
28
  DEFAULT_OBJECT_VERSION = 46
29
29
 
30
30
  # @return [String] The last known object version to Xcodeproj.
31
31
  #
32
- LAST_KNOWN_OBJECT_VERSION = 48
32
+ LAST_KNOWN_OBJECT_VERSION = 50
33
33
 
34
34
  # @return [String] The last known object version to Xcodeproj.
35
35
  #
36
- LAST_UPGRADE_CHECK = '0700'
36
+ LAST_UPGRADE_CHECK = '0930'
37
37
 
38
38
  # @return [String] The last known object version to Xcodeproj.
39
39
  #
40
- LAST_SWIFT_UPGRADE_CHECK = '0830'
40
+ LAST_SWIFT_UPGRADE_CHECK = '0930'
41
41
 
42
42
  # @return [String] The version of `.xcscheme` files supported by Xcodeproj
43
43
  #
@@ -99,6 +99,7 @@ module Xcodeproj
99
99
  'm' => 'sourcecode.c.objc',
100
100
  'markdown' => 'text',
101
101
  'mdimporter' => 'wrapper.cfbundle',
102
+ 'modulemap' => 'sourcecode.module',
102
103
  'mov' => 'video.quicktime',
103
104
  'mp3' => 'audio.mp3',
104
105
  'octest' => 'wrapper.cfbundle',
@@ -219,7 +220,7 @@ module Xcodeproj
219
220
  # ProjectHelper#common_build_settings
220
221
  }.freeze,
221
222
  [:debug, :application, :swift] => {
222
- 'SWIFT_OPTIMIZATION_LEVEL' => '-Onone',
223
+ # Empty?
223
224
  }.freeze,
224
225
  [:debug, :swift] => {
225
226
  'SWIFT_OPTIMIZATION_LEVEL' => '-Onone',
@@ -266,6 +267,7 @@ module Xcodeproj
266
267
  }.freeze,
267
268
  [:osx, :static_library] => {
268
269
  'EXECUTABLE_PREFIX' => 'lib',
270
+ 'SKIP_INSTALL' => 'YES',
269
271
  }.freeze,
270
272
  [:ios, :static_library] => {
271
273
  'OTHER_LDFLAGS' => '-ObjC',
@@ -286,6 +288,7 @@ module Xcodeproj
286
288
  'DYLIB_COMPATIBILITY_VERSION' => '1',
287
289
  'DYLIB_CURRENT_VERSION' => '1',
288
290
  'EXECUTABLE_PREFIX' => 'lib',
291
+ 'SKIP_INSTALL' => 'YES',
289
292
  }.freeze,
290
293
  [:application] => {
291
294
  'ASSETCATALOG_COMPILER_APPICON_NAME' => 'AppIcon',
@@ -336,11 +339,13 @@ module Xcodeproj
336
339
  'CLANG_CXX_LIBRARY' => 'libc++',
337
340
  'CLANG_ENABLE_MODULES' => 'YES',
338
341
  'CLANG_ENABLE_OBJC_ARC' => 'YES',
342
+ 'CLANG_ENABLE_OBJC_WEAK' => 'YES',
339
343
  'CLANG_WARN__DUPLICATE_METHOD_MATCH' => 'YES',
340
344
  'CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING' => 'YES',
341
345
  'CLANG_WARN_BOOL_CONVERSION' => 'YES',
342
346
  'CLANG_WARN_COMMA' => 'YES',
343
347
  'CLANG_WARN_CONSTANT_CONVERSION' => 'YES',
348
+ 'CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS' => 'YES',
344
349
  'CLANG_WARN_DIRECT_OBJC_ISA_USAGE' => 'YES_ERROR',
345
350
  'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'YES',
346
351
  'CLANG_WARN_EMPTY_BODY' => 'YES',
@@ -348,6 +353,7 @@ module Xcodeproj
348
353
  'CLANG_WARN_INFINITE_RECURSION' => 'YES',
349
354
  'CLANG_WARN_INT_CONVERSION' => 'YES',
350
355
  'CLANG_WARN_NON_LITERAL_NULL_CONVERSION' => 'YES',
356
+ 'CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF' => 'YES',
351
357
  'CLANG_WARN_OBJC_LITERAL_CONVERSION' => 'YES',
352
358
  'CLANG_WARN_OBJC_ROOT_CLASS' => 'YES_ERROR',
353
359
  'CLANG_WARN_RANGE_LOOP_ANALYSIS' => 'YES',
@@ -1,5 +1,5 @@
1
1
  module Xcodeproj
2
2
  # The version of the xcodeproj gem.
3
3
  #
4
- VERSION = '1.5.4'.freeze unless defined? Xcodeproj::VERSION
4
+ VERSION = '1.5.5'.freeze unless defined? Xcodeproj::VERSION
5
5
  end
@@ -1,3 +1,4 @@
1
+ require 'atomos'
1
2
  require 'fileutils'
2
3
  require 'securerandom'
3
4
 
@@ -350,7 +351,9 @@ module Xcodeproj
350
351
  @dirty = false if save_path == path
351
352
  FileUtils.mkdir_p(save_path)
352
353
  file = File.join(save_path, 'project.pbxproj')
353
- File.open(file, 'w') { |f| Nanaimo::Writer::PBXProjWriter.new(to_ascii_plist, :pretty => true, :output => f, :strict => false).write }
354
+ Atomos.atomic_write(file) do |f|
355
+ Nanaimo::Writer::PBXProjWriter.new(to_ascii_plist, :pretty => true, :output => f, :strict => false).write
356
+ end
354
357
  end
355
358
 
356
359
  # Marks the project as dirty, that is, modified from what is on disk.
@@ -809,7 +812,7 @@ module Xcodeproj
809
812
  targets.each do |target|
810
813
  scheme = XCScheme.new
811
814
  scheme.add_build_target(target)
812
- scheme.add_test_target(target) if target.test_target_type?
815
+ scheme.add_test_target(target) if target.respond_to?(:test_target_type?) && target.test_target_type?
813
816
  yield scheme, target if block_given?
814
817
  scheme.save_as(path, target.name, false)
815
818
  xcschememanagement['SchemeUserState']["#{target.name}.xcscheme"] = {}
@@ -72,7 +72,8 @@ module Xcodeproj
72
72
  #---------------------------------------------------------------------#
73
73
 
74
74
  # Gets the value for the given build setting considering any configuration
75
- # file present and resolving inheritance between them
75
+ # file present and resolving inheritance between them. It also takes in
76
+ # consideration environment variables.
76
77
  #
77
78
  # @param [String] key
78
79
  # the key of the build setting.
@@ -92,7 +93,7 @@ module Xcodeproj
92
93
  project_setting = nil if project_setting == self
93
94
  project_setting &&= project_setting.resolve_build_setting(key, root_target)
94
95
 
95
- [project_setting, config_setting, setting].compact.reduce do |inherited, value|
96
+ [project_setting, config_setting, setting, ENV[key]].compact.reduce do |inherited, value|
96
97
  expand_build_setting(value, inherited)
97
98
  end
98
99
  end
@@ -338,6 +338,7 @@ module Xcodeproj
338
338
  output << "<#{node.expanded_name}"
339
339
 
340
340
  @level += @indentation
341
+ node.context = node.parent.context # HACK: to ensure strings are properly quoted
341
342
  node.attributes.each_attribute do |attr|
342
343
  output << "\n"
343
344
  output << ' ' * @level
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcodeproj
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-16 00:00:00.000000000 Z
11
+ date: 2018-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: atomos
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: CFPropertyList
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -160,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
174
  version: '0'
161
175
  requirements: []
162
176
  rubyforge_project:
163
- rubygems_version: 2.4.5.1
177
+ rubygems_version: 2.7.4
164
178
  signing_key:
165
179
  specification_version: 3
166
180
  summary: Create and modify Xcode projects from Ruby.