use rez_next_version::Version;
use std::collections::HashMap;
#[derive(Debug, Clone)]
pub struct Package {
pub name: String,
pub version: Option<Version>,
pub description: Option<String>,
pub authors: Vec<String>,
pub requires: Vec<String>,
pub build_requires: Vec<String>,
pub private_build_requires: Vec<String>,
pub variants: Vec<Vec<String>>,
pub tools: Vec<String>,
pub commands: Option<String>,
pub commands_function: Option<String>,
pub build_command: Option<String>,
pub build_system: Option<String>,
pub pre_commands: Option<String>,
pub post_commands: Option<String>,
pub pre_test_commands: Option<String>,
pub pre_build_commands: Option<String>,
pub tests: HashMap<String, String>,
pub requires_rez_version: Option<String>,
pub uuid: Option<String>,
pub config: HashMap<String, String>,
pub help: Option<String>,
pub relocatable: Option<bool>,
pub cachable: Option<bool>,
pub timestamp: Option<i64>,
pub revision: Option<String>,
pub changelog: Option<String>,
pub release_message: Option<String>,
pub previous_version: Option<Version>,
pub previous_revision: Option<String>,
pub vcs: Option<String>,
pub format_version: Option<i32>,
pub base: Option<String>,
pub has_plugins: Option<bool>,
pub plugin_for: Vec<String>,
pub hashed_variants: Option<bool>,
pub preprocess: Option<String>,
}