in libObjCAttr/Resources/ROADConfigurator.rb [11:99]
def self.modify_user_project(installer)
ROADConfigurator::remove_configurator_from_project(installer.pods_project)
ROADConfigurator::remove_generator_from_project(installer.pods_project)
installer.analysis_result.targets.each do |target|
libObjCAttrPod = false
target.pod_targets.each do |pod_target|
if pod_target.pod_name == 'libObjCAttr'
libObjCAttrPod = true
end
end
if !libObjCAttrPod
next
end
if target.user_project_path.exist? && target.user_target_uuids.any?
user_project = Xcodeproj::Project.open(target.user_project_path)
user_project_dir = File.dirname(user_project.path)
user_targets = Array.new
target.user_target_uuids.each do |user_target_uuid|
user_target = get_target_from_project_by_uuid(user_project, user_target_uuid)
if not user_target.nil?
user_targets.push(user_target)
genereted_attributes_path = "#{user_project_dir}/#{user_target.name}/ROADGeneratedAttributes"
generated_attributes_file_path = ROADConfigurator::create_path_for_generated_attributes_file_for_folder_path(genereted_attributes_path)
if !File.exists?(generated_attributes_file_path)
ROADConfigurator::create_generated_attributes_folder_and_file_for_path(genereted_attributes_path, generated_attributes_file_path)
end
gen_attr_absolute_path = Pathname.new(user_project_dir + create_path_for_generated_attributes_file_for_folder_path("/#{user_target.name}/ROADGeneratedAttributes"))
attributes_file_reference = user_project.reference_for_path(gen_attr_absolute_path)
if !attributes_file_reference
attributes_file_reference = user_project.new_file(generated_attributes_file_path)
user_target.source_build_phase.add_file_reference(attributes_file_reference)
else
if !user_target.source_build_phase.include?(attributes_file_reference)
user_target.source_build_phase.add_file_reference(attributes_file_reference)
end
end
end
end
run_script_user = "\"${PODS_ROOT}/libObjCAttr/tools/binaries/ROADAttributesCodeGenerator\""\
" -src=\"${SRCROOT}/${TARGET_NAME}\" -src=\"${PODS_ROOT}\""
if defined? @@config
if @@config['source']
attr_source = @@config['source']
if attr_source.respond_to?("each")
attr_source.each do |attr_source_dir|
run_script_user += " -src=#{attr_source_dir}"
end
else
run_script_user += " -src=#{attr_source}"
end
end
if @@config['define_file']
attr_def_file = @@config['define_file']
if attr_def_file.respond_to?("each")
attr_def_file.each do |attr_def_file_path|
run_script_user += " -def_file=#{attr_def_file_path}"
end
else
run_script_user += " -def_file=#{attr_def_file}"
end
end
if @@config['exclude']
exclude_arg = @@config['exclude']
if exclude_arg.respond_to?("each")
exclude_arg.each do |exclude_pattern|
run_script_user += " -e=#{exclude_pattern}"
end
else
run_script_user += " -e=#{exclude_arg}"
end
end
end
run_script_user += " -dst=\"${SRCROOT}/${TARGET_NAME}/ROADGeneratedAttributes/\""
ROADConfigurator::add_script_to_project_targets(run_script_user, 'libObjCAttr - generate attributes', user_project, user_targets)
end
end
end