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.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +19 -0
  3. data/README.md +95 -0
  4. data/bin/xcodeproj +10 -0
  5. data/lib/xcodeproj/command/config_dump.rb +91 -0
  6. data/lib/xcodeproj/command/project_diff.rb +56 -0
  7. data/lib/xcodeproj/command/show.rb +60 -0
  8. data/lib/xcodeproj/command/sort.rb +44 -0
  9. data/lib/xcodeproj/command/target_diff.rb +43 -0
  10. data/lib/xcodeproj/command.rb +63 -0
  11. data/lib/xcodeproj/config/other_linker_flags_parser.rb +73 -0
  12. data/lib/xcodeproj/config.rb +386 -0
  13. data/lib/xcodeproj/constants.rb +465 -0
  14. data/lib/xcodeproj/differ.rb +239 -0
  15. data/lib/xcodeproj/gem_version.rb +5 -0
  16. data/lib/xcodeproj/helper.rb +30 -0
  17. data/lib/xcodeproj/plist.rb +94 -0
  18. data/lib/xcodeproj/project/case_converter.rb +90 -0
  19. data/lib/xcodeproj/project/object/build_configuration.rb +255 -0
  20. data/lib/xcodeproj/project/object/build_file.rb +84 -0
  21. data/lib/xcodeproj/project/object/build_phase.rb +369 -0
  22. data/lib/xcodeproj/project/object/build_rule.rb +109 -0
  23. data/lib/xcodeproj/project/object/configuration_list.rb +117 -0
  24. data/lib/xcodeproj/project/object/container_item_proxy.rb +116 -0
  25. data/lib/xcodeproj/project/object/file_reference.rb +338 -0
  26. data/lib/xcodeproj/project/object/group.rb +506 -0
  27. data/lib/xcodeproj/project/object/helpers/build_settings_array_settings_by_object_version.rb +72 -0
  28. data/lib/xcodeproj/project/object/helpers/file_references_factory.rb +245 -0
  29. data/lib/xcodeproj/project/object/helpers/groupable_helper.rb +260 -0
  30. data/lib/xcodeproj/project/object/native_target.rb +751 -0
  31. data/lib/xcodeproj/project/object/reference_proxy.rb +86 -0
  32. data/lib/xcodeproj/project/object/root_object.rb +100 -0
  33. data/lib/xcodeproj/project/object/swift_package_product_dependency.rb +29 -0
  34. data/lib/xcodeproj/project/object/swift_package_remote_reference.rb +33 -0
  35. data/lib/xcodeproj/project/object/target_dependency.rb +94 -0
  36. data/lib/xcodeproj/project/object.rb +534 -0
  37. data/lib/xcodeproj/project/object_attributes.rb +522 -0
  38. data/lib/xcodeproj/project/object_dictionary.rb +210 -0
  39. data/lib/xcodeproj/project/object_list.rb +223 -0
  40. data/lib/xcodeproj/project/project_helper.rb +341 -0
  41. data/lib/xcodeproj/project/uuid_generator.rb +132 -0
  42. data/lib/xcodeproj/project.rb +874 -0
  43. data/lib/xcodeproj/scheme/abstract_scheme_action.rb +100 -0
  44. data/lib/xcodeproj/scheme/analyze_action.rb +19 -0
  45. data/lib/xcodeproj/scheme/archive_action.rb +59 -0
  46. data/lib/xcodeproj/scheme/build_action.rb +298 -0
  47. data/lib/xcodeproj/scheme/buildable_product_runnable.rb +55 -0
  48. data/lib/xcodeproj/scheme/buildable_reference.rb +129 -0
  49. data/lib/xcodeproj/scheme/command_line_arguments.rb +162 -0
  50. data/lib/xcodeproj/scheme/environment_variables.rb +170 -0
  51. data/lib/xcodeproj/scheme/execution_action.rb +86 -0
  52. data/lib/xcodeproj/scheme/launch_action.rb +179 -0
  53. data/lib/xcodeproj/scheme/location_scenario_reference.rb +49 -0
  54. data/lib/xcodeproj/scheme/macro_expansion.rb +34 -0
  55. data/lib/xcodeproj/scheme/profile_action.rb +57 -0
  56. data/lib/xcodeproj/scheme/remote_runnable.rb +92 -0
  57. data/lib/xcodeproj/scheme/send_email_action_content.rb +84 -0
  58. data/lib/xcodeproj/scheme/shell_script_action_content.rb +77 -0
  59. data/lib/xcodeproj/scheme/test_action.rb +394 -0
  60. data/lib/xcodeproj/scheme/xml_element_wrapper.rb +82 -0
  61. data/lib/xcodeproj/scheme.rb +375 -0
  62. data/lib/xcodeproj/user_interface.rb +22 -0
  63. data/lib/xcodeproj/workspace/file_reference.rb +79 -0
  64. data/lib/xcodeproj/workspace/group_reference.rb +67 -0
  65. data/lib/xcodeproj/workspace/reference.rb +40 -0
  66. data/lib/xcodeproj/workspace.rb +277 -0
  67. data/lib/xcodeproj/xcodebuild_helper.rb +108 -0
  68. data/lib/xcodeproj.rb +29 -0
  69. 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