summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-08-25 20:08:23 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-08-25 20:08:23 +0200
commit4b17701c19f1a77407d6eae32e0e0a7593f86fb8 (patch)
tree50dbc7e88d3f5b08cc7a5c3c032f994b1f765569
parenta2046bf178931dfd43924c42713e2841e89c571d (diff)
downloadimag-4b17701c19f1a77407d6eae32e0e0a7593f86fb8.zip
imag-4b17701c19f1a77407d6eae32e0e0a7593f86fb8.tar.gz
Remove build.rs buildscript because wasnt working properlyv0.3.0
-rw-r--r--bin/Cargo.toml2
-rw-r--r--bin/build.rs103
2 files changed, 0 insertions, 105 deletions
diff --git a/bin/Cargo.toml b/bin/Cargo.toml
index 965d5b0..1ff0a3d 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 f54c527..0000000
--- 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 <mail@beyermatthias.de> 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);
-
-}
-