Files
flipper/packer/src/types.rs
Andres Suarez 79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00

69 lines
1.3 KiB
Rust

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
use clap::arg_enum;
use std::fmt::{self, Display};
arg_enum! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, serde::Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum Platform {
Mac,
Linux,
Windows
}
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
PartialOrd,
Ord,
serde::Deserialize,
serde::Serialize
)]
#[serde(rename_all = "lowercase")]
pub enum PackType {
Frameworks,
Core,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
PartialOrd,
Ord,
serde::Deserialize,
serde::Serialize
)]
#[serde(rename_all = "lowercase")]
pub enum PackMode {
/// All paths need to be specified.
Exact,
/// Can use `*` and `!` syntax to specify patterns for inclusion and exclusion.
/// Only works on the root folder level.
Glob,
}
impl Display for PackType {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
Self::Frameworks => write!(f, "frameworks"),
Self::Core => write!(f, "core"),
}
}
}
#[derive(Eq, PartialEq, Debug, serde::Serialize)]
pub struct HashSum(pub String);