Class: Thermite::Tasks
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Thermite::Tasks
- Includes:
- Cargo, CustomBinary, GithubReleaseBinary, Package, Util
- Defined in:
- lib/thermite/tasks.rb
Overview
Create the following rake tasks:
thermite:buildthermite:cleanthermite:testthermite:tarball
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
The configuration used for the Rake tasks.
-
#options ⇒ Object
readonly
Possible configuration options for Thermite tasks:.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Tasks
constructor
Define the Thermite tasks with the given configuration parameters (see
options).
Methods included from Util
Methods included from Package
#build_package, #unpack_tarball
Methods included from GithubReleaseBinary
#download_binary_from_github_release
Methods included from CustomBinary
#download_binary_from_custom_uri
Methods included from Cargo
#cargo, #cargo_msg, #cargo_recommended_msg, #cargo_required_msg, #inform_user_about_cargo, #run_cargo, #run_cargo_build, #run_cargo_if_exists
Constructor Details
Instance Attribute Details
#config ⇒ Object (readonly)
The configuration used for the Rake tasks.
52 53 54 |
# File 'lib/thermite/tasks.rb', line 52 def config @config end |
#options ⇒ Object (readonly)
Possible configuration options for Thermite tasks:
binary_uri_format- if set, the interpolation-formatted string used to construct the download URI for the pre-built native extension. If the environment variableTHERMITE_BINARY_URI_FORMATis set, it takes precedence over this option. Either method of setting this option overrides thegithub_releasesoption. Example:https://example.com/download/%{version}/%{filename}. Replacement variables:filename- The value of Config#tarball_filenameversion- the crate version from theCargo.tomlfile
cargo_project_path- the path to the Cargo project. Defaults to the current working directory.github_releases- whether to look for rust binaries via GitHub releases when installing the gem, andcargois not found. Defaults tofalse.github_release_type- whengithub_releasesistrue, the mode to use to download the Rust binary from GitHub releases.'cargo'(the default) uses the version inCargo.toml, along with thegit_tag_formatoption (described below) to determine the download URI.'latest'takes the latest release matching thegit_tag_regexoption (described below) to determine the download URI.git_tag_format- whengithub_release_typeis'cargo'(the default), the format string used to determine the tag used in the GitHub download URI. Defaults tov%s, where%sis the version inCargo.toml.git_tag_regex- whengithub_releasesis enabled andgithub_release_typeis'latest', a regular expression (expressed as aString) that determines which tagged releases to look for precompiled Rust tarballs. One group must be specified that indicates the version number to be used in the tarball filename. Defaults tovN.N.N, whereNis any n-digit number. In this case, the group is around the entire expression.optional_rust_extension- prints a warning to STDERR instead of raising an exception, if Cargo is unavailable andgithub_releasesis either disabled or unavailable. Useful for projects where either fallback code exists, or a native extension is desirable but not required. Defaults tofalse.ruby_project_path- the toplevel directory of the Ruby gem's project. Defaults to the current working directory.
These values can be overridden by values with the same key name in the
package.metadata.thermite section of Cargo.toml, if that section exists.
92 93 94 |
# File 'lib/thermite/tasks.rb', line 92 def @options end |