konveyor_core/lib.rs
1//! Shared types, gRPC protocol, and provider SDK for the Konveyor migration ecosystem.
2//!
3//! This crate provides the canonical types and protocol definitions used by
4//! Konveyor-compatible migration tools:
5//!
6//! - [`incident`] -- Incident types (`Incident`, `Position`, `Location`)
7//! representing matched violations in source code.
8//! - [`report`] -- Analysis output types (`RuleSet`, `Violation`, `Category`)
9//! matching the Konveyor analyzer-lsp output format.
10//! - [`rule`] -- Rule definition types (`KonveyorRuleset`, `KonveyorRule`,
11//! `KonveyorCondition`) for the YAML rule format kantra consumes.
12//! - [`fix`] -- Fix strategy types (`FixStrategyEntry`, `MappingEntry`,
13//! `FixConfidence`) for the `fix-strategies.json` bridge between analyzers
14//! and fix engines.
15//! - [`grpc`] -- (behind the `grpc` feature) Proto-generated gRPC types,
16//! the ergonomic `Provider` trait, and generic server functions.
17//!
18//! # Features
19//!
20//! - **`grpc`** -- Enables the gRPC module with tonic/prost dependencies,
21//! the `Provider` trait, `ProviderAdapter`, and `serve_tcp`/`serve_unix`.
22//! - **`generate-proto`** -- Re-generates proto code from `provider.proto`.
23
24pub mod fix;
25pub mod incident;
26pub mod report;
27pub mod rule;
28
29#[cfg(feature = "grpc")]
30pub mod grpc;