From 510a797db261aa15454910fb98f67083782cbe2a Mon Sep 17 00:00:00 2001 From: Adam Cimarosti Date: Fri, 20 Jan 2023 12:10:59 +0000 Subject: [PATCH] docs: Added project logo and improved README. (#15) --- README.md | 50 +- artwork/logo.svg | 1363 ++++++++++++++ artwork/logo_outline.svg | 3276 ++++++++++++++++++++++++++++++++ artwork/logo_outline_text.svg | 3305 +++++++++++++++++++++++++++++++++ 4 files changed, 7988 insertions(+), 6 deletions(-) create mode 100644 artwork/logo.svg create mode 100644 artwork/logo_outline.svg create mode 100644 artwork/logo_outline_text.svg diff --git a/README.md b/README.md index 8cbbc84..61bc76c 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,50 @@ # rust-maven-plugin -Build Rust Cargo crates within a Java Maven Project + +rust-maven-plugin + +Build Rust Cargo crates within a Java Maven Project with this plugin. + +The use case is to simplify the build process of +[Rust JNI libs](https://crates.io/crates/jni) inside a Java +[Maven](https://maven.apache.org/) project. + +# Features + +The plugin provides the following features: + +* Calls `cargo build` as part of a `mvn compile` step. + +* If Rust isn't found, points users to https://www.rust-lang.org/tools/install. + +* Builds inside Maven's target directory: + * Passes `${project.build.directory}/rust-maven-plugin/${crate_name}` as + `cargo build --target-dir`. + * Thus, `mvn clean` also cleans the Rust crates without additional `pom.xml` + setup. + +* Optionally: + * Can be configured to copy the compiled cdylib(s) to the + `${project.build.directory}/classes/` directory so the binaries ends up + bundled in the JAR. + + * As a separate runtime dependency we also provide [`jar-jni`](jar-jni/), + a helper java library to load the libs from the JAR using a sub-directory + per `os.name`/`os.arch` so the JAR can contain binaries for multiple + platforms. + +# Example +See the [`rust-maven-example`](rust-maven-example/) directory for a working +example. # Status -* Building, cleaning and bundling into a .jar now works. -* Running Rust tests doesn't yet. +* Pre-production: + * Building, cleaning, and bundling into a `.jar` now works. + * Running Rust tests (calling `cargo test`) isn't implemented yet. + * Not yet available on maven central: + In the meantime `cd rust-maven-plugin && mvn install`. + +If you want to help out, check out our +[open issues](https://github.com/questdb/rust-maven-plugin/issues). # Dev Commands @@ -24,9 +65,6 @@ mvn install mvn io.questdb:rust-maven-plugin:build -Drelease=true ``` -# Example -See `rust-maven-example` directory for a working example. - # Special thanks * OktaDev for covering custom Maven plugins on YouTube: https://www.youtube.com/watch?v=wHX4j0z-sUU diff --git a/artwork/logo.svg b/artwork/logo.svg new file mode 100644 index 0000000..d579eaa --- /dev/null +++ b/artwork/logo.svg @@ -0,0 +1,1363 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/artwork/logo_outline.svg b/artwork/logo_outline.svg new file mode 100644 index 0000000..6ed3814 --- /dev/null +++ b/artwork/logo_outline.svg @@ -0,0 +1,3276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/artwork/logo_outline_text.svg b/artwork/logo_outline_text.svg new file mode 100644 index 0000000..1df3b14 --- /dev/null +++ b/artwork/logo_outline_text.svg @@ -0,0 +1,3305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rustmavenplugin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +