diff --git a/test/jenkins/config.xml.erb b/test/jenkins/config.xml.erb new file mode 100644 index 000000000..882286ed3 --- /dev/null +++ b/test/jenkins/config.xml.erb @@ -0,0 +1,70 @@ + + + + + false + + + 2 + + + + + https://github.com/logstash/logstash.git + + + + + master + + + false + false + false + false + false + false + false + false + false + false + + Default + + + + + + + + false + + + + true + false + false + false + + false + + + export JRUBY_OPTS=--1.9 + +bundle install +bundle exec rspec spec/<%= plugin_path %> + + + + + + + + rvm + + 1.6.8@logstash + + + + + diff --git a/test/jenkins/create-jobs.rb b/test/jenkins/create-jobs.rb new file mode 100644 index 000000000..31680e9d1 --- /dev/null +++ b/test/jenkins/create-jobs.rb @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +require "erb" + +if ENV["JENKINS_HOME"].nil? + puts "No JENKINS_HOME set." + exit 1 +end + +plugindir = File.join(File.dirname(__FILE__), "..", "..", "lib", "logstash") + +plugins = %w(inputs filters outputs).collect { |t| Dir.glob(File.join(plugindir, t, "*.rb")) }.flatten + +template = ERB.new("config.xml.erb") +plugins.each do |path| + job = path.gsub(/.*\/([^\/]+)\/([^\/]+)\.rb$/, '\1-\2') + plugin_path = path.gsub(/.*\/([^\/]+)\/([^\/]+)\.rb$/, '\1/\2') + + jobdir = File.join(ENV["JENKINS_HOME"], job) + puts "Writing #{jobdir}/config.xml" + Dir.mkdir(jobdir) if !Dir.exists?(jobdir) + File.write(File.join(jobdir, "config.xml"), template.result(binding)) +end