introduce workspace

This commit is contained in:
Dr. Matthias Ratajczak
2023-02-13 19:46:35 +01:00
parent cef1b6e655
commit 2b7b7f8e28
37 changed files with 90 additions and 68 deletions
Generated
+36 -10
View File
@@ -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
View File
@@ -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"
+3 -1
View File
@@ -208,4 +208,6 @@ topgrade
## TODO
add zsh completion
* add zsh completion
* add license
+21
View File
@@ -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 = "*"}
View File
+1 -1
View File
@@ -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 {
+1 -1
View File
@@ -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;
View File
@@ -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);
+15
View File
@@ -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 -2
View File
@@ -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()
-47
View File
@@ -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"