Skip to main content

ToolCache

Struct ToolCache 

Source
pub struct ToolCache { /* private fields */ }
Expand description

Tool Cache

Implementations§

Source§

impl ToolCache

Source

pub async fn extract_archive( &self, archive: &PathBuf, output: &PathBuf, ) -> Result<(), ToolCacheError>

Extract an archive

Source§

impl ToolCache

Source

pub fn new() -> Self

Create a new Tool Cache

This will either use the RUNNER_TOOL_CACHE environment variable or it will try to find the tool cache in the default locations.

There are 3 default locations:

  • /opt/hostedtoolcache (Unix)
  • /usr/local/share/toolcache (Unix)
  • /tmp/toolcache (Unix)
  • C:\\hostedtoolcache (Windows)
  • C:\\Program Files\\toolcache (Windows)
  • C:\\tmp\\toolcache (Windows)

If no locations are found or writeable, it will create a new tool cache in the current directory at ./.toolcache.

Source

pub fn build() -> ToolCacheBuilder

Create a new ToolCacheBuilder

Source

pub fn platform(&self) -> ToolPlatform

Get the platform for the tool cache

By default this is set to the current platform of the system. You can override this by using the platform method on the ToolCacheBuilder.

Source

pub fn arch(&self) -> ToolCacheArch

Get the architecture for the tool cache

By default this is set to the current architecture of the system. You can override this by using the arch method on the ToolCacheBuilder.

Source

pub fn get_tool_cache(&self) -> &PathBuf

Get the Tool Cache Path

This is either set by the RUNNER_TOOL_CACHE environment variable or it is one of the default locations.

Source

pub async fn find( &self, tool: impl Into<String>, version: impl Into<String>, ) -> Result<Tool, ToolCacheError>

Find a tool in the cache

Source

pub async fn find_all_version( &self, tool: impl Into<String>, ) -> Result<Vec<Tool>, ToolCacheError>

Find all versions of a tool in the cache

Source

pub async fn find_with_arch( &self, tool: impl Into<String>, version: impl Into<String>, arch: impl Into<ToolCacheArch>, ) -> Result<Tool, ToolCacheError>

Find a tool in the cache with a specific architecture

Source

pub fn new_tool_path( &self, tool: impl Into<String>, version: impl Into<String>, ) -> PathBuf

Create a path for the tool in the cache to be used

Source

pub fn set_retry_count(&mut self, count: u8)

👎Deprecated since 0.17.0: Use the ToolCacheBuilder instead

Set the number of times to retry a download (default is 10)

Trait Implementations§

Source§

impl Clone for ToolCache

Source§

fn clone(&self) -> ToolCache

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ToolCache

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ToolCache

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl From<&str> for ToolCache

Source§

fn from(cache: &str) -> Self

Converts to this type from the input type.
Source§

impl From<PathBuf> for ToolCache

Source§

fn from(value: PathBuf) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.