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,57 @@
|
|
1
|
+
require 'xcodeproj/scheme/abstract_scheme_action'
|
2
|
+
|
3
|
+
module Xcodeproj
|
4
|
+
class XCScheme
|
5
|
+
# This class wraps the ProfileAction node of a .xcscheme XML file
|
6
|
+
#
|
7
|
+
class ProfileAction < AbstractSchemeAction
|
8
|
+
# @param [REXML::Element] node
|
9
|
+
# The 'ProfileAction' XML node that this object will wrap.
|
10
|
+
# If nil, will create a default XML node to use.
|
11
|
+
#
|
12
|
+
def initialize(node = nil)
|
13
|
+
create_xml_element_with_fallback(node, 'ProfileAction') do
|
14
|
+
# Setup default values for other (handled) attributes
|
15
|
+
self.build_configuration = 'Release'
|
16
|
+
self.should_use_launch_scheme_args_env = true
|
17
|
+
|
18
|
+
# Add some attributes (that are not handled by this wrapper class yet but expected in the XML)
|
19
|
+
@xml_element.attributes['savedToolIdentifier'] = ''
|
20
|
+
@xml_element.attributes['useCustomWorkingDirectory'] = bool_to_string(false)
|
21
|
+
@xml_element.attributes['debugDocumentVersioning'] = bool_to_string(true)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [Bool]
|
26
|
+
# Whether this Profile Action should use the same arguments and environment variables
|
27
|
+
# as the Launch Action.
|
28
|
+
#
|
29
|
+
def should_use_launch_scheme_args_env?
|
30
|
+
string_to_bool(@xml_element.attributes['shouldUseLaunchSchemeArgsEnv'])
|
31
|
+
end
|
32
|
+
|
33
|
+
# @param [Bool] flag
|
34
|
+
# Set Whether this Profile Action should use the same arguments and environment variables
|
35
|
+
# as the Launch Action.
|
36
|
+
#
|
37
|
+
def should_use_launch_scheme_args_env=(flag)
|
38
|
+
@xml_element.attributes['shouldUseLaunchSchemeArgsEnv'] = bool_to_string(flag)
|
39
|
+
end
|
40
|
+
|
41
|
+
# @return [BuildableProductRunnable]
|
42
|
+
# The BuildableProductRunnable to launch when launching the Profile action
|
43
|
+
#
|
44
|
+
def buildable_product_runnable
|
45
|
+
BuildableProductRunnable.new @xml_element.elements['BuildableProductRunnable'], 0
|
46
|
+
end
|
47
|
+
|
48
|
+
# @param [BuildableProductRunnable] runnable
|
49
|
+
# Set the BuildableProductRunnable referencing the target to launch when profiling
|
50
|
+
#
|
51
|
+
def buildable_product_runnable=(runnable)
|
52
|
+
@xml_element.delete_element('BuildableProductRunnable')
|
53
|
+
@xml_element.add_element(runnable.xml_element) if runnable
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
class XCScheme
|
3
|
+
# This class wraps the RemoteRunnable node of a .xcscheme XML file
|
4
|
+
#
|
5
|
+
# A RemoteRunnable is a product that is both buildable
|
6
|
+
# (it contains a BuildableReference) and
|
7
|
+
# runnable remotely (it can be launched and debugged on a remote device, i.e. an Apple Watch)
|
8
|
+
#
|
9
|
+
class RemoteRunnable < XMLElementWrapper
|
10
|
+
# @param [Xcodeproj::Project::Object::AbstractTarget, REXML::Element] target_or_node
|
11
|
+
# Either the Xcode target to reference,
|
12
|
+
# or an existing XML 'RemoteRunnable' node element to reference
|
13
|
+
# or nil to create an new, empty RemoteRunnable
|
14
|
+
#
|
15
|
+
# @param [#to_s] runnable_debugging_mode
|
16
|
+
# The debugging mode (usually '2')
|
17
|
+
#
|
18
|
+
# @param [#to_s] bundle_identifier
|
19
|
+
# The bundle identifier (usually 'com.apple.Carousel')
|
20
|
+
#
|
21
|
+
# @param [#to_s] remote_path
|
22
|
+
# The remote path (not required, unknown usage)
|
23
|
+
#
|
24
|
+
def initialize(target_or_node = nil, runnable_debugging_mode = nil, bundle_identifier = nil, remote_path = nil)
|
25
|
+
create_xml_element_with_fallback(target_or_node, 'RemoteRunnable') do
|
26
|
+
self.buildable_reference = BuildableReference.new(target_or_node) if target_or_node
|
27
|
+
@xml_element.attributes['runnableDebuggingMode'] = runnable_debugging_mode.to_s if runnable_debugging_mode
|
28
|
+
@xml_element.attributes['BundleIdentifier'] = bundle_identifier.to_s if bundle_identifier
|
29
|
+
@xml_element.attributes['RemotePath'] = remote_path.to_s if remote_path
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
# @return [String]
|
34
|
+
# The runnable debugging mode (usually '2')
|
35
|
+
#
|
36
|
+
def runnable_debugging_mode
|
37
|
+
@xml_element.attributes['runnableDebuggingMode']
|
38
|
+
end
|
39
|
+
|
40
|
+
# @param [String] value
|
41
|
+
# Set the runnable debugging mode
|
42
|
+
#
|
43
|
+
def runnable_debugging_mode=(value)
|
44
|
+
@xml_element.attributes['runnableDebuggingMode'] = value.to_s
|
45
|
+
end
|
46
|
+
|
47
|
+
# @return [String]
|
48
|
+
# The runnable bundle identifier (usually 'com.apple.Carousel')
|
49
|
+
#
|
50
|
+
def bundle_identifier
|
51
|
+
@xml_element.attributes['BundleIdentifier']
|
52
|
+
end
|
53
|
+
|
54
|
+
# @param [String] value
|
55
|
+
# Set the runnable bundle identifier
|
56
|
+
#
|
57
|
+
def bundle_identifier=(value)
|
58
|
+
@xml_element.attributes['BundleIdentifier'] = value.to_s
|
59
|
+
end
|
60
|
+
|
61
|
+
# @return [String]
|
62
|
+
# The runnable remote path (not required, unknown usage)
|
63
|
+
#
|
64
|
+
def remote_path
|
65
|
+
@xml_element.attributes['RemotePath']
|
66
|
+
end
|
67
|
+
|
68
|
+
# @param [String] value
|
69
|
+
# Set the runnable remote path
|
70
|
+
#
|
71
|
+
def remote_path=(value)
|
72
|
+
@xml_element.attributes['RemotePath'] = value.to_s
|
73
|
+
end
|
74
|
+
|
75
|
+
# @return [BuildableReference]
|
76
|
+
# The buildable reference this remote runnable is gonna build and run
|
77
|
+
#
|
78
|
+
def buildable_reference
|
79
|
+
@buildable_reference ||= BuildableReference.new @xml_element.elements['BuildableReference']
|
80
|
+
end
|
81
|
+
|
82
|
+
# @param [BuildableReference] ref
|
83
|
+
# Set the buildable reference this remote runnable is gonna build and run
|
84
|
+
#
|
85
|
+
def buildable_reference=(ref)
|
86
|
+
@xml_element.delete_element('BuildableReference')
|
87
|
+
@xml_element.add_element(ref.xml_element)
|
88
|
+
@buildable_reference = ref
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
class XCScheme
|
3
|
+
# This class wraps a 'ActionContent' node of type
|
4
|
+
# 'Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.SendEmailAction' of a .xcscheme XML file
|
5
|
+
#
|
6
|
+
class SendEmailActionContent < XMLElementWrapper
|
7
|
+
# @param [REXML::Element] node
|
8
|
+
# The 'ActionContent' XML node that this object will wrap.
|
9
|
+
# If nil, will create a default XML node to use.
|
10
|
+
#
|
11
|
+
def initialize(node = nil)
|
12
|
+
create_xml_element_with_fallback(node, 'ActionContent') do
|
13
|
+
self.title = 'Send Email'
|
14
|
+
# For some reason this is not visible in Xcode's UI and it's always set to 'NO'
|
15
|
+
# couldn't find much documentation on it so it might be safer to keep it read only
|
16
|
+
@xml_element.attributes['attachLogToEmail'] = 'NO'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [Bool]
|
21
|
+
# Whether or not this action should attach log to email
|
22
|
+
#
|
23
|
+
def attach_log_to_email?
|
24
|
+
string_to_bool(@xml_element.attributes['attachLogToEmail'])
|
25
|
+
end
|
26
|
+
|
27
|
+
# @return [String]
|
28
|
+
# The title of this ActionContent
|
29
|
+
#
|
30
|
+
def title
|
31
|
+
@xml_element.attributes['title']
|
32
|
+
end
|
33
|
+
|
34
|
+
# @param [String] value
|
35
|
+
# Set the title of this ActionContent
|
36
|
+
#
|
37
|
+
def title=(value)
|
38
|
+
@xml_element.attributes['title'] = value
|
39
|
+
end
|
40
|
+
|
41
|
+
# @return [String]
|
42
|
+
# The email recipient of this ActionContent
|
43
|
+
#
|
44
|
+
def email_recipient
|
45
|
+
@xml_element.attributes['emailRecipient']
|
46
|
+
end
|
47
|
+
|
48
|
+
# @param [String] value
|
49
|
+
# Set the email recipient of this ActionContent
|
50
|
+
#
|
51
|
+
def email_recipient=(value)
|
52
|
+
@xml_element.attributes['emailRecipient'] = value
|
53
|
+
end
|
54
|
+
|
55
|
+
# @return [String]
|
56
|
+
# The email subject of this ActionContent
|
57
|
+
#
|
58
|
+
def email_subject
|
59
|
+
@xml_element.attributes['emailSubject']
|
60
|
+
end
|
61
|
+
|
62
|
+
# @param [String] value
|
63
|
+
# Set the email subject of this ActionContent
|
64
|
+
#
|
65
|
+
def email_subject=(value)
|
66
|
+
@xml_element.attributes['emailSubject'] = value
|
67
|
+
end
|
68
|
+
|
69
|
+
# @return [String]
|
70
|
+
# The email body of this ActionContent
|
71
|
+
#
|
72
|
+
def email_body
|
73
|
+
@xml_element.attributes['emailBody']
|
74
|
+
end
|
75
|
+
|
76
|
+
# @param [String] value
|
77
|
+
# Set the email body of this ActionContent
|
78
|
+
#
|
79
|
+
def email_body=(value)
|
80
|
+
@xml_element.attributes['emailBody'] = value
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module Xcodeproj
|
2
|
+
class XCScheme
|
3
|
+
# This class wraps a 'ActionContent' node of type
|
4
|
+
# 'Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction' of a .xcscheme XML file
|
5
|
+
#
|
6
|
+
class ShellScriptActionContent < XMLElementWrapper
|
7
|
+
# @param [REXML::Element] node
|
8
|
+
# The 'ActionContent' XML node that this object will wrap.
|
9
|
+
# If nil, will create a default XML node to use.
|
10
|
+
#
|
11
|
+
def initialize(node = nil)
|
12
|
+
create_xml_element_with_fallback(node, 'ActionContent') do
|
13
|
+
self.title = 'Run Script'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [String]
|
18
|
+
# The title of this ActionContent
|
19
|
+
#
|
20
|
+
def title
|
21
|
+
@xml_element.attributes['title']
|
22
|
+
end
|
23
|
+
|
24
|
+
# @param [String] value
|
25
|
+
# Set the title of this ActionContent
|
26
|
+
#
|
27
|
+
def title=(value)
|
28
|
+
@xml_element.attributes['title'] = value
|
29
|
+
end
|
30
|
+
|
31
|
+
# @return [String]
|
32
|
+
# The contents of the shell script represented by this ActionContent
|
33
|
+
#
|
34
|
+
def script_text
|
35
|
+
@xml_element.attributes['scriptText']
|
36
|
+
end
|
37
|
+
|
38
|
+
# @param [String] value
|
39
|
+
# Set the contents of the shell script represented by this ActionContent
|
40
|
+
#
|
41
|
+
def script_text=(value)
|
42
|
+
@xml_element.attributes['scriptText'] = value
|
43
|
+
end
|
44
|
+
|
45
|
+
# @return [String]
|
46
|
+
# The preferred shell to invoke with this ActionContent
|
47
|
+
#
|
48
|
+
def shell_to_invoke
|
49
|
+
@xml_element.attributes['shellToInvoke']
|
50
|
+
end
|
51
|
+
|
52
|
+
# @param [String] value
|
53
|
+
# Set the preferred shell to invoke with this ActionContent
|
54
|
+
#
|
55
|
+
def shell_to_invoke=(value)
|
56
|
+
@xml_element.attributes['shellToInvoke'] = value
|
57
|
+
end
|
58
|
+
|
59
|
+
# @return [BuildableReference]
|
60
|
+
# The BuildableReference (Xcode target) associated with this ActionContent
|
61
|
+
#
|
62
|
+
def buildable_reference
|
63
|
+
BuildableReference.new(@xml_element.elements['EnvironmentBuildable'].elements['BuildableReference'])
|
64
|
+
end
|
65
|
+
|
66
|
+
# @param [BuildableReference] ref
|
67
|
+
# Set the BuildableReference (Xcode target) associated with this ActionContent
|
68
|
+
#
|
69
|
+
def buildable_reference=(ref)
|
70
|
+
@xml_element.delete_element('EnvironmentBuildable')
|
71
|
+
|
72
|
+
env_buildable = @xml_element.add_element('EnvironmentBuildable')
|
73
|
+
env_buildable.add_element(ref.xml_element)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|