summaryrefslogtreecommitdiffstats
path: root/src/package/phase.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-12-14 09:24:09 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-12-14 09:24:10 +0100
commitc97a53a2e7e4d9cfa301b308e9b090d06894925b (patch)
treeea31c19536991dfcf8845a80c99e346c22069e76 /src/package/phase.rs
parente9ec7d98eb61bd36dd113279ebdf53aadb677ee8 (diff)
Refactor: Move phase module to package
This is the right scope anyways. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/package/phase.rs')
-rw-r--r--src/package/phase.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/package/phase.rs b/src/package/phase.rs
new file mode 100644
index 0000000..2043660
--- /dev/null
+++ b/src/package/phase.rs
@@ -0,0 +1,31 @@
+use std::path::PathBuf;
+
+use serde::Deserialize;
+use serde::Serialize;
+
+#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq, Hash)]
+#[serde(transparent)]
+pub struct PhaseName(String);
+
+impl PhaseName {
+ pub fn as_str(&self) -> &str {
+ &self.0
+ }
+}
+
+#[cfg(test)]
+impl From<String> for PhaseName {
+ fn from(s: String) -> Self {
+ PhaseName(s)
+ }
+}
+
+#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)]
+pub enum Phase {
+ #[serde(rename = "path")]
+ Path(PathBuf),
+
+ #[serde(rename = "script")]
+ Text(String),
+}
+