Skip to main content

rpfm_lib/integrations/
mod.rs

1//---------------------------------------------------------------------------//
2// Copyright (c) 2017-2026 Ismael Gutiérrez González. All rights reserved.
3//
4// This file is part of the Rusted PackFile Manager (RPFM) project,
5// which can be found here: https://github.com/Frodo45127/rpfm.
6//
7// This file is licensed under the MIT license, which can be found here:
8// https://github.com/Frodo45127/rpfm/blob/master/LICENSE.
9//---------------------------------------------------------------------------//
10
11//! Optional integrations with external tools and services.
12//!
13//! This module provides optional integration features with third-party tools and services.
14//! All integrations are feature-gated and must be explicitly enabled to be compiled.
15//!
16//! # Available Integrations
17//!
18//! ## Assembly Kit Integration
19//!
20//! **Feature**: `integration_assembly_kit`
21//!
22//! Provides functionality for importing and synchronizing table definitions from Creative Assembly's
23//! official Assembly Kit tools. This allows RPFM to stay up-to-date with official schema definitions.
24//!
25//! Key capabilities:
26//! - Parsing Assembly Kit table definition XML files
27//! - Importing field metadata (types, keys, references, descriptions)
28//! - Detecting localisable fields
29//! - Automatic schema generation from Assembly Kit data
30//!
31//! See [`assembly_kit`] module for details.
32//!
33//! ## Git Integration
34//!
35//! **Feature**: `integration_git`
36//!
37//! Enables basic Git repository management for version control of mod files and schemas.
38//! This allows RPFM to fetch schema updates from remote repositories and manage local changes.
39//!
40//! Key capabilities:
41//! - Cloning and updating Git repositories
42//! - Pulling changes from remotes
43//! - Basic repository status queries
44//!
45//! See `git` module for details.
46//!
47//! # Usage
48//!
49//! Each integration is completely optional. Enable only the features you need in your `Cargo.toml`:
50//!
51//! ```toml
52//! [dependencies]
53//! rpfm_lib = { version = "5.0", features = ["integration_assembly_kit", "integration_git"] }
54//! ```
55
56#[cfg(feature = "integration_assembly_kit")] pub mod assembly_kit;
57#[cfg(feature = "integration_git")] pub mod git;