logstash/tools/paquet
João Duarte 0d6117173f
update multiple dependencies (#16136)
This upgrades multiple java libraries:

* snakeyaml
* shadow
* gradle
* guava
* commons-io
* commons-logging
* commons-codec
* commons-compress
* commons-lang3
* commons-csv
* log4j
* google-java-format
* httpclient
* httpcore
* javassist
* jackson
* jackson-databind
* wiremock-standalone

Gems:

* rack
*sinatra
*octokit
* gems
* rake
* webmock

Also upgrades Java to 17.0.11+9.

Leftover upgrades:

* commons-csv 1.8 breaks license checker
* janino 3.1.12 breaks java tests
* log4j 2.21.0 breaks java compilation
2024-05-08 09:13:41 +01:00
..
lib Rubocop: Enable most SpaceInside cops (#15201) 2023-07-20 09:49:46 -04:00
spec Enable SpaceAfterColon, SpaceAfterComma, SpaceAfterSemicolon (#15180) 2023-07-14 16:46:35 -04: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 update multiple dependencies (#16136) 2024-05-08 09:13:41 +01:00
Rakefile Add apache and elastic license headers to source code files (#11673) 2020-03-11 11:53:38 +00:00
README.md Add apache and elastic license headers to source code files (#11673) 2020-03-11 11:53:38 +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.