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/stitcher.rb,
lib/tebako/stripper.rb,
lib/tebako/cli_helpers.rb,
lib/tebako/launcher_abi.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/runtime_manager.rb,
lib/tebako/scenario_manager.rb,
lib/tebako/bootstrap_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, LauncherAbi, Packager, Stripper Classes: BootstrapManager, CacheCli, CacheManager, Cli, DeployHelper, Error, OptionsManager, PackageDescriptor, PackagerLite, RubyBuilder, RubyVersion, RubyVersionWithGemfile, RuntimeManager, ScenarioManager, ScenarioManagerBase, ScenarioManagerWithBundler, Stitcher

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",
  120 => "No prebuilt tebako runtime package for the requested Ruby/platform combination",
  121 => "SHA256 checksum mismatch for downloaded tebako runtime package",
  122 => "Failed to download tebako runtime package",
  123 => "TEBAKO_OFFLINE is set and the requested tebako runtime package is not cached",
  124 => "Runtime package release carries no usable package index",
  125 => "Timed out waiting for the runtime package cache lock",
  126 => "Invalid stitch specification",
  127 => "Stitch input file is not accessible",
  128 => "Prebuilt runtime press requires the packaging environment (run 'tebako setup' first)",
  130 => "Option combination is not supported",
  131 => "No tebako-bootstrap package for the requested platform",
  132 => "TEBAKO_OFFLINE is set and the requested tebako-bootstrap package is not cached",
  134 => "Fat mode requires a payload-capable tebako-bootstrap release",
  201 => "Warning. Could not create cache version file"
}.freeze
VERSION =
"0.15.9"
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



67
68
69
70
71
72
# File 'lib/tebako/error.rb', line 67

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