xcodeproj 1.7.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/xcodeproj/command/config_dump.rb +5 -1
  3. data/lib/xcodeproj/config.rb +3 -1
  4. data/lib/xcodeproj/config/other_linker_flags_parser.rb +2 -2
  5. data/lib/xcodeproj/constants.rb +70 -44
  6. data/lib/xcodeproj/gem_version.rb +1 -1
  7. data/lib/xcodeproj/project.rb +23 -2
  8. data/lib/xcodeproj/project/object.rb +3 -1
  9. data/lib/xcodeproj/project/object/build_configuration.rb +96 -35
  10. data/lib/xcodeproj/project/object/build_file.rb +9 -1
  11. data/lib/xcodeproj/project/object/build_phase.rb +45 -4
  12. data/lib/xcodeproj/project/object/build_rule.rb +12 -0
  13. data/lib/xcodeproj/project/object/helpers/file_references_factory.rb +11 -4
  14. data/lib/xcodeproj/project/object/helpers/groupable_helper.rb +13 -6
  15. data/lib/xcodeproj/project/object/native_target.rb +52 -9
  16. data/lib/xcodeproj/project/object/root_object.rb +15 -2
  17. data/lib/xcodeproj/project/object/swift_package_product_dependency.rb +19 -0
  18. data/lib/xcodeproj/project/object/swift_package_remote_reference.rb +19 -0
  19. data/lib/xcodeproj/project/object/target_dependency.rb +9 -0
  20. data/lib/xcodeproj/project/project_helper.rb +2 -1
  21. data/lib/xcodeproj/project/uuid_generator.rb +41 -19
  22. data/lib/xcodeproj/scheme.rb +6 -4
  23. data/lib/xcodeproj/scheme/build_action.rb +21 -0
  24. data/lib/xcodeproj/scheme/buildable_reference.rb +3 -1
  25. data/lib/xcodeproj/scheme/launch_action.rb +50 -0
  26. data/lib/xcodeproj/scheme/test_action.rb +36 -1
  27. data/lib/xcodeproj/workspace.rb +16 -7
  28. data/lib/xcodeproj/workspace/file_reference.rb +7 -12
  29. data/lib/xcodeproj/workspace/group_reference.rb +18 -15
  30. data/lib/xcodeproj/workspace/reference.rb +40 -0
  31. metadata +11 -9
@@ -0,0 +1,40 @@
1
+ module Xcodeproj
2
+ class Workspace
3
+ # Describes a file/group reference of a Workspace.
4
+ #
5
+ class Reference
6
+ # @return [String] the type of reference to the project
7
+ #
8
+ # This can be of the following values:
9
+ # - absolute
10
+ # - group
11
+ # - container
12
+ # - developer (unsupported)
13
+ #
14
+ attr_reader :type
15
+
16
+ # Returns the relative path to the parent group reference (if one exists)
17
+ # prepended to the passed in path.
18
+ #
19
+ # @param [REXML::Element] xml_node
20
+ # the XML representation.
21
+ #
22
+ # @param [String] path
23
+ # the path that will be prepended to.
24
+ #
25
+ # @return [String] the extended path including the parent node's path.
26
+ #
27
+ def self.prepend_parent_path(xml_node, path)
28
+ if !xml_node.parent.nil? && (xml_node.parent.name == 'Group')
29
+ group = GroupReference.from_node(xml_node.parent)
30
+ if !group.location.nil? && !group.location.empty?
31
+ path = '' if path.nil?
32
+ path = File.join(group.location, path)
33
+ end
34
+ end
35
+
36
+ path
37
+ end
38
+ end
39
+ end
40
+ 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.7.0
4
+ version: 1.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-17 00:00:00.000000000 Z
11
+ date: 2020-10-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.6
87
+ version: 0.3.0
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.6
94
+ version: 0.3.0
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).
@@ -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
@@ -160,12 +162,13 @@ files:
160
162
  - lib/xcodeproj/workspace.rb
161
163
  - lib/xcodeproj/workspace/file_reference.rb
162
164
  - lib/xcodeproj/workspace/group_reference.rb
165
+ - lib/xcodeproj/workspace/reference.rb
163
166
  - lib/xcodeproj/xcodebuild_helper.rb
164
167
  homepage: https://github.com/cocoapods/xcodeproj
165
168
  licenses:
166
169
  - MIT
167
170
  metadata: {}
168
- post_install_message:
171
+ post_install_message:
169
172
  rdoc_options: []
170
173
  require_paths:
171
174
  - lib
@@ -180,9 +183,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
183
  - !ruby/object:Gem::Version
181
184
  version: '0'
182
185
  requirements: []
183
- rubyforge_project:
184
- rubygems_version: 2.7.7
185
- signing_key:
186
+ rubygems_version: 3.1.2
187
+ signing_key:
186
188
  specification_version: 3
187
189
  summary: Create and modify Xcode projects from Ruby.
188
190
  test_files: []