Class: Xcake::TargetBuildPhaseGenerator
- Inherits:
-
Generator
show all
- Defined in:
- lib/xcake/generator/target_build_phase_generator.rb
Overview
This generator generates the build phases for each target
in the project
Instance Attribute Summary
Attributes inherited from Generator
#context
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Generator
#initialize, plugins_location
Methods included from Visitor
#item_name, #leave, #visit
Methods included from Plugin
included
Methods included from Dependency
included
Class Method Details
.dependencies ⇒ Object
6
7
8
|
# File 'lib/xcake/generator/target_build_phase_generator.rb', line 6
def self.dependencies
[TargetGenerator, TargetDependencyGenerator]
end
|
Instance Method Details
#create_embed_watchapp_extension_phase(native_target, native_watchapp_extension_target) ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/xcake/generator/target_build_phase_generator.rb', line 45
def create_embed_watchapp_extension_phase(native_target, native_watchapp_extension_target)
EventHooks.run_hook :before_adding_embed_watch_extension_phase
product_reference = native_watchapp_extension_target.product_reference
phase = native_target.new_copy_files_build_phase('Embed App Extensions')
phase.symbol_dst_subfolder_spec = :plug_ins
phase.add_file_reference(product_reference, true)
phase
end
|
#create_embed_watchapp_phase(native_target, native_watchapp_target) ⇒ Object
35
36
37
38
39
40
41
42
43
|
# File 'lib/xcake/generator/target_build_phase_generator.rb', line 35
def create_embed_watchapp_phase(native_target, native_watchapp_target)
EventHooks.run_hook :before_adding_embed_watch_app_phase
phase = native_target.new_copy_files_build_phase('Embed Watch Content')
phase.dst_path = '$(CONTENTS_FOLDER_PATH)/Watch'
phase.symbol_dst_subfolder_spec = :products_directory
phase.add_file_reference(native_watchapp_target.product_reference, true)
phase
end
|
#visit_target(target) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/xcake/generator/target_build_phase_generator.rb', line 10
def visit_target(target)
EventHooks.run_hook :before_adding_build_phases, target
native_target = @context.native_object_for(target)
target.build_phases.each do |phase|
EventHooks.run_hook :before_adding_custom_build_phase, phase, target
native_build_phase = @context.native_object_for(phase)
phase.configure_native_build_phase(native_build_phase, @context)
native_target.build_phases << native_build_phase
end
target.target_dependencies.each do |dep|
native_dep = @context.native_object_for(dep)
case dep.type
when :watch2_app
create_embed_watchapp_phase(native_target, native_dep)
when :watch2_extension
create_embed_watchapp_extension_phase(native_target, native_dep)
end
end
end
|