plasmo_xcodeproj 1.21.1
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 +7 -0
- data/LICENSE +19 -0
- data/README.md +95 -0
- data/bin/xcodeproj +10 -0
- data/lib/xcodeproj/command/config_dump.rb +91 -0
- data/lib/xcodeproj/command/project_diff.rb +56 -0
- data/lib/xcodeproj/command/show.rb +60 -0
- data/lib/xcodeproj/command/sort.rb +44 -0
- data/lib/xcodeproj/command/target_diff.rb +43 -0
- data/lib/xcodeproj/command.rb +63 -0
- data/lib/xcodeproj/config/other_linker_flags_parser.rb +73 -0
- data/lib/xcodeproj/config.rb +386 -0
- data/lib/xcodeproj/constants.rb +465 -0
- data/lib/xcodeproj/differ.rb +239 -0
- data/lib/xcodeproj/gem_version.rb +5 -0
- data/lib/xcodeproj/helper.rb +30 -0
- data/lib/xcodeproj/plist.rb +94 -0
- data/lib/xcodeproj/project/case_converter.rb +90 -0
- data/lib/xcodeproj/project/object/build_configuration.rb +255 -0
- data/lib/xcodeproj/project/object/build_file.rb +84 -0
- data/lib/xcodeproj/project/object/build_phase.rb +369 -0
- data/lib/xcodeproj/project/object/build_rule.rb +109 -0
- data/lib/xcodeproj/project/object/configuration_list.rb +117 -0
- data/lib/xcodeproj/project/object/container_item_proxy.rb +116 -0
- data/lib/xcodeproj/project/object/file_reference.rb +338 -0
- data/lib/xcodeproj/project/object/group.rb +506 -0
- data/lib/xcodeproj/project/object/helpers/build_settings_array_settings_by_object_version.rb +72 -0
- data/lib/xcodeproj/project/object/helpers/file_references_factory.rb +245 -0
- data/lib/xcodeproj/project/object/helpers/groupable_helper.rb +260 -0
- data/lib/xcodeproj/project/object/native_target.rb +751 -0
- data/lib/xcodeproj/project/object/reference_proxy.rb +86 -0
- data/lib/xcodeproj/project/object/root_object.rb +100 -0
- data/lib/xcodeproj/project/object/swift_package_product_dependency.rb +29 -0
- data/lib/xcodeproj/project/object/swift_package_remote_reference.rb +33 -0
- data/lib/xcodeproj/project/object/target_dependency.rb +94 -0
- data/lib/xcodeproj/project/object.rb +534 -0
- data/lib/xcodeproj/project/object_attributes.rb +522 -0
- data/lib/xcodeproj/project/object_dictionary.rb +210 -0
- data/lib/xcodeproj/project/object_list.rb +223 -0
- data/lib/xcodeproj/project/project_helper.rb +341 -0
- data/lib/xcodeproj/project/uuid_generator.rb +132 -0
- data/lib/xcodeproj/project.rb +874 -0
- data/lib/xcodeproj/scheme/abstract_scheme_action.rb +100 -0
- data/lib/xcodeproj/scheme/analyze_action.rb +19 -0
- data/lib/xcodeproj/scheme/archive_action.rb +59 -0
- data/lib/xcodeproj/scheme/build_action.rb +298 -0
- data/lib/xcodeproj/scheme/buildable_product_runnable.rb +55 -0
- data/lib/xcodeproj/scheme/buildable_reference.rb +129 -0
- data/lib/xcodeproj/scheme/command_line_arguments.rb +162 -0
- data/lib/xcodeproj/scheme/environment_variables.rb +170 -0
- data/lib/xcodeproj/scheme/execution_action.rb +86 -0
- data/lib/xcodeproj/scheme/launch_action.rb +179 -0
- data/lib/xcodeproj/scheme/location_scenario_reference.rb +49 -0
- data/lib/xcodeproj/scheme/macro_expansion.rb +34 -0
- data/lib/xcodeproj/scheme/profile_action.rb +57 -0
- data/lib/xcodeproj/scheme/remote_runnable.rb +92 -0
- data/lib/xcodeproj/scheme/send_email_action_content.rb +84 -0
- data/lib/xcodeproj/scheme/shell_script_action_content.rb +77 -0
- data/lib/xcodeproj/scheme/test_action.rb +394 -0
- data/lib/xcodeproj/scheme/xml_element_wrapper.rb +82 -0
- data/lib/xcodeproj/scheme.rb +375 -0
- data/lib/xcodeproj/user_interface.rb +22 -0
- data/lib/xcodeproj/workspace/file_reference.rb +79 -0
- data/lib/xcodeproj/workspace/group_reference.rb +67 -0
- data/lib/xcodeproj/workspace/reference.rb +40 -0
- data/lib/xcodeproj/workspace.rb +277 -0
- data/lib/xcodeproj/xcodebuild_helper.rb +108 -0
- data/lib/xcodeproj.rb +29 -0
- metadata +208 -0
@@ -0,0 +1,277 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'rexml/document'
|
3
|
+
require 'xcodeproj/workspace/file_reference'
|
4
|
+
require 'xcodeproj/workspace/group_reference'
|
5
|
+
|
6
|
+
module Xcodeproj
|
7
|
+
# Provides support for generating, reading and serializing Xcode Workspace
|
8
|
+
# documents.
|
9
|
+
#
|
10
|
+
class Workspace
|
11
|
+
# @return [REXML::Document] the parsed XML model for the workspace contents
|
12
|
+
attr_reader :document
|
13
|
+
|
14
|
+
# @return [Hash<String => String>] a mapping from scheme name to project full path
|
15
|
+
# containing the scheme
|
16
|
+
attr_reader :schemes
|
17
|
+
|
18
|
+
# @return [Array<FileReference>] the paths of the projects contained in the
|
19
|
+
# workspace.
|
20
|
+
#
|
21
|
+
def file_references
|
22
|
+
return [] unless @document
|
23
|
+
@document.get_elements('/Workspace//FileRef').map do |node|
|
24
|
+
FileReference.from_node(node)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# @return [Array<GroupReference>] the groups contained in the workspace
|
29
|
+
#
|
30
|
+
def group_references
|
31
|
+
return [] unless @document
|
32
|
+
@document.get_elements('/Workspace//Group').map do |node|
|
33
|
+
GroupReference.from_node(node)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# @param [REXML::Document] document @see document
|
38
|
+
# @param [Array<FileReference>] file_references additional projects to add
|
39
|
+
#
|
40
|
+
# @note The document parameter is passed to the << operator if it is not a
|
41
|
+
# valid REXML::Document. It is optional, but may also be passed as nil
|
42
|
+
#
|
43
|
+
def initialize(document, *file_references)
|
44
|
+
@schemes = {}
|
45
|
+
if document.nil?
|
46
|
+
@document = REXML::Document.new(root_xml(''))
|
47
|
+
elsif document.is_a?(REXML::Document)
|
48
|
+
@document = document
|
49
|
+
else
|
50
|
+
@document = REXML::Document.new(root_xml(''))
|
51
|
+
self << document
|
52
|
+
end
|
53
|
+
file_references.each { |ref| self << ref }
|
54
|
+
end
|
55
|
+
|
56
|
+
#-------------------------------------------------------------------------#
|
57
|
+
|
58
|
+
# Returns a workspace generated by reading the contents of the given path.
|
59
|
+
#
|
60
|
+
# @param [String] path
|
61
|
+
# the path of the `xcworkspace` file.
|
62
|
+
#
|
63
|
+
# @return [Workspace] the generated workspace.
|
64
|
+
#
|
65
|
+
def self.new_from_xcworkspace(path)
|
66
|
+
from_s(File.read(File.join(path, 'contents.xcworkspacedata')),
|
67
|
+
File.expand_path(path))
|
68
|
+
rescue Errno::ENOENT
|
69
|
+
new(nil)
|
70
|
+
end
|
71
|
+
|
72
|
+
#-------------------------------------------------------------------------#
|
73
|
+
|
74
|
+
# Returns a workspace generated by reading the contents of the given
|
75
|
+
# XML representation.
|
76
|
+
#
|
77
|
+
# @param [String] xml
|
78
|
+
# the XML representation of the workspace.
|
79
|
+
#
|
80
|
+
# @return [Workspace] the generated workspace.
|
81
|
+
#
|
82
|
+
def self.from_s(xml, workspace_path = '')
|
83
|
+
document = REXML::Document.new(xml)
|
84
|
+
instance = new(document)
|
85
|
+
instance.load_schemes(workspace_path)
|
86
|
+
instance
|
87
|
+
end
|
88
|
+
|
89
|
+
# Adds a new path to the list of the of projects contained in the
|
90
|
+
# workspace.
|
91
|
+
# @param [String, Xcodeproj::Workspace::FileReference] path_or_reference
|
92
|
+
# A string or Xcode::Workspace::FileReference containing a path to an Xcode project
|
93
|
+
#
|
94
|
+
# @raise [ArgumentError] Raised if the input is neither a String nor a FileReference
|
95
|
+
#
|
96
|
+
# @return [void]
|
97
|
+
#
|
98
|
+
def <<(path_or_reference)
|
99
|
+
return unless @document && @document.respond_to?(:root)
|
100
|
+
|
101
|
+
case path_or_reference
|
102
|
+
when String
|
103
|
+
project_file_reference = Xcodeproj::Workspace::FileReference.new(path_or_reference)
|
104
|
+
when Xcodeproj::Workspace::FileReference
|
105
|
+
project_file_reference = path_or_reference
|
106
|
+
projpath = nil
|
107
|
+
else
|
108
|
+
raise ArgumentError, "Input to the << operator must be a file path or FileReference, got #{path_or_reference.inspect}"
|
109
|
+
end
|
110
|
+
unless file_references.any? { |ref| project_file_reference.eql? ref }
|
111
|
+
@document.root.add_element(project_file_reference.to_node)
|
112
|
+
end
|
113
|
+
load_schemes_from_project File.expand_path(projpath || project_file_reference.path)
|
114
|
+
end
|
115
|
+
|
116
|
+
#-------------------------------------------------------------------------#
|
117
|
+
|
118
|
+
# Adds a new group container to the workspace
|
119
|
+
# workspace.
|
120
|
+
#
|
121
|
+
# @param [String] name The name of the group
|
122
|
+
#
|
123
|
+
# @yield [Xcodeproj::Workspace::GroupReference, REXML::Element]
|
124
|
+
# Yields the GroupReference and underlying XML element for mutation
|
125
|
+
#
|
126
|
+
# @return [Xcodeproj::Workspace::GroupReference] The added group reference
|
127
|
+
#
|
128
|
+
def add_group(name)
|
129
|
+
return nil unless @document
|
130
|
+
group = Xcodeproj::Workspace::GroupReference.new(name)
|
131
|
+
elem = @document.root.add_element(group.to_node)
|
132
|
+
yield group, elem if block_given?
|
133
|
+
group
|
134
|
+
end
|
135
|
+
|
136
|
+
# Checks if the workspace contains the project with the given file
|
137
|
+
# reference.
|
138
|
+
#
|
139
|
+
# @param [FileReference] file_reference
|
140
|
+
# The file_reference to the project.
|
141
|
+
#
|
142
|
+
# @return [Boolean] whether the project is contained in the workspace.
|
143
|
+
#
|
144
|
+
def include?(file_reference)
|
145
|
+
file_references.include?(file_reference)
|
146
|
+
end
|
147
|
+
|
148
|
+
# @return [String] the XML representation of the workspace.
|
149
|
+
#
|
150
|
+
def to_s
|
151
|
+
contents = ''
|
152
|
+
stack = []
|
153
|
+
@document.root.each_recursive do |elem|
|
154
|
+
until stack.empty?
|
155
|
+
last = stack.last
|
156
|
+
break if last == elem.parent
|
157
|
+
contents += xcworkspace_element_end_xml(stack.length, last)
|
158
|
+
stack.pop
|
159
|
+
end
|
160
|
+
|
161
|
+
stack << elem
|
162
|
+
contents += xcworkspace_element_start_xml(stack.length, elem)
|
163
|
+
end
|
164
|
+
|
165
|
+
until stack.empty?
|
166
|
+
contents += xcworkspace_element_end_xml(stack.length, stack.last)
|
167
|
+
stack.pop
|
168
|
+
end
|
169
|
+
|
170
|
+
root_xml(contents)
|
171
|
+
end
|
172
|
+
|
173
|
+
# Saves the workspace at the given `xcworkspace` path.
|
174
|
+
#
|
175
|
+
# @param [String] path
|
176
|
+
# the path where to save the project.
|
177
|
+
#
|
178
|
+
# @return [void]
|
179
|
+
#
|
180
|
+
def save_as(path)
|
181
|
+
FileUtils.mkdir_p(path)
|
182
|
+
File.open(File.join(path, 'contents.xcworkspacedata'), 'w') do |out|
|
183
|
+
out << to_s
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
#-------------------------------------------------------------------------#
|
188
|
+
|
189
|
+
# Load all schemes from all projects in workspace or in the workspace container itself
|
190
|
+
#
|
191
|
+
# @param [String] workspace_dir_path
|
192
|
+
# path of workspaces dir
|
193
|
+
#
|
194
|
+
# @return [void]
|
195
|
+
#
|
196
|
+
def load_schemes(workspace_dir_path)
|
197
|
+
# Normalizes path to directory of workspace needed for file_reference.absolute_path
|
198
|
+
workspaces_dir = workspace_dir_path
|
199
|
+
if File.extname(workspace_dir_path) == '.xcworkspace'
|
200
|
+
workspaces_dir = File.expand_path('..', workspaces_dir)
|
201
|
+
end
|
202
|
+
|
203
|
+
file_references.each do |file_reference|
|
204
|
+
project_full_path = file_reference.absolute_path(workspaces_dir)
|
205
|
+
load_schemes_from_project(project_full_path)
|
206
|
+
end
|
207
|
+
|
208
|
+
# Load schemes that are in the workspace container.
|
209
|
+
workspace_abs_path = File.absolute_path(workspace_dir_path)
|
210
|
+
Dir[File.join(workspace_dir_path, 'xcshareddata', 'xcschemes', '*.xcscheme')].each do |scheme|
|
211
|
+
scheme_name = File.basename(scheme, '.xcscheme')
|
212
|
+
@schemes[scheme_name] = workspace_abs_path
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
private
|
217
|
+
|
218
|
+
# Load all schemes from project
|
219
|
+
#
|
220
|
+
# @param [String] project_full_path
|
221
|
+
# project full path
|
222
|
+
#
|
223
|
+
# @return [void]
|
224
|
+
#
|
225
|
+
def load_schemes_from_project(project_full_path)
|
226
|
+
schemes = Xcodeproj::Project.schemes project_full_path
|
227
|
+
schemes.each do |scheme_name|
|
228
|
+
@schemes[scheme_name] = project_full_path
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
# @return [String] The template of the workspace XML as formated by Xcode.
|
233
|
+
#
|
234
|
+
# @param [String] contents The XML contents of the workspace.
|
235
|
+
#
|
236
|
+
def root_xml(contents)
|
237
|
+
<<-DOC
|
238
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
239
|
+
<Workspace
|
240
|
+
version = "1.0">
|
241
|
+
#{contents.rstrip}
|
242
|
+
</Workspace>
|
243
|
+
DOC
|
244
|
+
end
|
245
|
+
|
246
|
+
#
|
247
|
+
# @param [Integer] depth The depth of the element in the tree
|
248
|
+
# @param [REXML::Document::Element] elem The XML element to format.
|
249
|
+
#
|
250
|
+
# @return [String] The Xcode-specific XML formatting of an element start
|
251
|
+
#
|
252
|
+
def xcworkspace_element_start_xml(depth, elem)
|
253
|
+
attributes = case elem.name
|
254
|
+
when 'Group'
|
255
|
+
%w(location name)
|
256
|
+
when 'FileRef'
|
257
|
+
%w(location)
|
258
|
+
end
|
259
|
+
contents = "<#{elem.name}"
|
260
|
+
indent = ' ' * depth
|
261
|
+
attributes.each { |name| contents += "\n #{name} = \"#{elem.attribute(name)}\"" }
|
262
|
+
contents.split("\n").map { |line| "#{indent}#{line}" }.join("\n") + ">\n"
|
263
|
+
end
|
264
|
+
|
265
|
+
#
|
266
|
+
# @param [Integer] depth The depth of the element in the tree
|
267
|
+
# @param [REXML::Document::Element] elem The XML element to format.
|
268
|
+
#
|
269
|
+
# @return [String] The Xcode-specific XML formatting of an element end
|
270
|
+
#
|
271
|
+
def xcworkspace_element_end_xml(depth, elem)
|
272
|
+
"#{' ' * depth}</#{elem.name}>\n"
|
273
|
+
end
|
274
|
+
|
275
|
+
#-------------------------------------------------------------------------#
|
276
|
+
end
|
277
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
# Helper class which returns information from xcodebuild.
|
3
|
+
#
|
4
|
+
class XcodebuildHelper
|
5
|
+
def initialize
|
6
|
+
@needs_to_parse_sdks = true
|
7
|
+
end
|
8
|
+
|
9
|
+
# @return [String] The version of the last iOS sdk.
|
10
|
+
#
|
11
|
+
def last_ios_sdk
|
12
|
+
parse_sdks_if_needed
|
13
|
+
versions_by_sdk[:ios].sort.last
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [String] The version of the last OS X sdk.
|
17
|
+
#
|
18
|
+
def last_osx_sdk
|
19
|
+
parse_sdks_if_needed
|
20
|
+
versions_by_sdk[:osx].sort.last
|
21
|
+
end
|
22
|
+
|
23
|
+
# @return [String] The version of the last tvOS sdk.
|
24
|
+
#
|
25
|
+
def last_tvos_sdk
|
26
|
+
parse_sdks_if_needed
|
27
|
+
versions_by_sdk[:tvos].sort.last
|
28
|
+
end
|
29
|
+
|
30
|
+
# @return [String] The version of the last watchOS sdk.
|
31
|
+
#
|
32
|
+
def last_watchos_sdk
|
33
|
+
parse_sdks_if_needed
|
34
|
+
versions_by_sdk[:watchos].sort.last
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
# !@group Private Helpers
|
40
|
+
|
41
|
+
#-------------------------------------------------------------------------#
|
42
|
+
|
43
|
+
# @return [Hash] The versions of the sdks grouped by name (`:ios`, or `:osx`).
|
44
|
+
#
|
45
|
+
attr_accessor :versions_by_sdk
|
46
|
+
|
47
|
+
# @return [void] Parses the SDKs returned by xcodebuild and stores the
|
48
|
+
# information in the `needs_to_parse_sdks` hash.
|
49
|
+
#
|
50
|
+
def parse_sdks_if_needed
|
51
|
+
if @needs_to_parse_sdks
|
52
|
+
@versions_by_sdk = {}
|
53
|
+
@versions_by_sdk[:osx] = []
|
54
|
+
@versions_by_sdk[:ios] = []
|
55
|
+
@versions_by_sdk[:tvos] = []
|
56
|
+
@versions_by_sdk[:watchos] = []
|
57
|
+
if xcodebuild_available?
|
58
|
+
sdks = parse_sdks_information(xcodebuild_sdks)
|
59
|
+
sdks.each do |(name, version)|
|
60
|
+
case
|
61
|
+
when name == 'macosx' then @versions_by_sdk[:osx] << version
|
62
|
+
when name == 'iphoneos' then @versions_by_sdk[:ios] << version
|
63
|
+
when name == 'appletvos' then @versions_by_sdk[:tvos] << version
|
64
|
+
when name == 'watchos' then @versions_by_sdk[:watchos] << version
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# @return [Bool] Whether xcodebuild is available.
|
72
|
+
#
|
73
|
+
def xcodebuild_available?
|
74
|
+
if @xcodebuild_available.nil?
|
75
|
+
`which xcodebuild 2>/dev/null`
|
76
|
+
@xcodebuild_available = $?.exitstatus.zero?
|
77
|
+
end
|
78
|
+
@xcodebuild_available
|
79
|
+
end
|
80
|
+
|
81
|
+
# @return [Array<Array<String>>] An array of tuples where the first element
|
82
|
+
# is the name of the SDK and the second is the version.
|
83
|
+
#
|
84
|
+
def parse_sdks_information(output)
|
85
|
+
output.scan(/-sdk (macosx|iphoneos|watchos|appletvos)(.+\w)/)
|
86
|
+
end
|
87
|
+
|
88
|
+
# @return [String] The sdk information reported by xcodebuild.
|
89
|
+
#
|
90
|
+
def xcodebuild_sdks
|
91
|
+
`xcodebuild -showsdks 2>/dev/null`
|
92
|
+
end
|
93
|
+
|
94
|
+
#-------------------------------------------------------------------------#
|
95
|
+
|
96
|
+
# @!group Singleton
|
97
|
+
|
98
|
+
# @return [XcodebuildHelper] the current xcodebuild instance creating one
|
99
|
+
# if needed, which caches the information from the xcodebuild
|
100
|
+
# command line tool.
|
101
|
+
#
|
102
|
+
def self.instance
|
103
|
+
@instance ||= new
|
104
|
+
end
|
105
|
+
|
106
|
+
#-------------------------------------------------------------------------#
|
107
|
+
end
|
108
|
+
end
|
data/lib/xcodeproj.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
require 'pathname'
|
3
|
+
require 'claide'
|
4
|
+
require 'colored2'
|
5
|
+
|
6
|
+
class PlainInformative < StandardError
|
7
|
+
include CLAide::InformativeError
|
8
|
+
end
|
9
|
+
|
10
|
+
class Informative < PlainInformative
|
11
|
+
def message
|
12
|
+
super !~ /\[!\]/ ? "[!] #{super}\n".red : super
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
require 'xcodeproj/gem_version'
|
17
|
+
require 'xcodeproj/user_interface'
|
18
|
+
|
19
|
+
autoload :Command, 'xcodeproj/command'
|
20
|
+
autoload :Config, 'xcodeproj/config'
|
21
|
+
autoload :Constants, 'xcodeproj/constants'
|
22
|
+
autoload :Differ, 'xcodeproj/differ'
|
23
|
+
autoload :Helper, 'xcodeproj/helper'
|
24
|
+
autoload :Plist, 'xcodeproj/plist'
|
25
|
+
autoload :Project, 'xcodeproj/project'
|
26
|
+
autoload :Workspace, 'xcodeproj/workspace'
|
27
|
+
autoload :XCScheme, 'xcodeproj/scheme'
|
28
|
+
autoload :XcodebuildHelper, 'xcodeproj/xcodebuild_helper'
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: plasmo_xcodeproj
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.21.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Daniel Sinclair
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-04-14 00:00:00.000000000 Z
|
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.3
|
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.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: CFPropertyList
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.3.3
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '4.0'
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.3.3
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '4.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: claide
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.0.2
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '2.0'
|
57
|
+
type: :runtime
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 1.0.2
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '2.0'
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: colored2
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '3.1'
|
74
|
+
type: :runtime
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '3.1'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: nanaimo
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.3.0
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 0.3.0
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: rexml
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 3.2.4
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - "~>"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 3.2.4
|
109
|
+
description: Xcodeproj lets you create and modify Xcode projects from Ruby. Script
|
110
|
+
boring management tasks or build Xcode-friendly libraries. Also includes support
|
111
|
+
for Xcode workspaces (.xcworkspace) and configuration files (.xcconfig).
|
112
|
+
email: d@niel.nyc
|
113
|
+
executables:
|
114
|
+
- xcodeproj
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- LICENSE
|
119
|
+
- README.md
|
120
|
+
- bin/xcodeproj
|
121
|
+
- lib/xcodeproj.rb
|
122
|
+
- lib/xcodeproj/command.rb
|
123
|
+
- lib/xcodeproj/command/config_dump.rb
|
124
|
+
- lib/xcodeproj/command/project_diff.rb
|
125
|
+
- lib/xcodeproj/command/show.rb
|
126
|
+
- lib/xcodeproj/command/sort.rb
|
127
|
+
- lib/xcodeproj/command/target_diff.rb
|
128
|
+
- lib/xcodeproj/config.rb
|
129
|
+
- lib/xcodeproj/config/other_linker_flags_parser.rb
|
130
|
+
- lib/xcodeproj/constants.rb
|
131
|
+
- lib/xcodeproj/differ.rb
|
132
|
+
- lib/xcodeproj/gem_version.rb
|
133
|
+
- lib/xcodeproj/helper.rb
|
134
|
+
- lib/xcodeproj/plist.rb
|
135
|
+
- lib/xcodeproj/project.rb
|
136
|
+
- lib/xcodeproj/project/case_converter.rb
|
137
|
+
- lib/xcodeproj/project/object.rb
|
138
|
+
- lib/xcodeproj/project/object/build_configuration.rb
|
139
|
+
- lib/xcodeproj/project/object/build_file.rb
|
140
|
+
- lib/xcodeproj/project/object/build_phase.rb
|
141
|
+
- lib/xcodeproj/project/object/build_rule.rb
|
142
|
+
- lib/xcodeproj/project/object/configuration_list.rb
|
143
|
+
- lib/xcodeproj/project/object/container_item_proxy.rb
|
144
|
+
- lib/xcodeproj/project/object/file_reference.rb
|
145
|
+
- lib/xcodeproj/project/object/group.rb
|
146
|
+
- lib/xcodeproj/project/object/helpers/build_settings_array_settings_by_object_version.rb
|
147
|
+
- lib/xcodeproj/project/object/helpers/file_references_factory.rb
|
148
|
+
- lib/xcodeproj/project/object/helpers/groupable_helper.rb
|
149
|
+
- lib/xcodeproj/project/object/native_target.rb
|
150
|
+
- lib/xcodeproj/project/object/reference_proxy.rb
|
151
|
+
- lib/xcodeproj/project/object/root_object.rb
|
152
|
+
- lib/xcodeproj/project/object/swift_package_product_dependency.rb
|
153
|
+
- lib/xcodeproj/project/object/swift_package_remote_reference.rb
|
154
|
+
- lib/xcodeproj/project/object/target_dependency.rb
|
155
|
+
- lib/xcodeproj/project/object_attributes.rb
|
156
|
+
- lib/xcodeproj/project/object_dictionary.rb
|
157
|
+
- lib/xcodeproj/project/object_list.rb
|
158
|
+
- lib/xcodeproj/project/project_helper.rb
|
159
|
+
- lib/xcodeproj/project/uuid_generator.rb
|
160
|
+
- lib/xcodeproj/scheme.rb
|
161
|
+
- lib/xcodeproj/scheme/abstract_scheme_action.rb
|
162
|
+
- lib/xcodeproj/scheme/analyze_action.rb
|
163
|
+
- lib/xcodeproj/scheme/archive_action.rb
|
164
|
+
- lib/xcodeproj/scheme/build_action.rb
|
165
|
+
- lib/xcodeproj/scheme/buildable_product_runnable.rb
|
166
|
+
- lib/xcodeproj/scheme/buildable_reference.rb
|
167
|
+
- lib/xcodeproj/scheme/command_line_arguments.rb
|
168
|
+
- lib/xcodeproj/scheme/environment_variables.rb
|
169
|
+
- lib/xcodeproj/scheme/execution_action.rb
|
170
|
+
- lib/xcodeproj/scheme/launch_action.rb
|
171
|
+
- lib/xcodeproj/scheme/location_scenario_reference.rb
|
172
|
+
- lib/xcodeproj/scheme/macro_expansion.rb
|
173
|
+
- lib/xcodeproj/scheme/profile_action.rb
|
174
|
+
- lib/xcodeproj/scheme/remote_runnable.rb
|
175
|
+
- lib/xcodeproj/scheme/send_email_action_content.rb
|
176
|
+
- lib/xcodeproj/scheme/shell_script_action_content.rb
|
177
|
+
- lib/xcodeproj/scheme/test_action.rb
|
178
|
+
- lib/xcodeproj/scheme/xml_element_wrapper.rb
|
179
|
+
- lib/xcodeproj/user_interface.rb
|
180
|
+
- lib/xcodeproj/workspace.rb
|
181
|
+
- lib/xcodeproj/workspace/file_reference.rb
|
182
|
+
- lib/xcodeproj/workspace/group_reference.rb
|
183
|
+
- lib/xcodeproj/workspace/reference.rb
|
184
|
+
- lib/xcodeproj/xcodebuild_helper.rb
|
185
|
+
homepage: https://github.com/DanielSinclair/Xcodeproj
|
186
|
+
licenses:
|
187
|
+
- MIT
|
188
|
+
metadata: {}
|
189
|
+
post_install_message:
|
190
|
+
rdoc_options: []
|
191
|
+
require_paths:
|
192
|
+
- lib
|
193
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
194
|
+
requirements:
|
195
|
+
- - ">="
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: 2.0.0
|
198
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
199
|
+
requirements:
|
200
|
+
- - ">="
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '0'
|
203
|
+
requirements: []
|
204
|
+
rubygems_version: 3.0.3.1
|
205
|
+
signing_key:
|
206
|
+
specification_version: 3
|
207
|
+
summary: Create and modify Xcode projects from Ruby.
|
208
|
+
test_files: []
|