xcodeproj 1.7.0 → 1.19.0

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.
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: []