From d3b8d154ef135421c699f3ba8668a2ccbf2d3c26 Mon Sep 17 00:00:00 2001 From: Krishang Shah <93703995+kamuik16@users.noreply.github.com> Date: Tue, 12 Mar 2024 17:47:56 +0530 Subject: [PATCH] fix: compile contracts before generating docs (#7369) * fix: compile before doc * run forge compile silently --------- Co-authored-by: Matthias Seitz --- crates/forge/bin/cmd/doc/mod.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/forge/bin/cmd/doc/mod.rs b/crates/forge/bin/cmd/doc/mod.rs index d594a0e566f6..30de31e5a203 100644 --- a/crates/forge/bin/cmd/doc/mod.rs +++ b/crates/forge/bin/cmd/doc/mod.rs @@ -4,6 +4,7 @@ use forge_doc::{ ContractInheritance, Deployments, DocBuilder, GitSource, InferInlineHyperlinks, Inheritdoc, }; use foundry_cli::opts::GH_REPO_PREFIX_REGEX; +use foundry_common::compile::ProjectCompiler; use foundry_config::{find_project_root_path, load_config_with_root}; use std::{path::PathBuf, process::Command}; @@ -64,6 +65,9 @@ impl DocArgs { pub fn run(self) -> Result<()> { let root = self.root.clone().unwrap_or(find_project_root_path(None)?); let config = load_config_with_root(Some(root.clone())); + let project = config.project()?; + let compiler = ProjectCompiler::new().quiet(true); + let _output = compiler.compile(&project)?; let mut doc_config = config.doc.clone(); if let Some(out) = self.out {