Skip to main content

Module external_compiler

Module external_compiler 

Source
Expand description

External compiler adapter protocol and process transport.

Re-exportsยง

use crate::fs::canonicalize_path; ๐Ÿ”’
use alloy_primitives::hex; ๐Ÿ”’
use alloy_primitives::hex; ๐Ÿ”’
use eyre::Context; ๐Ÿ”’
use eyre::ContextCompat; ๐Ÿ”’
use eyre::Result; ๐Ÿ”’
use eyre::bail; ๐Ÿ”’
use eyre::ensure; ๐Ÿ”’
use foundry_compilers::ArtifactFile; ๐Ÿ”’
use foundry_compilers::ArtifactOutput; ๐Ÿ”’
use foundry_compilers::Artifacts; ๐Ÿ”’
use foundry_compilers::ConfigurableArtifacts; ๐Ÿ”’
use foundry_compilers::ProjectCompileOutput; ๐Ÿ”’
use foundry_compilers::artifacts::ConfigurableContractArtifact; ๐Ÿ”’
use foundry_compilers::artifacts::Severity; ๐Ÿ”’
use foundry_compilers::artifacts::contract::Contract; ๐Ÿ”’
use foundry_compilers::compilers::Compiler; ๐Ÿ”’
use foundry_compilers::compilers::Language; ๐Ÿ”’
use foundry_compilers::compilers::multi::MultiCompilerLanguage; ๐Ÿ”’
use foundry_compilers::contracts::VersionedContract; ๐Ÿ”’
use foundry_compilers::contracts::VersionedContracts; ๐Ÿ”’
use foundry_config::Config; ๐Ÿ”’
use foundry_config::DenyLevel; ๐Ÿ”’
use foundry_config::ExternalCompiler; ๐Ÿ”’
use semver::Version; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use serde::Serialize; ๐Ÿ”’
use serde::Serialize; ๐Ÿ”’
use serde::de::DeserializeOwned; ๐Ÿ”’
use serde_json::Value; ๐Ÿ”’
use serde_json::json; ๐Ÿ”’
use sha2::Digest; ๐Ÿ”’
use sha2::Sha256; ๐Ÿ”’
use std::collections::BTreeMap; ๐Ÿ”’
use std::collections::BTreeSet; ๐Ÿ”’
use std::ffi::OsStr; ๐Ÿ”’
use std::fs; ๐Ÿ”’
use std::fs::File; ๐Ÿ”’
use std::io::BufRead; ๐Ÿ”’
use std::io::BufReader; ๐Ÿ”’
use std::io::Read; ๐Ÿ”’
use std::io::Write; ๐Ÿ”’
use std::path::Component; ๐Ÿ”’
use std::path::Path; ๐Ÿ”’
use std::path::PathBuf; ๐Ÿ”’
use std::process::Child; ๐Ÿ”’
use std::process::ChildStdin; ๐Ÿ”’
use std::process::ChildStdout; ๐Ÿ”’
use std::process::Command; ๐Ÿ”’
use std::process::Stdio; ๐Ÿ”’
use std::thread::JoinHandle; ๐Ÿ”’

Structsยง

AdapterClient ๐Ÿ”’
AdapterProcess ๐Ÿ”’
CacheEntry ๐Ÿ”’
CompileResult ๐Ÿ”’
CompilerIdentity ๐Ÿ”’
DiscoverResult ๐Ÿ”’
DiscoveredUnit ๐Ÿ”’
ExternalArtifact ๐Ÿ”’
ExternalCompilation ๐Ÿ”’
External artifacts and the unit inventory used to publish them.
ExternalDiagnostic ๐Ÿ”’
InitializeResult ๐Ÿ”’
PendingCache ๐Ÿ”’
ProtocolError ๐Ÿ”’
Request ๐Ÿ”’
Response ๐Ÿ”’

Constantsยง

EXTERNAL_ARTIFACT_DIR ๐Ÿ”’
EXTERNAL_CACHE_DIR ๐Ÿ”’
MAX_PROTOCOL_LINE_BYTES ๐Ÿ”’
PROTOCOL_VERSION ๐Ÿ”’

Functionsยง

emit_diagnostics ๐Ÿ”’
ensure_portable_child ๐Ÿ”’
external_artifact_is_test_eligible
Returns whether an artifact can be selected as a Forge test contract.
hash_part ๐Ÿ”’
is_builtin_compiler_source
Returns whether a path belongs to a compiler built into Foundry.
is_external_artifact
Returns whether an artifact was produced by an external compiler adapter.
normalize_root_path ๐Ÿ”’
read_cache ๐Ÿ”’
resolve_file ๐Ÿ”’
retire_children ๐Ÿ”’
storage_entries ๐Ÿ”’
validate_id ๐Ÿ”’
validate_relative_path ๐Ÿ”’
write_cache ๐Ÿ”’