Commit graph

35 commits

Author SHA1 Message Date
Armin
57c46c2e6c BUILD: Remove invocations in rake tasks
Fixes #9032
2018-01-26 21:11:12 +00:00
Pier-Hugues Pellerin
9184e360d2 remove vendor plugin
Fixes #8281
2017-09-18 18:57:50 +00:00
Pier-Hugues Pellerin
4ac9b97617 Remove uneeded task to install all the possible plugins from the logstash-plugin organization
This command was error prone, some plugins on the logstash-plugin
organization are currently broken.

Fixes #8281
2017-09-18 18:57:49 +00:00
Armin
9b922e7e9b #7375 plugin install rake task should depend on bootstrap task
Fixes #7415
2017-06-12 11:06:45 +00:00
Joao Duarte
a859bd4a3f add single command release task and other release support tooling
Purpose:

* manage releases through a minimum number of rake tasks
* simplify building of snapshot builds
* create staged artifacts, candidates for releases, that required no changes to become releases
* this means the snapshot release process will not involve publishing gems, therefore:
* the gem artifacts should only be published to rubygems as a final artifact, at the time of GA

Changes:

* release artifacts no longer depend on gems of core components
* all core components are used locally AS-IS to minimize code changes between snapshot, RC and GA
* `versions.yml` describes the versions of all logstash parts and package
  * `rake version:set[version]` manage the yaml file and push the changes to the gemspecs/version.rb files
  * `rake version:set_plugin_api[version]` manage the yaml file and push the changes to the gemspecs/version.rb files
  * `rake artifact:all` generates SNAPSHOT artifacts: tar.gz, zip, rpm, deb
  * `RELEASE=1 rake artifact:all` creates release candidate artifacts + 4 gems: logstash-core, logstash-core-event, logstash-core-event-java and logstash-core-plugin-api

implements #5416 and #5414

Fixes #5460
2016-06-20 04:23:48 -04:00
Colin Surprenant
ccefeaeb84 add --preserve option to plugin install
add missing overwrite method and preserve @gems_by_name when updating

log options preservation

discards no constrains constrains

rewording
2016-04-29 16:10:11 -04:00
Tal Levy
6c609a3010 build core gems in same process as rake command instead of spawning new process
Fixes #5075
2016-04-11 21:26:23 +00:00
Suyog Rao
683302e26d Rename bin/plugin to bin/logstash-plugin
This adds support for packs and fixes the problem where bin/plugin
pollutes the PATH namespace

Fixes #4871

Fixes #4874
2016-03-24 00:23:15 +00:00
Suyog Rao
6e94d0c68b Add rake tasks to create uber packages
Add rake tasks to create zip and tar.gz for LS package with all plugins
installed from losgtash-repo

Fixes #4435
2016-01-08 23:08:21 +00:00
Colin Surprenant
d74d41cb30 logstash-core & logstash-core-event extraction to support logstash-core-event-java impl, relates to #4191
fixed timezone issue

extracted logstash-core and reorganized specs

extracted logstash-core-event

extract java Event into logstash-core-event-java in a proper gem

remove obsolete jruby_event bootstrapping

fix require path

add java code bootstrap

use logstash-core-event/logstash-core-event.rb

remove obsolete files

basic instructions

LogStash::Json need to be initialized from event

update jruby and gradle versions

update compile:logstash-core-event-java rake task

WIP tasks refactor

fix gem.files

skip test if class is not defined

fix gem related tasks for new structure

add gem spec dirs in core tests

bootstrap java implementation when requiring timestamp

new Cloner class and Event clone impl

fix array fields assignments, see #4140

don't rely on json implementation ordering

fix skipped last iterpolation char

remove implementation specific unnecessary check

also require ruby classes

define error class in ruby

raise exception on invalid format

remove implementation specific tests and extract and put logger related test in pending

missing bits for having all core timestamp specs pass

run all core specs

remove leftover

comment regex

missing encoding header

revert to logstash-core-event by default

finished proper gemification

useless require

dynamically pick specs depending on logstash-core-event-* implementation

logstash root package version

missing file for proper gemification

do not build java event by default

always check for root logstash lib dir

fix concurrent-ruby version confict

fix rebase conflict

re-enable specs

user vars instead of constants

move non core code in bootstrap

document version files

move version file

remove useless code

use version in logstash-core

fix gem files list

put back concurrent-ruby version constrain as in master

add dependency on logstash-core-event

remove dependency on logstash-core to avoid circular dependency

fix rebase conflict

remove circular dependency

fix specs

update README
2015-11-16 16:40:19 -05:00
Pere Urbon-Bayes
7675a19032 Few minor improvements and pending cleanups:
* Clean up pending development dependencies from the logstash-core gemspec
* Add gems as a build dependency in the Gemfile, is used when doing an
  install-all task, and failed in the ci env (like octokit)
2015-05-11 16:01:04 +02:00
Colin Surprenant
7a1ec64c23 use :build dependencies
fix octokit dep

fixes #3171
2015-05-06 08:27:57 -04:00
Colin Surprenant
07b6f4533c support remote or local gem packaging
typo
2015-05-04 20:50:44 -04:00
Colin Surprenant
48bcc5b74d cleanup dependencies and rely on logstash-core gem
remove unused load path

use either local core lib dir or logstash-core gem

include spec in logstash-core

do not include lib, spec and locales dirs in package root

environment bootstrapping in lib/bootstrap.rb

added comments

move pluginmanager out of logstash-core

kafla installation solved by pluginmanager refactor

refactor bootstrap code

refactor shell scripts to simplify and DRY, indirect rspec command to our ruby launcher

add bin/rspec

cut by half the bin/plugin and bin/rspec startup time

fix drip context

use printf instead of tr

updated Windows bin scripts

missing gemspec in gemspec

use gem instead of gemspec so our plugin manager can correctly install logstash-core

generate packages including locally built logstash-core gem

move jenkins developmnent dependencies into Gemfile, they do not belong in logstash-core

path leftover

clean help agent help usage message and remore rspec in available command

comments cosmetics

update Bundler dependency, all recent testing have been made with 1.9.4

updated .lock file with regard to updated Gemfile

cleanup gemspec, Gemfile and regen .lock file

added progress output

avoid dual require on version

closes #3096
2015-05-04 18:17:22 -04:00
Pere Urbon-Bayes
9e2ae1589e add a check for a plugin to be in rubygems before going to install it
make sure dependency gems is installed

cleanup unnecessary code

Fixes #3021
2015-04-15 14:31:39 +00:00
Pier-Hugues Pellerin
9e7d6204a5 plugins/bundler refactor
squashed 113 commits by @ph, @colinsurprenant, @jordansissel, @purbon, @jsvd

cleaning the environment.rb

initial work

remove multiples polyglot

force to load rubygems

notice

point to one config

update lock

bootstrap will package the standard application until we have the plugin manager on top of the gemfile

add the gem path to find bundler

fixing dependencies

add gemfiles and bundle

comment platform requiremments in the gemfile

Set `Gem.paths = ...` to the GEM_HOME

Without this, `bin/logstash` will error:

    LoadError: no such file to load -- bundler
         require at org/jruby/RubyKernel.java:1071
         require at C:/Users/jls/Documents/GitHub/logstash/vendor/jruby/lib/ruby/shared/rubygems/core_ext/kernel_require
.rb:55
         set_gem_paths! at C:/Users/jls/Documents/GitHub/logstash/lib/logstash/environment.rb:64
         (root) at C:\Users\jls\Documents\GitHub\logstash\lib\logstash\runner.rb:8

Patch JRuby's jar_installer.rb with a newer version

jar-dependencies is shipped by default with JRuby. However, the version
it ships with has a bug, and despite upgrading jar-dependencies to
0.1.7, which has the fix, JRuby continues to load the "shipped" version
which has a bug.

This patch will patch JRuby by copying in our own jar_installer.rb from
jar-dependencies master, This patching occurs while unpacking JRuby just
after `vendor:jruby`.

The jar_installer.rb is MIT-licensed and no changes were made.

Add `test:plugins` to test all installed plugins

Tell rspec to do the wildcards instead of trying to make the shell do it.

This fixes test runs on Windows (which doesn't do wildcards like this).
The solution was to tell RSpec to look for all files matching a certain path pattern
within the GEM_HOME.

do not run bundle install twice for test:plugins

Gemfile manipulation classes

Gemfile now in root

install POC with new Gemfile classes

specs for the Gemfile classes

header, some bug fixes

spec header

WIP pluginmanager refactor

generated format

updated .lock

unused file

removed --proxy option

fail elegantly

initial support for update

refactor invoke_bundler, debug output

removed old .lock file

no plugin Gemfile

use clamp error handling

reenable list, some cleanups

support for more finders

refactored using new finders

refactor using is_installed_plugin? and some cleanups

verify valid plugin and update all now only update plugins not all gems

support multiple plugins argument, --force option to bypass validation

list only explicitly installed plugins by default, --all option to include dependencies

support multiple plugins argument

renamed all_installed_plugins to all_installed_plugins_gem_specs and return specs, added comments

remove then

update_gem bug, comments

moved gems as development dependencies

updated .lock file

support for :without

--development option, better output feedback, cleanups

abort when no plugins

cosmetic

param fix, cleanups

removed deprecated .lock files

remove deprecated bundler_install_command and struggling with set_gem_paths

refactored all bundler stuff into LogStash::Bundler

rakelib refactor

refactored bundler code

Bundler.real_fuckin_reset

real_fuckin_reset is now reset_settings, removed unnecessary resetings, cleanups

duplicate plugins requirements merging

cleanups

added vendor:rake, cleanups

broke test tasks into 2 steps, first invoke install then test

rake task name fix

proper error exit code

Freezing the jar-dependencies, ruby-maven, tools

set gem paths on error

renamed TEST_PLUGINS to CORE_PLUGINS, added comments

replace test by core, cleanups

DRYied test tasks

missing gemspec

fixed output

correct image build for artifacts

removed deprecated Gemfiles

fix update with multiple plugins arguments

fix update with multiple plugins arguments

remove deprecated code

implicit begin, explicit block

spec for LogStash::Bundler

remove explit require of rubygems

renamed Environment.set_gem_paths! to bundler_setup!

rename Dsl to DSL

respect to_s contract and return empty string not nil

rename DSL.parse gemfile argument to gemfile_content

better error message

renamed --force to --[no-]verify

refactored exit error handling

use explicit array items in iterators

fix --development switch validation, cleaned bundler_options hash init

renamed is_xxx? methods to xxx?

use direct method call on collection

removed double negative, typo

move maven tools monkey patch into maven_tools_patch.rb

renamed build-image to prepare

fix forgotten argument name change

namespace cleanups

spec files glob pattern

cleanup

cleanup

cleanup

Fix the file-dependencies version to 0.1.5 to fix path issues on windows

monkeypatch Rubygems to silence ffi warning

list all plugin gems by default, new options

adding rake task to get faster feedback loop on windows

refactor bat scripts

Use an unreleased filedependencies gem and skip installing drupal

bump file-dependencies

use the released gem of file-dependencies

Add a set of scripts that simplify:   * The necessary setup for the CI test to be executed.   * The actuall CI test execution, having a different scripts for each     different workflow. This makes the test execution simpler and standard, so changes in internal task don't need big changes in the CI config. It also documents and makes easy for developers to run the tests.

Fixes #2640

refactored test to not depend on STDOUT

create a .rspec file to pass some options used while the code is in the testing environment

add coveralls and simplecov as a development dependencies so we can run coverage tests

remove unnecessary .bundle directory from the artifact

In a release, the .bundle/config has a BUNDLE_PATH setting that can
interfere by misleading the plugin manager into not seeing the
vendor/bundle path.

Fixes #2647

Fixes #2475
2015-02-20 17:31:43 +00:00
Pere Urbon-Bayes
002104f3c8 Added review comments and improvements
fix the logstash_gem_path

added some love from @jsvd comments

added an LS_ENV variable that if set to test it install the plugin dependencies when running the plugin:install-all rake task2

made the vendor:deps task has a more concret behaviour and proper naming

cleanup the all plugins install to only do the installation

added some code to fetch dependencies throw some gemcode within the gemfile as @electrical proposed

Revert "added some code to fetch dependencies throw some gemcode within the gemfile as @electrical proposed"

This reverts commit 20c3243485129c388d1da4ac930a479f017e0d99.

fix a path on the run all plugins test rake task

Fixes #2371
2015-01-21 16:47:26 +00:00
Pere Urbon-Bayes
6e63f6c6b2 added way to add development dependencies to a gemfile and then rerun it
Fixes #2371
2015-01-21 16:47:26 +00:00
Pere Urbon-Bayes
ec97d3d78c add a way to run all plugin test from a rake command
Fixes #2373
2015-01-19 19:41:46 +00:00
Richard Pijnenburg
f83652aada Refactor doc generation
- Use a generic task for installing all plugins
- Use refactored bundle install task

Fixes #2258
2014-12-17 19:56:31 +00:00
Pere Urbon-Bayes
93aadb4d4c Make the test plugins install throw bundler, so we don't have to install them every time we run the test (it makes the thing slow). Refactor also the bundler install task into a single one, making calls to it when necessary.
Fixes #2237
2014-12-17 17:31:32 +00:00
Colin Surprenant
0a130cc5ef add Bundler.reset! method which fixes the .lock file updates
Fixes #2231
2014-12-15 19:52:11 +00:00
Colin Surprenant
9ad3384377 removed coveralls dev dependency, more .bundle dir cleanup, install without parameter fix
Fixes #2203
2014-12-10 23:48:17 +00:00
Colin Surprenant
20393d8ed5 correclty reset bundler, disabled multiple jobs, removed .done file stuff
Fixes #2203
2014-12-10 23:48:17 +00:00
Colin Surprenant
aa70b40862 refactor to use single gem dir vendor/bundle, use Bundler::CLI, .lock files naming
Fixes #2203
2014-12-10 23:48:17 +00:00
Colin Surprenant
288cb1fc05 gem paths settings fix & refactor
Fixes #2203
2014-12-10 23:48:17 +00:00
Joao Duarte
c02f3ec35c abort artifact if plugin installation fails
Fixes #2186
2014-12-05 23:58:57 +00:00
Joao Duarte
f77c08086b remove explicit references to ruby implementation and version
Fixes #2184
2014-12-05 19:42:16 +00:00
Joao Duarte
d6beaccc0c reinstate standalone flag and remove .bundle in vendor task
Fixes #2184
2014-12-05 19:42:16 +00:00
Joao Duarte
37df140bce minor fixes to moving plugins gemfile to tools/
Fixes #2171
2014-12-04 17:09:56 +00:00
Joao Duarte
68c03cf19e move plugins gemfile to tools
Fixes #2171
2014-12-04 17:09:56 +00:00
Joao Duarte
eb8d54ee3a handle vendored/nonvendored ruby and reset env vars
Fixes #2107
2014-12-01 19:37:57 +00:00
Joao Duarte
eff219a003 install default plugins via bundler
Fixes #2107
2014-12-01 19:37:57 +00:00
Jordan Sissel
c1018129f4 Include 99 plugins by default.
This plugin set should be the same as the ones included in "core" in
Logstash 1.4.2, so users should experience no negative impact of this.

Fixes #2020
2014-11-14 22:04:05 +00:00
Richard Pijnenburg
f472d4af24 Cleanup plugins to move to plugin system
Plugins have moved to https://github.com/logstash-plugins/... into
individual repositories. One plugin per repo.

* Add plugin install task and add required plugins for testing
* Adding a plugin task to install plugins
* Added required plugins to a prep task for the test part.

Fixes #1984
2014-11-04 23:24:59 +00:00