diff --git a/bin/Cargo.toml b/bin/Cargo.toml index 11895b5f..321c0578 100644 --- a/bin/Cargo.toml +++ b/bin/Cargo.toml @@ -13,8 +13,6 @@ documentation = "https://matthiasbeyer.github.io/imag/imag_documentation/index.h repository = "https://github.com/matthiasbeyer/imag" homepage = "http://imag-pim.org" -build = "build.rs" - [build-dependencies] clap = ">=2.16.1" version = "2.0" diff --git a/bin/build.rs b/bin/build.rs deleted file mode 100644 index 1180e506..00000000 --- a/bin/build.rs +++ /dev/null @@ -1,103 +0,0 @@ -// -// imag - the personal information management suite for the commandline -// Copyright (C) 2015, 2016 Matthias Beyer and contributors -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; version -// 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -// - -extern crate clap; -extern crate libimagrt; -extern crate libimagentrytag; -extern crate libimagutil; -#[macro_use] extern crate version; - -use clap::Shell; -use libimagrt::runtime::Runtime; - -/// This macro generates mods with the given '$modulename', -/// whose content is the file given with `$path`. -/// In this case, It is used specifically to include the -/// `ui.rs` files of the imag binaries. -/// The imag project (accidentally?) followed the convention -/// to write a `ui.rs` containing the function -/// `fn build_ui(app : App) -> App`. -/// This macro allows us to use the same named functions by -/// putting them each into their own module. -macro_rules! gen_mods_buildui { - ($(($path:expr, $modulename:ident)$(,)*)*) => ( - $( - mod $modulename { - include!($path); - } - )* - ) -} - -/// This macro reduces boilerplate code. -/// -/// For example: `build_subcommand!("counter", imagcounter)` -/// will result in the following code: -/// ```ignore -/// imagcounter::build_ui(Runtime::get_default_cli_builder( -/// "counter", -/// &version!()[..], -/// "counter")) -/// ``` -/// As for the `&version!()[..]` part, it does not matter -/// which version the subcommand is getting here, as the -/// output of this script is a completion script, which -/// does not contain information about the version at all. -macro_rules! build_subcommand { - ($name:expr, $module:ident) => ( - $module::build_ui(Runtime::get_default_cli_builder( - $name, - &version!()[..], - $name)) - ) -} - -// Actually generates the module. -gen_mods_buildui!( - ("../imag-link/src/ui.rs", imaglink), - ("../imag-notes/src/ui.rs", imagnotes), - ("../imag-ref/src/ui.rs", imagref), - ("../imag-store/src/ui.rs", imagstore), - ("../imag-tag/src/ui.rs", imagtag), - ("../imag-view/src/ui.rs", imagview) -); - -fn main() { - // Make the `imag`-App... - let mut app = Runtime::get_default_cli_builder( - "imag", - &version!()[..], - "imag") - // and add all the subapps as subcommands. - .subcommand(build_subcommand!("link", imaglink)) - .subcommand(build_subcommand!("notes", imagnotes)) - .subcommand(build_subcommand!("ref", imagref)) - .subcommand(build_subcommand!("store", imagstore)) - .subcommand(build_subcommand!("tag", imagtag)) - .subcommand(build_subcommand!("view", imagview)); - - let outdir = std::env::var("OUT_DIR").unwrap(); - - // Actually generates the completion files - app.gen_completions("imag", Shell::Bash, outdir.clone()); - app.gen_completions("imag", Shell::Fish, outdir.clone()); - app.gen_completions("imag", Shell::Zsh, outdir); - -} - diff --git a/imag-mail/Cargo.toml b/imag-mail/Cargo.toml index 42e928c2..8172ceec 100644 --- a/imag-mail/Cargo.toml +++ b/imag-mail/Cargo.toml @@ -3,6 +3,12 @@ name = "imag-mail" version = "0.3.0" authors = ["Matthias Beyer "] +description = "Part of the imag core distribution: imag-notes command" + +keywords = ["imag", "PIM", "personal", "information", "management"] +readme = "../README.md" +license = "LGPL-2.1" + [dependencies] semver = "0.5" clap = "2.*" diff --git a/libimagannotation/Cargo.toml b/libimagannotation/Cargo.toml index 1c512b69..52e56682 100644 --- a/libimagannotation/Cargo.toml +++ b/libimagannotation/Cargo.toml @@ -3,6 +3,12 @@ name = "libimagannotation" version = "0.3.0" authors = ["Matthias Beyer "] +description = "Library for the imag core distribution" + +keywords = ["imag", "PIM", "personal", "information", "management"] +readme = "../README.md" +license = "LGPL-2.1" + [dependencies] uuid = { version = "0.3.1", features = ["v4"] } lazy_static = "0.1.15" diff --git a/libimagentrycategory/Cargo.toml b/libimagentrycategory/Cargo.toml index 8e996442..5a86b3e0 100644 --- a/libimagentrycategory/Cargo.toml +++ b/libimagentrycategory/Cargo.toml @@ -19,12 +19,12 @@ toml = "0.4" toml-query = "0.3" is-match = "0.1" -[dev-dependencies] -env_logger = "0.4" - [dependencies.libimagerror] path = "../libimagerror" [dependencies.libimagstore] path = "../libimagstore" +[dev-dependencies] +env_logger = "0.4" + diff --git a/libimagentrydatetime/Cargo.toml b/libimagentrydatetime/Cargo.toml index 3c58422d..9d1fbaf6 100644 --- a/libimagentrydatetime/Cargo.toml +++ b/libimagentrydatetime/Cargo.toml @@ -19,9 +19,6 @@ toml-query = "0.3" lazy_static = "0.2" toml = "0.4" -[dev-dependencies] -is-match = "0.1" - [dependencies.libimagerror] path = "../libimagerror" @@ -31,3 +28,6 @@ path = "../libimagstore" [dependencies.libimagutil] path = "../libimagutil" +[dev-dependencies] +is-match = "0.1" +