changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / rust/lib/obj/src/config/package.rs

changeset 67: 0ccbbd142694
parent: c7165d93a9eb
author: ellis <ellis@rwest.io>
date: Sat, 02 Dec 2023 16:26:08 -0500
permissions: -rw-r--r--
description: rust cleanup, added rocksdb bindings
1 //! cfg::config::package
2 //!
3 //! Package configuration primitives
4 use crate::{LibraryConfig, MetaConfig, ProgramConfig, RepoConfig};
5 
6 use serde::{Deserialize, Serialize};
7 use std::collections::HashMap;
8 
9 /// A single package configuration.
10 #[derive(Serialize, Deserialize, Debug, PartialEq)]
11 pub struct PackageConfig {
12  /// Name of this package
13  pub name: String,
14  pub repo: Option<RepoConfig>,
15  pub bin: Option<ProgramConfig>,
16  pub lib: Option<LibraryConfig>,
17  pub babel: Option<HashMap<String, Vec<String>>>,
18  pub meta: Option<MetaConfig>, // will be MetaConfig
19 }
20 
21 impl PackageConfig {
22  /// Create a new PackageConfig with a given name
23  pub fn new(name: &str) -> Self {
24  PackageConfig {
25  name: name.to_string(),
26  repo: None,
27  bin: None,
28  lib: None,
29  babel: None,
30  meta: None,
31  }
32  }
33 }
34 impl Default for PackageConfig {
35  fn default() -> Self {
36  PackageConfig {
37  name: ".".to_string(),
38  repo: None,
39  bin: None,
40  lib: None,
41  babel: None,
42  meta: None,
43  }
44  }
45 }