1#[macro_use] mod imports; use imports::*;
3
4pub use lightweight_command_runner::*;
5pub use workspacer_add_new_crate_to_workspace::*;
6pub use workspacer_register::*;
7pub use workspacer_register_internal_crate_in_prefix_group::*;
8pub use workspacer_add_internal_dep::*;
9pub use workspacer_analysis::*;
10pub use workspacer_bump::*;
11pub use workspacer_tree::*;
12pub use workspacer_format_imports::*;
13pub use workspacer_lock::*;
14pub use workspacer_cleanup::*;
15pub use workspacer_consolidate::*;
16pub use workspacer_crate::*;
17pub use workspacer_detect_circular_deps::*;
18pub use workspacer_docs::*;
19pub use workspacer_git::*;
20pub use workspacer_interface::*;
21pub use workspacer_linting::*;
22pub use workspacer_metadata::*;
23pub use workspacer_name_all_files::*;
24pub use workspacer_pin::*;
25pub use workspacer_publish::*;
26pub use workspacer_rebuild_or_test::*;
27pub use workspacer_syntax::*;
28pub use workspacer_test_coverage::*;
29pub use workspacer_toml::*;
30pub use workspacer_watch_and_reload::*;
31pub use workspacer_workspace::*;
32pub use workspacer_errors::*;
33pub use workspacer_workspace_interface::*;
34pub use workspacer_crate_interface::*;
35pub use workspacer_check_publish_ready::*;
36pub use workspacer_readme_writer::*;
37pub use workspacer_topo::*;
38
39use std::path::{Path,PathBuf};
40
41pub trait ExtendedWorkspaceInterface<P,T>
42: WorkspaceInterface<P,T>
43+ CleanupWorkspace
44+ Analyze
45+ DetectCircularDependencies
46+ GenerateDependencyTree
47+ ReadyForCargoPublish<Error=WorkspaceError>
48+ RunLinting
49+ RebuildOrTest
50+ GenerateDocs
51+ GetCargoMetadata
52+ WatchAndReload
53+ RunTestsWithCoverage
54+ PinAllWildcardDependencies<Error=WorkspaceError>
55+ EnsureGitClean<Error=GitError>
56+ NameAllFiles<Error=WorkspaceError>
57+ TryPublish<Error=WorkspaceError>
58+ TryPublishCrateTree<P,T>
59where
60for<'async_trait> P: From<PathBuf> + AsRef<Path> + Send + Sync + 'async_trait,
61for<'async_trait> T: TryPublish<Error=CrateError> + CrateHandleInterface<P> + 'async_trait
62{}
63
64pub trait ExtendedCrateInterface<P>
65: CrateHandleInterface<P>
66+ TryPublish<Error=CrateError>
67+ EnsureGitClean<Error=GitError>
68+ NameAllFiles<Error=CrateError>
69+ PinWildcardDependencies<Error=CrateError>
70+ PinAllWildcardDependencies<Error=CrateError>
71+ ReadyForCargoPublish<Error=CrateError>
72where
73 for<'async_trait>
74 P
75 : HasCargoTomlPathBuf
76 + HasCargoTomlPathBufSync
77 + AsRef<Path>
78 + Send
79 + Sync
80 + 'async_trait,
81
82 CrateError
83 : From<<P as HasCargoTomlPathBuf>::Error>
84 + From<<P as HasCargoTomlPathBufSync>::Error>,
85{}