Struct pyoxidizerlib::starlark::env::PyOxidizerEnvironmentContext[][src]

pub struct PyOxidizerEnvironmentContext {
    pub verbose: bool,
    pub cwd: PathBuf,
    pub config_path: PathBuf,
    pub build_host_triple: String,
    pub build_target_triple: String,
    pub build_release: bool,
    pub build_opt_level: String,
    pub distribution_cache: Arc<DistributionCache>,
    // some fields omitted
}

Holds state for evaluating a Starlark config file.

Fields

verbose: bool

Whether executing in verbose mode.

cwd: PathBuf

Directory the environment should be evaluated from.

Typically used to resolve filenames.

config_path: PathBuf

Path to the configuration file.

build_host_triple: String

Host triple we are building from.

build_target_triple: String

Target triple we are building for.

build_release: bool

Whether we are building a debug or release binary.

build_opt_level: String

Optimization level when building binaries.

distribution_cache: Arc<DistributionCache>

Cache of ready-to-clone Python distribution objects.

This exists because constructing a new instance can take a few seconds in debug builds. And this adds up, especially in tests!

Implementations

impl PyOxidizerEnvironmentContext[src]

pub fn new(
    env: &Environment,
    logger: Logger,
    verbose: bool,
    config_path: &Path,
    build_host_triple: &str,
    build_target_triple: &str,
    build_release: bool,
    build_opt_level: &str,
    distribution_cache: Option<Arc<DistributionCache>>,
    extra_vars: HashMap<String, Option<String>>
) -> Result<PyOxidizerEnvironmentContext>
[src]

pub fn env(&self) -> &Environment[src]

pub fn logger(&self) -> &Logger[src]

pub fn build_path(
    &self,
    type_values: &TypeValues
) -> Result<PathBuf, ValueError>
[src]

pub fn python_distributions_path(&self) -> Result<PathBuf, ValueError>[src]

pub fn get_output_path(
    &self,
    type_values: &TypeValues,
    target: &str
) -> Result<PathBuf, ValueError>
[src]

Trait Implementations

impl Debug for PyOxidizerEnvironmentContext[src]

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

Formats the value using the given formatter. Read more

impl TypedValue for PyOxidizerEnvironmentContext[src]

type Holder = Mutable<PyOxidizerEnvironmentContext>

Must be either MutableHolder<Self> or ImmutableHolder<Self>

const TYPE: &'static str[src]

Return a string describing the type of self, as returned by the type() function.

fn values_for_descendant_check_and_freeze(
    &self
) -> Box<dyn Iterator<Item = Value>>
[src]

Return a list of values to be used in freeze or descendant check operations. Read more

fn function_id(&self) -> Option<FunctionId>[src]

Return function id to detect recursion. Read more

fn to_str(&self) -> String[src]

Return a string describing of self, as returned by the str() function.

fn to_str_impl(&self, buf: &mut String) -> Result<(), Error>[src]

The implementation of to_str, more efficient for nested objects

fn to_repr(&self) -> String[src]

Return a string representation of self, as returned by the repr() function.

fn to_repr_impl(&self, buf: &mut String) -> Result<(), Error>[src]

The implementation of to_repr, more efficient for nested objects

fn to_bool(&self) -> bool[src]

Convert self to a Boolean truth value, as returned by the bool() function.

fn to_int(&self) -> Result<i64, ValueError>[src]

Convert self to a integer value, as returned by the int() function if the type is numeric (not for string). Read more

fn get_hash(&self) -> Result<u64, ValueError>[src]

Return a hash code for self, as returned by the hash() function, or OperationNotSupported if there is no hash for this value (e.g. list). Read more

fn equals(&self, other: &Self) -> Result<bool, ValueError>[src]

Compare self with other for equality. Read more

fn compare(&self, _other: &Self) -> Result<Ordering, ValueError>[src]

Compare self with other. Read more

fn call(
    &self,
    _call_stack: &mut CallStack,
    _type_values: &TypeValues,
    _positional: Vec<Value, Global>,
    _named: LinkedHashMap<RcString, Value, RandomState>,
    _args: Option<Value>,
    _kwargs: Option<Value>
) -> Result<Value, ValueError>
[src]

Perform a call on the object, only meaningfull for function object. Read more

fn at(&self, index: Value) -> Result<Value, ValueError>[src]

Perform an array or dictionary indirection. Read more

fn set_at(&mut self, index: Value, _new_value: Value) -> Result<(), ValueError>[src]

Set the value at index with new_value. Read more

fn slice(
    &self,
    _start: Option<Value>,
    _stop: Option<Value>,
    _stride: Option<Value>
) -> Result<Value, ValueError>
[src]

Extract a slice of the underlying object if the object is indexable. The result will be object between start and stop (both of them are added length() if negative and then clamped between 0 and length()). stride indicates the direction. Read more

fn iter(&self) -> Result<&(dyn TypedIterable + 'static), ValueError>[src]

Returns an iterable over the value of this container if this value hold an iterable container. Read more

fn length(&self) -> Result<i64, ValueError>[src]

Returns the length of the value, if this value is a sequence.

fn get_attr(&self, attribute: &str) -> Result<Value, ValueError>[src]

Get an attribute for the current value as would be returned by dotted expression (i.e. a.attribute). Read more

fn has_attr(&self, _attribute: &str) -> Result<bool, ValueError>[src]

Return true if an attribute of name attribute exists for the current value. Read more

fn set_attr(
    &mut self,
    attribute: &str,
    _new_value: Value
) -> Result<(), ValueError>
[src]

Set the attribute named attribute of the current value to new_value (e.g. a.attribute = new_value). Read more

fn dir_attr(&self) -> Result<Vec<RcString, Global>, ValueError>[src]

Return a vector of string listing all attribute of the current value, excluding native methods. Read more

fn contains(&self, other: &Value) -> Result<bool, ValueError>[src]

Tell wether other is in the current value, if it is a container. Read more

fn plus(&self) -> Result<Self, ValueError>[src]

Apply the + unary operator to the current value. Read more

fn minus(&self) -> Result<Self, ValueError>[src]

Apply the - unary operator to the current value. Read more

fn add(&self, _other: &Self) -> Result<Self, ValueError>[src]

Add other to the current value. Read more

fn sub(&self, _other: &Self) -> Result<Self, ValueError>[src]

Substract other from the current value. Read more

fn mul(&self, other: Value) -> Result<Value, ValueError>[src]

Multiply the current value with other. Read more

fn percent(&self, other: Value) -> Result<Value, ValueError>[src]

Apply the percent operator between the current value and other. Read more

fn div(&self, other: Value) -> Result<Value, ValueError>[src]

Divide the current value with other. division. Read more

fn floor_div(&self, other: Value) -> Result<Value, ValueError>[src]

Floor division between the current value and other. Read more

fn pipe(&self, other: Value) -> Result<Value, ValueError>[src]

Apply the operator pipe to the current value and other. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

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

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

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

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]