tasks_release.rake 1.0 KB

12345678910111213141516171819202122232425262728
  1. require 'constants'
  2. require 'file_path_utils'
  3. desc "Build release target."
  4. task RELEASE_SYM => [:directories] do
  5. header = "Release build '#{File.basename(PROJECT_RELEASE_BUILD_TARGET)}'"
  6. @ceedling[:streaminator].stdout_puts("\n\n#{header}\n#{'-' * header.length}")
  7. begin
  8. @ceedling[:plugin_manager].pre_release
  9. core_objects = []
  10. extra_objects = @ceedling[:file_path_utils].form_release_build_c_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS )
  11. @ceedling[:project_config_manager].process_release_config_change
  12. core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_c_objects( COLLECTION_ALL_SOURCE ) )
  13. # if assembler use isn't enabled, COLLECTION_ALL_ASSEMBLY is empty array & nothing happens
  14. core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_asm_objects( COLLECTION_ALL_ASSEMBLY ) )
  15. file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects) )
  16. Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke
  17. ensure
  18. @ceedling[:plugin_manager].post_release
  19. end
  20. end