logstash/tools/paquet
github-actions[bot] ee24f3ce38
update flores dependency to at least 0.0.8 (#14437) (#14449)
(cherry picked from commit 4cb900ce7e)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2022-08-17 09:58:15 +01:00
..
lib Add apache and elastic license headers to source code files (#11673) 2020-03-11 11:54:32 +00:00
spec update flores dependency to at least 0.0.8 (#14437) (#14449) 2022-08-17 09:58:15 +01:00
.gitignore no gemfile lock needed 2016-12-16 10:13:10 -05:00
CHANGELOG.md Downloading gem in binary format 2017-03-24 14:07:57 -04:00
Gemfile Feature: Paquet, a tool to pack dependencies 2016-12-16 10:13:09 -05:00
LICENSE Feature: Paquet, a tool to pack dependencies 2016-12-16 10:13:09 -05:00
paquet.gemspec Add bin/logstash-plugin prepare-offline-pack command 2017-01-03 13:59:49 -05:00
Rakefile Add apache and elastic license headers to source code files (#11673) 2020-03-11 11:54:32 +00:00
README.md Add apache and elastic license headers to source code files (#11673) 2020-03-11 11:54:32 +00:00

Paquet

This gem allow a developer to create a uber gem, a uber gem is a gem that content the current gem and his dependencies and is distributed as a tarball.

This tool allow to define what will be bundler and what should be ignored, it uses the dependencies defined in the gemspec and gemfile to know what to download.

Note that by default no gems will be bundled.

Installation

Add this line to your application's Gemfile:

gem 'paquet'

And then execute:

$ bundle

Usage

Define the dependencies in your Rakefile

require "paquet"

TARGET_DIRECTORY = File.join(File.dirname(__FILE__), "dependencies")

Paquet::Task.new(TARGET_DIRECTORY) do
  pack "manticore"
  pack "launchy"
  pack "gemoji"
  pack "logstash-output-elasticsearch"

  # Everything not defined here will be assumed to be provided
  # by the target installation
  ignore "logstash-core-plugin-api"
  ignore "logstash-core"
end

And run

bundle exec rake paquet:vendor

The dependencies will be downloaded in your target directory.

Project Principles

  • Community: If a newbie has a bad time, it's a bug.
  • Software: Make it work, then make it right, then make it fast.
  • Technology: If it doesn't do a thing today, we can make it do it tomorrow.

Contributing

All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.

Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.

It is more important to me that you are able to contribute.

For more information about contributing, see the CONTRIBUTING file.