introduce workspace
This commit is contained in:
Generated
+36
-10
@@ -76,6 +76,23 @@ dependencies = [
|
||||
"os_str_bytes",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core"
|
||||
version = "1.0.0-beta2"
|
||||
dependencies = [
|
||||
"alpm",
|
||||
"anyhow",
|
||||
"clap",
|
||||
"macros",
|
||||
"path-absolutize",
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"serde_yaml",
|
||||
"termios",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.2.8"
|
||||
@@ -159,6 +176,23 @@ version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
|
||||
|
||||
[[package]]
|
||||
name = "macros"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "main"
|
||||
version = "1.0.0-beta2"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
@@ -184,7 +218,8 @@ dependencies = [
|
||||
"alpm",
|
||||
"anyhow",
|
||||
"clap",
|
||||
"pacdef_macro",
|
||||
"core",
|
||||
"macros",
|
||||
"path-absolutize",
|
||||
"regex",
|
||||
"serde",
|
||||
@@ -194,15 +229,6 @@ dependencies = [
|
||||
"termios",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pacdef_macro"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "path-absolutize"
|
||||
version = "3.0.14"
|
||||
|
||||
+7
-2
@@ -1,3 +1,6 @@
|
||||
[workspace]
|
||||
members = ["crates/main", "crates/macros", "crates/core"]
|
||||
|
||||
[package]
|
||||
name = "pacdef"
|
||||
version = "1.0.0-beta2"
|
||||
@@ -18,7 +21,8 @@ serde_derive = "*"
|
||||
serde = "*"
|
||||
termios = "*"
|
||||
|
||||
pacdef_macro = {path = "pacdef_macro", version = "*"}
|
||||
macros = {path = "crates/macros", version = "*"}
|
||||
core = {path = "crates/core", version = "1.0.0-beta2"}
|
||||
|
||||
[profile.release]
|
||||
lto = "off"
|
||||
@@ -27,4 +31,5 @@ strip = true
|
||||
|
||||
[[bin]]
|
||||
name = "pacdef"
|
||||
path = "src/main.rs"
|
||||
path = "crates/main/main.rs"
|
||||
|
||||
|
||||
@@ -208,4 +208,6 @@ topgrade
|
||||
|
||||
## TODO
|
||||
|
||||
add zsh completion
|
||||
* add zsh completion
|
||||
* add license
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
[package]
|
||||
name = "core"
|
||||
version = "1.0.0-beta2"
|
||||
edition = "2021"
|
||||
description = "declarative package manager for Arch Linux"
|
||||
license = "GPLv3"
|
||||
repository = "https://github.com/steven-omaha/pacdef"
|
||||
|
||||
[dependencies]
|
||||
alpm = "*"
|
||||
anyhow = "*"
|
||||
clap = "*"
|
||||
path-absolutize = "*"
|
||||
regex = "*"
|
||||
serde_json = "*"
|
||||
serde_yaml = "*"
|
||||
serde_derive = "*"
|
||||
serde = "*"
|
||||
termios = "*"
|
||||
|
||||
macros = {path = "../macros", version = "*"}
|
||||
@@ -1,4 +1,4 @@
|
||||
use pacdef_macro::Action;
|
||||
use macros::Action;
|
||||
|
||||
#[derive(Debug, Action)]
|
||||
pub(crate) enum Actions {
|
||||
@@ -8,7 +8,7 @@ pub(crate) use backend_trait::Backend;
|
||||
pub(crate) use iter::BackendIter;
|
||||
pub(crate) use todo_per_backend::ToDoPerBackend;
|
||||
|
||||
use pacdef_macro::Register;
|
||||
use ::macros::Register;
|
||||
|
||||
#[derive(Debug, Register)]
|
||||
pub(crate) enum Backends {
|
||||
@@ -17,4 +17,4 @@ pub use crate::grouping::Group;
|
||||
pub(crate) use crate::grouping::Package;
|
||||
pub use crate::search::NO_PACKAGES_FOUND;
|
||||
|
||||
extern crate pacdef_macro;
|
||||
extern crate macros;
|
||||
@@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "pacdef_macro"
|
||||
name = "macros"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
description = "procedural macros for pacdef"
|
||||
@@ -14,8 +14,8 @@ pub fn action(input: TokenStream) -> TokenStream {
|
||||
panic!("`Register` can only be used on enums");
|
||||
};
|
||||
|
||||
let variant_description = generate_variant_description(&enum_data);
|
||||
let variant_constants = generate_variant_constants(&name, &enum_data);
|
||||
let variant_description = generate_variant_description(enum_data);
|
||||
let variant_constants = generate_variant_constants(name, enum_data);
|
||||
|
||||
let expanded = compile_output(name, variant_description, variant_constants);
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
[package]
|
||||
name = "main"
|
||||
version = "1.0.0-beta2"
|
||||
edition = "2021"
|
||||
description = "declarative package manager for Arch Linux"
|
||||
license = "GPLv3"
|
||||
repository = "https://github.com/steven-omaha/pacdef"
|
||||
|
||||
[[bin]]
|
||||
name = "pacdef"
|
||||
path = "main.rs"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "*"
|
||||
core = { path = "../core", version = "1.0.0-beta2" }
|
||||
@@ -2,7 +2,7 @@ use std::process::{ExitCode, Termination};
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
|
||||
use pacdef::{args, Config, Group, Pacdef};
|
||||
use core::{args, Config, Group, Pacdef};
|
||||
|
||||
fn main() -> ExitCode {
|
||||
handle_final_result(main_inner())
|
||||
@@ -16,7 +16,7 @@ fn handle_final_result(result: Result<()>) -> ExitCode {
|
||||
Err(ref e) => {
|
||||
let msg = e.root_cause().to_string();
|
||||
|
||||
if msg == pacdef::NO_PACKAGES_FOUND {
|
||||
if msg == core::NO_PACKAGES_FOUND {
|
||||
ExitCode::FAILURE
|
||||
} else {
|
||||
result.report()
|
||||
Generated
-47
@@ -1,47 +0,0 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "pacdef_macro"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.50"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.107"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
|
||||
Reference in New Issue
Block a user