Module: Tebako

Defined in:
lib/tebako.rb,
lib/tebako/cli.rb,
lib/tebako/error.rb,
lib/tebako/codegen.rb,
lib/tebako/version.rb,
lib/tebako/packager.rb,
lib/tebako/stripper.rb,
lib/tebako/cli_helpers.rb,
lib/tebako/ruby_builder.rb,
lib/tebako/ruby_version.rb,
lib/tebako/build_helpers.rb,
lib/tebako/cache_manager.rb,
lib/tebako/deploy_helper.rb,
lib/tebako/packager_lite.rb,
lib/tebako/packager/patch.rb,
lib/tebako/options_manager.rb,
lib/tebako/scenario_manager.rb,
lib/tebako/package_descriptor.rb,
lib/tebako/packager/patch_main.rb,
lib/tebako/packager/pass1_patch.rb,
lib/tebako/packager/pass2_patch.rb,
lib/tebako/packager/pass1a_patch.rb,
lib/tebako/packager/patch_helpers.rb,
lib/tebako/packager/patch_literals.rb,
lib/tebako/packager/rubygems_patch.rb,
lib/tebako/packager/pass2_patch_crt.rb,
lib/tebako/packager/pass2msys_patch.rb,
lib/tebako/packager/patch_libraries.rb,
lib/tebako/packager/patch_buildsystem.rb

Overview

Tebako - an executable packager

Defined Under Namespace

Modules: BuildHelpers, CliHelpers, Codegen, Packager, Stripper Classes: CacheManager, Cli, DeployHelper, Error, OptionsManager, PackageDescriptor, PackagerLite, RubyBuilder, RubyVersion, RubyVersionWithGemfile, ScenarioManager, ScenarioManagerBase, ScenarioManagerWithBundler

Constant Summary collapse

DEFAULT_TEBAFILE =
".tebako.yml"
PACKAGING_ERRORS =
{
  101 => "'tebako setup' configure step failed",
  102 => "'tebako setup' build step failed",
  103 => "'tebako press' configure step failed",
  104 => "'tebako press' build step failed",
  105 => "Failed to map MSys path to Windows",
  106 => "Entry point does not exist or is not accessible",
  107 => "Project root does not exist or is not accessible",
  108 => "Package working directory does not exist",
  109 => "Invalid Ruby version format",
  110 => "Ruby version is not supported",
  111 => "Ruby version is not supported on Windows",
  112 => "OS is not supported",
  113 => "Path to root shall be absolute. Relative path is not allowed",
  114 => "Entry point is not within the project root",
  115 => "Failed to load Gemfile",
  116 => "Ruby version does not satify Gemfile requirements",
  117 => "Failed to load Gemfile.lock",
  118 => "Bundler version in Gemfile.lock does satisfy minimal Tebako version requirememnts",
  119 => "Failed to find compatible bundler version",
  201 => "Warning. Could not create cache version file"
}.freeze
VERSION =
"0.14.0"
BUNDLER_VERSION =

Magic version numbers used to ensure compatibility for Ruby 2.7.x, 3.0.x These are the minimal versions required to provide linux-gnu / linux-musl differentiation by bundler Ruby 3.1+ default rubygems versions work correctly out of the box

"2.4.22"
RUBYGEMS_VERSION =
"3.4.22"

Class Method Summary collapse

Class Method Details

.packaging_error(code, extm = nil) ⇒ Object



54
55
56
57
58
59
# File 'lib/tebako/error.rb', line 54

def packaging_error(code, extm = nil)
  msg = PACKAGING_ERRORS[code]
  msg += ": #{extm}" unless extm.nil?
  msg = "Unknown packaging error" if msg.nil?
  raise Tebako::Error.new msg, code
end