kmmp-project-manager 0.1.0

kmmp-project-manager is a Rust crate for Kotlin Multiplatform (KMP) projects, offering a lightweight alternative to Android Studio. It provides tools for project creation, structure management, build automation, code generation, IDE integration, dependency management, and project configuration.
Documentation
use serde::{Deserialize,Serialize};

/// Represents a dependency identifier in the format group:version
#[derive(Deserialize, Serialize, Debug, PartialEq, PartialOrd )]
pub struct DependencyIdentifier<'a> { 
    /// The group identifier of the dependency.
    pub group : &'a str,
    /// The module identifier of the dependency.
    pub module : &'a str,
    /// The version identifier of the dependency.
    pub version : &'a str
} 


impl<'a> DependencyIdentifier<'a> {
    /// Creates a new `DependencyIdentifier` instance.
    ///
    /// # Arguments
    ///
    /// * `group` - The group identifier.
    /// * `module` - The module identifier.
    /// * `version` - The version identifier.
    pub const fn new(group : &'a str,module : &'a str, version : &'a str) -> Self {
        Self { group, module, version }
    }
}

impl std::fmt::Display for DependencyIdentifier<'_> {
    /// Formats the `DependencyIdentifier` as a string in the format "group:version".
    /// # Example
    ///
    /// ```
    /// use kmmp_project_manager::DependencyIdentifier;
    /// 
    /// let dependency = DependencyIdentifier::new("com.example", "1.0.0");
    /// assert_eq!(dependency.to_string(), "com.example:1.0.0");
    /// ```
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        write!(f,"\"{}:{}\"",self.group,self.version)
    }
}