class Vx::Builder::ScriptBuilderV2::Rust

Constants

DEFAULT_RUST

Public Instance Methods

call(env) click to toggle source
# File lib/vx/builder/script_builder_v2/rust.rb, line 9
def call(env)
  if enabled?(env)

    do_cache_key(env) do |i|
      i << "rust-#{rust_version env}"
    end

    env.stage("install").tap do |i|
      i.add_task "vxvm", "rust #{rust_version(env)}"
      i.add_task "shell", "rustc --version"

      do_install(env) do
        i.add_task "shell", "git submodule init"
        i.add_task "shell", "git submodule update"
      end
    end

    do_script(env) do
      env.stage("script").tap do |i|
        i.add_task "shell", "make"
      end
    end
  end

  app.call(env)
end

Private Instance Methods

enabled?(env) click to toggle source
# File lib/vx/builder/script_builder_v2/rust.rb, line 38
def enabled?(env)
  env.source.rust.first || env.source.language == 'rust'
end
rust_version(env) click to toggle source
# File lib/vx/builder/script_builder_v2/rust.rb, line 42
def rust_version(env)
  env.source.rust.first || DEFAULT_RUST
end