refactor: restructure project into a workspace by introducing a plugin API crate and modularizing individual plugin definitions.
Release / check-release (push) Successful in 17s
Release / build (push) Skipped
Release / package (deb) (push) Skipped
Release / package (rpm) (push) Skipped
Release / publish (push) Skipped
CI / test (push) Failing after 2m6s

This commit is contained in:
Elias Wendland
2026-07-17 15:50:50 +02:00
parent 2ea317e117
commit eb76ed1937
43 changed files with 4243 additions and 2296 deletions
+45 -39
View File
@@ -1,41 +1,46 @@
[workspace]
members = [
".",
"crates/convertis-plugin-api",
"plugins/ffmpeg-audio",
"plugins/ffmpeg-video",
"plugins/ffmpeg-video-to-frames",
"plugins/ffmpeg-frames-to-video",
"plugins/native-image",
"plugins/image-ascii",
"plugins/html",
"plugins/imagemagick",
"plugins/graphicsmagick",
]
resolver = "2"
[workspace.package]
version = "0.3.0"
edition = "2024"
authors = ["Elias Wendland <eliaswendland@pm.me>"]
license = "GPL-3.0-only"
repository = "https://git.ewenlau.net/ewenlau/convertis"
[workspace.dependencies]
convertis-plugin-api = { path = "crates/convertis-plugin-api", version = "=0.3.0" }
base64 = "0.22"
image = "0.25.10"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tempfile = "3.27.0"
[package]
name = "convertis"
version = "0.2.0"
edition = "2024"
description = "A program attempting to be a universal file converter"
repository = "https://git.ewenlau.net/ewenlau/convertis"
authors = ["Elias Wendland <eliaswendland@pm.me>"]
license = "GPL-3.0-only"
version.workspace = true
edition.workspace = true
description = "A modular universal file converter"
repository.workspace = true
authors.workspace = true
license.workspace = true
readme = "README.md"
keywords = ["converter", "ffmpeg", "image", "video", "audio"]
categories = ["command-line-utilities", "development-tools", "multimedia", "command-line-interface"]
exclude = [
".github/",
".gitea/",
"target/",
"*.log"
]
[package.metadata.deb]
maintainer = "Elias Wendland <eliaswendland@pm.me>"
copyright = "2026, Elias Wendland"
depends = "$auto"
section = "utility"
priority = "optional"
assets = [
["target/release/convertis", "usr/bin/", "755"],
["README.md", "usr/share/doc/convertis/README", "644"],
["target/man/convertis.1", "usr/share/man/man1/convertis.1", "644"]
]
[package.metadata.generate-rpm]
assets = [
{ source = "target/release/convertis", dest = "/usr/bin/convertis", mode = "755" },
{ source = "target/man/convertis.1", dest = "/usr/share/man/man1/convertis.1", mode = "644" }
]
[package.metadata.generate-rpm.requires]
categories = ["command-line-utilities", "multimedia"]
exclude = [".github/", "target/", "*.log"]
[build-dependencies]
clap = { version = "4.6.1", features = ["derive"] }
@@ -44,11 +49,12 @@ tracing = "0.1.44"
[dependencies]
clap = { version = "4.6.1", features = ["derive"] }
image = "0.25.10"
convertis-plugin-api.workspace = true
infer = "0.16.0"
petgraph = "0.8.3"
tempfile = "3.27.0"
thiserror = "2.0.18"
tokio = { version = "1.52.3", features = ["rt", "rt-multi-thread"] }
gif = "0.14"
libloading = "0.8"
serde.workspace = true
serde_json.workspace = true
tempfile.workspace = true
tracing = "0.1.44"
tracing-subscriber = "0.3.23"