[go: up one dir, main page]

pub struct BuildCommand {
    pub path: Option<String>,
    pub use_orig_asm: bool,
    pub print_finalized_asm: bool,
    pub print_intermediate_asm: bool,
    pub print_ir: bool,
    pub binary_outfile: Option<String>,
    pub debug_outfile: Option<String>,
    pub offline_mode: bool,
    pub silent_mode: bool,
    pub output_directory: Option<String>,
    pub minify_json_abi: bool,
    pub locked: bool,
}
Expand description

Compile the current or target project.

The output produced will depend on the project’s program type. Building script, predicate and contract projects will produce their bytecode in binary format <project-name>.bin. Building contracts and libraries will also produce the public ABI in JSON format <project-name>-abi.json.

Fields

path: Option<String>

Path to the project, if not specified, current working directory will be used.

use_orig_asm: bool

Whether to compile using the original (pre- IR) pipeline.

print_finalized_asm: bool

Whether to compile to bytecode (false) or to print out the generated ASM (true).

print_intermediate_asm: bool

Whether to compile to bytecode (false) or to print out the generated ASM (true).

print_ir: bool

Whether to compile to bytecode (false) or to print out the generated IR (true).

binary_outfile: Option<String>

If set, outputs a binary file representing the script bytes.

debug_outfile: Option<String>

If set, outputs source file mapping in JSON format

offline_mode: bool

Offline mode, prevents Forc from using the network when managing dependencies. Meaning it will only try to use previously downloaded dependencies.

silent_mode: bool

Silent mode. Don’t output any warnings or errors to the command line.

output_directory: Option<String>

The directory in which the sway compiler output artifacts are placed.

By default, this is <project-root>/out.

minify_json_abi: bool

By default the JSON for ABIs is formatted for human readability. By using this option JSON output will be “minified”, i.e. all on one line without whitespace.

locked: bool

Requires that the Forc.lock file is up-to-date. If the lock file is missing, or it needs to be updated, Forc will exit with an error

Trait Implementations

Append to Command so it can instantiate Self. Read more

Append to Command so it can update self. Read more

👎 Deprecated since 3.1.0:

Replaced with `CommandFactory::command

Deprecated, replaced with CommandFactory::command

👎 Deprecated since 3.1.0:

Replaced with `CommandFactory::command_for_update

Deprecated, replaced with CommandFactory::command_for_update

Build a Command that can instantiate Self. Read more

Build a Command that can update self. Read more

Formats the value using the given formatter. Read more

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

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more

Assign values from ArgMatches to self.

Parse from std::env::args_os(), exit on error

Parse from std::env::args_os(), return Err on error.

Parse from iterator, exit on error

Parse from iterator, return Err on error.

Update from iterator, exit on error

Update from iterator, return Err on error.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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

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

Calls U::from(self).

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

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more