Sha256: f349267470114888e12c1fa13013467fc2401dc6d44a21e538270c3b45be57ba

Contents?: true

Size: 1.61 KB

Versions: 2

Compression:

Stored size: 1.61 KB

Contents

# =========================================================================
#   Ceedling - Test-Centered Build System for C
#   ThrowTheSwitch.org
#   Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
#   SPDX-License-Identifier: MIT
# =========================================================================

require 'ceedling/constants'
require 'ceedling/file_path_utils'


desc "Build release target."
task RELEASE_SYM => [:prepare] do
  header = "Release build '#{File.basename( PROJECT_RELEASE_BUILD_TARGET )}'"

  banner = @ceedling[:reportinator].generate_banner( header )

  @ceedling[:loginator].log( banner )
  
  begin
    @ceedling[:plugin_manager].pre_release

    core_objects  = []
    extra_objects = @ceedling[:file_path_utils].form_release_build_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS )

    core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_objects( COLLECTION_RELEASE_BUILD_INPUT ) )
  
    # If we're using libraries, we need to add those to our collection as well
    library_objects = (defined? LIBRARIES_RELEASE && !LIBRARIES_RELEASE.empty?) ? LIBRARIES_RELEASE.flatten.compact : []
    file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects + library_objects) )
    Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke()

  rescue StandardError => ex
    @ceedling[:application].register_build_failure

    @ceedling[:loginator].log( ex.message, Verbosity::ERRORS, LogLabels::EXCEPTION )

    # Debug backtrace (only if debug verbosity)
    @ceedling[:loginator].log_debug_backtrace( ex )
  ensure
    @ceedling[:plugin_manager].post_release  
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ceedling-1.0.1 lib/ceedling/tasks_release.rake
ceedling-1.0.0 lib/ceedling/tasks_release.rake