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
 | |
| 
 | 
