Project

reaver

0.0
The project is in a healthy, maintained state
A tool that allows to download and track the latest version of stuff on the net. Define your collections in .yml and launch Reaver to retrieve everything.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0
~> 2.3
~> 0.3
 Project Readme

reaver

Gem Version

A tool that allows to download and track the latest version of stuff on the net. Define your collections in .yml and launch Reaver to retrieve everything and move things to the right spot.

Dependencies

Reaver need only unzip, xz, tar and git, depending what you'll use.

Collections

Reaver search collections by order in:

  • $XDG_CONFIG_HOME/reaver
  • $HOME/.config/reaver

Create many collection of things

For example, your need to use Vim, vim require a lots of external plugins to be more efficient, so create a collection called vim.yml.

$ $EDITOR ~/.config/reaver/vim.yml

In the file, we add all archives required by u projects

---
things:
  - name: ombre.tar.gz
    url: https://github.com/szorfein/ombre.vim/archive/refs/heads/main.tar.gz
  - name: ale.tar.gz
    url: https://github.com/dense-analysis/ale/archive/refs/heads/master.tar.gz
  - name: indentline.tar.gz
    url: https://github.com/Yggdroot/indentLine/archive/refs/heads/master.tar.gz
  - name: nerdtree.tar.gz
    url: https://github.com/preservim/nerdtree/archive/refs/heads/master.tar.gz
time: 86000
all_into_dir: .config/pack/myvimpluggins/start
keep_name: true

To see more examples, go here

A collection can include:

  • all_into_dir: <dirname> if all files go in a directory. Directory is created if not exist.
  • keep_name: <boolean>, if true, create a directory with the name of the thing, e.g, for a name ombre.tar.gz, the final dest will be all_into_dir/ombre or dest_dir/ombre.
  • force_download: <boolean>, if you make change and want to download now, change to true.
  • things[].dest_dir: <dirname>, if each files go in differents directory, use this.
  • things[].name the new name after download, may include the file extension.
  • things[].strip_components: <number>, used on tar, default to 1, skip the first directory from an archive, if no subdirectory exist, you should set to 0.
  • things[].url: <string>
  • things[].git: <boolean>, If the thing need to be managed with git.
  • time: 86000 (in second) is for search every day ( 60 * 60 * 24 ).

If all_into_dir is defined, things[].dest_dir is not used.
All paths given are relative to $HOME so don't include ~ or any shell variables.

And start reaver simply with:

$ reaver

Reaver download all files in ~/.cache/reaver by default.