feat: isolate ForgeJo behind default feature 'forgejo'
This commit is contained in:
parent
9df732ce97
commit
1ffa8366e0
6 changed files with 11 additions and 0 deletions
|
@ -3,6 +3,10 @@ name = "git-next"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["forgejo"]
|
||||||
|
forgejo = []
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
@ -16,6 +16,7 @@ pub async fn validate_positions(
|
||||||
net: network::Network,
|
net: network::Network,
|
||||||
) {
|
) {
|
||||||
let commit_histories = match repo_details.forge.forge_type {
|
let commit_histories = match repo_details.forge.forge_type {
|
||||||
|
#[cfg(feature = "forgejo")]
|
||||||
config::ForgeType::ForgeJo => {
|
config::ForgeType::ForgeJo => {
|
||||||
forge::forgejo::get_commit_histories(&repo_details, &config, &net).await
|
forge::forgejo::get_commit_histories(&repo_details, &config, &net).await
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ use super::{LoadedConfig, RepoActor};
|
||||||
|
|
||||||
pub async fn load(details: RepoDetails, addr: Addr<RepoActor>, net: Network) {
|
pub async fn load(details: RepoDetails, addr: Addr<RepoActor>, net: Network) {
|
||||||
let config = match details.forge.forge_type {
|
let config = match details.forge.forge_type {
|
||||||
|
#[cfg(feature = "forgejo")]
|
||||||
ForgeType::ForgeJo => forge::forgejo::config::load(&details, &net).await,
|
ForgeType::ForgeJo => forge::forgejo::config::load(&details, &net).await,
|
||||||
};
|
};
|
||||||
match config {
|
match config {
|
||||||
|
|
|
@ -18,6 +18,7 @@ pub async fn check_next(
|
||||||
) {
|
) {
|
||||||
// get the status - pass, fail, pending (all others map to fail, e.g. error)
|
// get the status - pass, fail, pending (all others map to fail, e.g. error)
|
||||||
let status = match repo_details.forge.forge_type {
|
let status = match repo_details.forge.forge_type {
|
||||||
|
#[cfg(feature = "forgejo")]
|
||||||
ForgeType::ForgeJo => {
|
ForgeType::ForgeJo => {
|
||||||
forge::forgejo::get_commit_status(next.clone(), &repo_details, net).await
|
forge::forgejo::get_commit_status(next.clone(), &repo_details, net).await
|
||||||
}
|
}
|
||||||
|
|
|
@ -253,6 +253,7 @@ impl Display for RepoDetails {
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
|
||||||
pub enum ForgeType {
|
pub enum ForgeType {
|
||||||
|
#[cfg(feature = "forgejo")]
|
||||||
ForgeJo,
|
ForgeJo,
|
||||||
// Gitea,
|
// Gitea,
|
||||||
// GitHub,
|
// GitHub,
|
||||||
|
@ -265,6 +266,7 @@ impl Display for ForgeType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "forgejo")]
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
|
@ -273,6 +275,7 @@ mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
#[cfg(feature = "forgejo")]
|
||||||
fn test_server_config_load() -> Result<(), OneOf<(std::io::Error, toml::de::Error)>> {
|
fn test_server_config_load() -> Result<(), OneOf<(std::io::Error, toml::de::Error)>> {
|
||||||
let fs = FileSystem::new_temp().map_err(OneOf::new)?;
|
let fs = FileSystem::new_temp().map_err(OneOf::new)?;
|
||||||
fs.write_file(
|
fs.write_file(
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
use std::fmt::{Display, Formatter};
|
use std::fmt::{Display, Formatter};
|
||||||
|
|
||||||
|
#[cfg(feature = "forgejo")]
|
||||||
pub mod forgejo;
|
pub mod forgejo;
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
Loading…
Reference in a new issue