Cli: Don't regenerate idl in read_all_programs() (#2332)

This commit is contained in:
Christian Kamm 2022-12-23 14:28:35 +01:00 committed by GitHub
parent e910d44b67
commit a97d04ab06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 9 deletions

View File

@ -16,6 +16,8 @@ The minor version will be incremented upon a breaking change and the patch versi
### Fixes
- cli: Don't regenerate idl in read_all_programs(). ([#2332](https://github.com/coral-xyz/anchor/pull/2332))
### Breaking
- lang: Remove `state` and `interface` attributes ([#2285](https://github.com/coral-xyz/anchor/pull/2285)).

View File

@ -174,20 +174,18 @@ impl WithPath<Config> {
.collect())
}
// TODO: this should read idl dir instead of parsing source.
pub fn read_all_programs(&self) -> Result<Vec<Program>> {
let mut r = vec![];
for path in self.get_program_list()? {
let cargo = Manifest::from_path(&path.join("Cargo.toml"))?;
let lib_name = cargo.lib_name()?;
let version = cargo.version();
let idl = anchor_syn::idl::file::parse(
path.join("src/lib.rs"),
version,
self.features.seeds,
false,
false,
)?;
let idl_filepath = format!("target/idl/{}.json", lib_name);
let idl = fs::read(idl_filepath)
.ok()
.map(|bytes| serde_json::from_reader(&*bytes))
.transpose()?;
r.push(Program {
lib_name,
path,