mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Rust: fix linting script
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
use proc_macro::TokenStream;
|
||||
use quote::{quote, format_ident};
|
||||
use syn;
|
||||
|
||||
use quote::{format_ident, quote};
|
||||
|
||||
/// Allow all fields in the extractor config to be also overrideable by extractor CLI flags
|
||||
#[proc_macro_attribute]
|
||||
@@ -9,7 +7,10 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea
|
||||
let ast = syn::parse_macro_input!(item as syn::ItemStruct);
|
||||
let name = &ast.ident;
|
||||
let new_name = format_ident!("Cli{}", name);
|
||||
let fields: Vec<_> = ast.fields.iter().map(|f| {
|
||||
let fields: Vec<_> = ast
|
||||
.fields
|
||||
.iter()
|
||||
.map(|f| {
|
||||
let id = f.ident.as_ref().unwrap();
|
||||
let ty = &f.ty;
|
||||
if let syn::Type::Path(p) = ty {
|
||||
@@ -35,7 +36,8 @@ pub fn extractor_cli_config(_attr: TokenStream, item: TokenStream) -> TokenStrea
|
||||
#id: Option<#ty>,
|
||||
}
|
||||
}
|
||||
}).collect();
|
||||
})
|
||||
.collect();
|
||||
let gen = quote! {
|
||||
#[serde_with::apply(_ => #[serde(default)])]
|
||||
#[derive(Debug, Deserialize, Default)]
|
||||
|
||||
@@ -5,12 +5,14 @@ import pathlib
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
extractor_dir = pathlib.Path(__file__).resolve().parent / "extractor"
|
||||
this_dir = pathlib.Path(__file__).resolve().parent
|
||||
|
||||
cargo = shutil.which("cargo")
|
||||
assert cargo, "no cargo binary found on `PATH`"
|
||||
|
||||
fmt = subprocess.run([cargo, "fmt", "--quiet"], cwd=extractor_dir)
|
||||
fmt = subprocess.run([cargo, "fmt", "--all", "--quiet"], cwd=this_dir)
|
||||
for manifest in this_dir.rglob("Cargo.toml"):
|
||||
if not manifest.is_relative_to(this_dir / "ql"):
|
||||
clippy = subprocess.run([cargo, "clippy", "--fix", "--allow-dirty", "--allow-staged", "--quiet"],
|
||||
cwd=extractor_dir)
|
||||
cwd=manifest.parent)
|
||||
sys.exit(fmt.returncode or clippy.returncode)
|
||||
|
||||
Reference in New Issue
Block a user