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ยง
- Adapter
Client ๐ - Adapter
Process ๐ - Cache
Entry ๐ - Compile
Result ๐ - Compiler
Identity ๐ - Discover
Result ๐ - Discovered
Unit ๐ - External
Artifact ๐ - External
Compilation ๐ - External artifacts and the unit inventory used to publish them.
- External
Diagnostic ๐ - Initialize
Result ๐ - Pending
Cache ๐ - Protocol
Error ๐ - 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 ๐