Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/grosser/vendorer

Vendorer keeps your dependencies documented, cached and up to date
https://github.com/grosser/vendorer

Last synced: 30 days ago
JSON representation

Vendorer keeps your dependencies documented, cached and up to date

Lists

README

        

Vendorer
========

- documented & cached dependencies
- automatic updates
- no unwanted/accidental updates

Install
-------

Needs: Curl + Git + Ruby

then:

``` bash
gem install vendorer
```

or standalone
```Bash
curl https://rubinjam.herokuapp.com/pack/vendorer > vendorer && chmod +x vendorer
./vendorer -v
```

Usage
-----

Add a `Vendorfile` (or `Vendorfile.rb`) to your project root:

``` ruby
file 'vendor/assets/javascripts/jquery.min.js', 'http://code.jquery.com/jquery-latest.min.js'
folder 'vendor/plugins/parallel_tests', 'https://github.com/grosser/parallel_tests.git'

# Execute a block after updates
file 'vendor/assets/javascripts/jquery.js', 'http://code.jquery.com/jquery.js' do |path|
puts "Do something useful with #{path}"
rewrite(path) { |content| content.gsub(/\r\n/, \n).gsub /\t/, ' ' }
end

# Checkout a specific :ref/:tag/:branch
folder 'vendor/plugins/parallel_tests', 'https://github.com/grosser/parallel_tests.git', :tag => 'v0.6.10'

# DRY folders
folder 'vendor/assets/javascripts' do
file 'jquery.js', 'http://code.jquery.com/jquery-latest.js'
end

# Copy files & folders from repos (also works with private repos)
from 'https://github.com/grosser/parallel_tests.git' do |checkout_location|
file 'Readme.md'
file 'target-folder/file.rb', 'lib/parallel_tests.rb'
folder 'spec'
folder 'renamed-folder', 'spec'
end
```

- Create a new Vendorfile: `vendorer init`
- Execute all installations: `vendorer`
- Update all dependencies: `vendorer update`
- Update a single dependency: `vendorer update vendor/assets/javascripts/jquery.min.js`
- Update everything in a specific folder: `vendorer update vendor/assets/javascripts`

Alternatives
============
- [Vendorificator](https://github.com/3ofcoins/vendorificator) more features/complexity, but similar interface/concept

TODO
====
- nice error message when no Vendorfile was found

Author
======

### [Contributors](http://github.com/grosser/vendorer/contributors)
- [Kurtis Rainbolt-Greene](https://github.com/krainboltgreene)
- [Ivan K.](https://github.com/divout)
- [Matt Brictson](https://github.com/mbrictson)
- [Andreas Haller](https://github.com/ahx)

[Michael Grosser](http://grosser.it)

[email protected]

License: MIT

[![Build Status](https://travis-ci.org/grosser/vendorer.png)](https://travis-ci.org/grosser/vendorer)