Struct forc::cli::BuildCommand
source · [−]pub struct BuildCommand {Show 16 fields
pub path: Option<String>,
pub print_ast: 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 minify_json_storage_slots: bool,
pub locked: bool,
pub build_profile: Option<String>,
pub release: bool,
pub time_phases: bool,
}Expand description
Compile the current or target project.
The output produced will depend on the project’s program type.
-
script,predicateandcontractprojects will produce their bytecode in binary format<project-name>.bin. -
scriptprojects will also produce a file containing the hash of the bytecode binary<project-name>-bin-hash(usingfuel_cypto::Hasher). -
predicateprojects will also produce a file containing the root hash of the bytecode binary<project-name>-bin-root(usingfuel_tx::Contract::root_from_code). -
contractandlibraryprojects 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.
print_ast: boolPrint the generated Sway AST (Abstract Syntax Tree).
print_finalized_asm: boolPrint the finalized ASM.
This is the state of the ASM with registers allocated and optimisations applied.
print_intermediate_asm: boolPrint the generated ASM.
This is the state of the ASM prior to performing register allocation and other ASM optimisations.
print_ir: boolPrint the generated Sway IR (Intermediate Representation).
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: boolOffline mode, prevents Forc from using the network when managing dependencies. Meaning it will only try to use previously downloaded dependencies.
silent_mode: boolSilent 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: boolBy 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.
minify_json_storage_slots: boolBy default the JSON for initial storage slots is formatted for human readability. By using this option JSON output will be “minified”, i.e. all on one line without whitespace.
locked: boolRequires 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
build_profile: Option<String>Name of the build profile to use. If it is not specified, forc will use debug build profile.
release: boolUse release build plan. If a custom release plan is not specified, it is implicitly added to the manifest file.
If –build-profile is also provided, forc omits this flag and uses provided build-profile.
time_phases: boolOutput the time elapsed over each part of the compilation process.
Trait Implementations
sourceimpl CommandFactory for Command
impl CommandFactory for Command
sourcefn into_app_for_update<'b>() -> Command<'b>
fn into_app_for_update<'b>() -> Command<'b>
Deprecated, replaced with CommandFactory::command_for_update
sourcefn command_for_update<'help>() -> App<'help>
fn command_for_update<'help>() -> App<'help>
sourceimpl FromArgMatches for Command
impl FromArgMatches for Command
sourcefn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
sourcefn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches
) -> Result<Self, Error>
fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches
) -> Result<Self, Error>
Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
sourcefn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches
) -> Result<(), Error>
Assign values from ArgMatches to self.
sourcefn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches
) -> Result<(), Error>
Assign values from ArgMatches to self.
sourceimpl Parser for Command
impl Parser for Command
sourcefn parse_from<I, T>(itr: I) -> Self where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn parse_from<I, T>(itr: I) -> Self where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
Parse from iterator, exit on error
sourcefn try_parse_from<I, T>(itr: I) -> Result<Self, Error> where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error> where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
Parse from iterator, return Err on error.
sourcefn update_from<I, T>(&mut self, itr: I) where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn update_from<I, T>(&mut self, itr: I) where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
Update from iterator, exit on error
sourcefn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error> where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error> where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
Update from iterator, return Err on error.
Auto Trait Implementations
impl RefUnwindSafe for Command
impl Send for Command
impl Sync for Command
impl Unpin for Command
impl UnwindSafe for Command
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> FlattenInto<U> for T where
U: FlattenFrom<T>,
impl<T, U> FlattenInto<U> for T where
U: FlattenFrom<T>,
fn flatten_into(self) -> U
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more