29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
require 'constants'
 | 
						|
require 'file_path_utils'
 | 
						|
 | 
						|
 | 
						|
desc "Build release target."
 | 
						|
task RELEASE_SYM => [:directories] do
 | 
						|
  header = "Release build '#{File.basename(PROJECT_RELEASE_BUILD_TARGET)}'"
 | 
						|
  @ceedling[:streaminator].stdout_puts("\n\n#{header}\n#{'-' * header.length}")  
 | 
						|
  
 | 
						|
  begin
 | 
						|
    @ceedling[:plugin_manager].pre_release
 | 
						|
 | 
						|
    core_objects  = []
 | 
						|
    extra_objects = @ceedling[:file_path_utils].form_release_build_c_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS )
 | 
						|
 | 
						|
    @ceedling[:project_config_manager].process_release_config_change
 | 
						|
    core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_c_objects( COLLECTION_ALL_SOURCE ) )
 | 
						|
  
 | 
						|
    # if assembler use isn't enabled, COLLECTION_ALL_ASSEMBLY is empty array & nothing happens
 | 
						|
    core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_asm_objects( COLLECTION_ALL_ASSEMBLY ) )
 | 
						|
  
 | 
						|
    file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects) )
 | 
						|
    Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke
 | 
						|
  ensure
 | 
						|
    @ceedling[:plugin_manager].post_release  
 | 
						|
  end
 | 
						|
end
 | 
						|
 |