jpi 0.3.8 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cedce1ce17fa64d10ce0e0adc557bf8ee897ee5c
4
+ data.tar.gz: 876f8df7e85942aac4824d4df313289b10a57aaf
5
+ SHA512:
6
+ metadata.gz: 0f163b51810513dbbe1a76e598324e13a8bf08271c39a541cb4f9d8b60cba71a3a71762d60a30d4b7eb5b9b28627bbccf43fdf4b9541a39fb1714c013590eed4
7
+ data.tar.gz: a9d189e16c9a546e020db39e73839dd23290b6005eee2d334dc2e920b42eee599dd39d445f7d9980e4fd535360c63df1ff530886384fef4c6bedc2edae974d91
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in jenkins-plugins.gemspec
4
4
  gemspec
data/bin/jpi CHANGED
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ $:.unshift(File.expand_path("../../lib", __FILE__))
3
4
  require 'jenkins/plugin/cli'
4
5
 
5
- Jenkins::Plugin::CLI.start ARGV
6
+ Jenkins::Plugin::CLI.start(ARGV)
7
+
8
+
@@ -10,5 +10,6 @@ Scenario: The directory skeleton is generated
10
10
  """
11
11
  [-] cuke-plugin
12
12
  | Gemfile
13
+ | README.md
13
14
  | cuke.pluginspec
14
15
  """
@@ -1 +1,6 @@
1
1
  require 'aruba/cucumber'
2
+
3
+ Before do
4
+ # Default timeout (3 sec) is too short to run JRuby on travis-ci.org
5
+ @aruba_timeout_seconds = 10
6
+ end
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.add_dependency "bundler"
21
21
  s.add_dependency "thor"
22
- s.add_dependency "rubyzip"
22
+ s.add_dependency "rubyzip", "~> 1.1.0"
23
23
  s.add_dependency "jenkins-war", "> 1.427"
24
24
  s.add_dependency "jenkins-plugin-runtime", "~> #{Jenkins::Plugin::RUNTIME_VERSION_DEPENDENCY}"
25
25
 
@@ -38,11 +38,11 @@ module Jenkins
38
38
 
39
39
  desc "server", "run a test server with plugin"
40
40
  method_option :home, :desc => "set server work directory", :default => 'work'
41
- method_option :port, :desc => "server http port (currently ignored)", :default => 8080
41
+ method_option :port, :desc => "server http port", :default => 8080
42
42
  method_option :war, :desc => "specify a custom jenkins.war to run the plugin with"
43
43
  def server
44
44
  require 'jenkins/plugin/tools/server'
45
- server = Tools::Server.new(spec, options[:home], options[:war])
45
+ server = Tools::Server.new(spec, options[:home], options[:war], options[:port])
46
46
  server.run!
47
47
  end
48
48
  map "s" => "server"
@@ -29,7 +29,7 @@ module Jenkins
29
29
  aliases = option.aliases.empty? ? "" : option.aliases.join(" ") + ","
30
30
  [aliases, "--#{option.name}#{prototype}", "\t",option.description]
31
31
  end
32
- shell.print_table(table, :ident => 2)
32
+ shell.print_table(table, :indent => 2)
33
33
  shell.say
34
34
  end
35
35
 
@@ -44,7 +44,7 @@ Usage: jpi command [arguments] [options]
44
44
  USEAGE
45
45
 
46
46
  shell.say "Commands:"
47
- shell.print_table(list, :ident => 2, :truncate => true)
47
+ shell.print_table(list, :indent => 2, :truncate => true)
48
48
  shell.say
49
49
  class_options_help(shell)
50
50
  end
@@ -13,25 +13,25 @@ module Jenkins
13
13
  shell.say "Available Generators:"
14
14
  tasks.each do |k, v|
15
15
  next if k.to_s == 'help'
16
- puts " #{k}"
16
+ puts " #{v.description}"
17
17
  end
18
18
  end
19
19
 
20
- desc "publisher", "publisher NAME", :desc => "generate a publish step definition"
20
+ desc "publisher", "publisher NAME", :desc => "single build step that run after the build is complete"
21
21
  def publisher(name)
22
22
  @name = name
23
23
  @step_class = "Publisher"
24
24
  template('templates/build_step.tt', "models/#{name.downcase}_publisher.rb")
25
25
  end
26
26
 
27
- desc "builder", "builder NAME", :desc => "generate a build step definition"
27
+ desc "builder", "builder NAME", :desc => "single build step in the entire build process"
28
28
  def builder(name)
29
29
  @name = name
30
30
  @step_class = "Builder"
31
31
  template('templates/build_step.tt', "models/#{name.downcase}_builder.rb")
32
32
  end
33
33
 
34
- desc "wrapper", "wrapper NAME", :desc => "generate a build wrapper"
34
+ desc "wrapper", "wrapper NAME", :desc => "decorate a build with pre and post hooks"
35
35
  def wrapper(name)
36
36
  @name = name
37
37
  template('templates/build_wrapper.tt', "models/#{name.downcase}_wrapper.rb")
@@ -43,17 +43,30 @@ module Jenkins
43
43
  template('templates/node_property.tt', "models/#{name.downcase}_property.rb")
44
44
  end
45
45
 
46
- desc "run_listener", "run_listener NAME", :desc => "create a new run listener"
46
+ desc "run_listener", "run_listener NAME", :desc => "receive notification of build events"
47
47
  def run_listener(name)
48
48
  @name = name
49
49
  template('templates/run_listener.tt', "models/#{name.downcase}_listener.rb")
50
50
  end
51
51
 
52
- desc "computer_listener", "computer_listener NAME", :desc => "create a new computer listener"
52
+ desc "item_listener", "item_listener NAME", :desc => "receive notification of job change events"
53
+ def item_listener(name)
54
+ @name = name
55
+ template('templates/item_listener.tt', "models/#{name.downcase}_listener.rb")
56
+ end
57
+
58
+ desc "computer_listener", "computer_listener NAME", :desc => "receive notification of computers events"
53
59
  def computer_listener(name)
54
60
  @name = name
55
61
  template('templates/computer_listener.tt', "models/#{name.downcase}_listener.rb")
56
62
  end
63
+
64
+ desc "trigger", "trigger NAME", :desc => "receive notification of computers events"
65
+ def trigger(name)
66
+ @name = name
67
+ template('templates/trigger.tt', "models/#{name.downcase}_trigger.rb")
68
+ template('templates/project_config.erb.tt', "views/#{name.downcase}/config.erb")
69
+ end
57
70
  end
58
71
  end
59
72
  end
@@ -11,12 +11,8 @@ module Jenkins
11
11
 
12
12
  argument :name
13
13
 
14
- def name
15
- @name.gsub(/\s+/, '-').sub(/[_-]plugin$/, '')
16
- end
17
-
18
- def repository_name
19
- name + '-plugin'
14
+ def readme
15
+ template('templates/README.md.tt', "#{repository_name}/README.md")
20
16
  end
21
17
 
22
18
  def create_gemfile
@@ -44,6 +40,15 @@ module Jenkins
44
40
  template('templates/pluginspec.tt', "#{repository_name}/#{name}.pluginspec", opts)
45
41
  end
46
42
 
43
+ protected
44
+
45
+ def name
46
+ @name.gsub(/\s+/, '-').sub(/[_-]plugin$/, '')
47
+ end
48
+
49
+ def repository_name
50
+ name + '-plugin'
51
+ end
47
52
  end
48
53
  end
49
54
  end
@@ -1,3 +1,3 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem "jenkins-plugin-runtime", "~> <%= Jenkins::Plugin::RUNTIME_VERSION_DEPENDENCY %>"
@@ -0,0 +1,20 @@
1
+ # <%= name %> plugin for Jenkins
2
+
3
+ TODO: Purpose and awesomeness when finished.
4
+
5
+ ## Development
6
+
7
+ For development and to see this plugin in a test Jenkins server:
8
+
9
+ ```
10
+ $ bundle install
11
+ $ jpi server
12
+ ```
13
+
14
+ ## Contributing
15
+
16
+ 1. Fork it
17
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
18
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
19
+ 4. Push to the branch (`git push origin my-new-feature`)
20
+ 5. Create new Pull Request
@@ -1,4 +1,9 @@
1
-
1
+ <% case @step_class -%>
2
+ <% when "Publisher" -%>
3
+ # A single build step that run after the build is complete
4
+ <% when "Builder" -%>
5
+ # A single build step in the entire build process
6
+ <% end -%>
2
7
  class <%= name.capitalize %><%= @step_class %> < Jenkins::Tasks::<%= @step_class %>
3
8
 
4
9
  display_name "<%= @name.capitalize %> <%= @step_class.downcase %>"
@@ -1,3 +1,4 @@
1
+ # Decorate a build with pre and post hooks.
1
2
  class <%= name.capitalize %>Wrapper < Jenkins::Tasks::BuildWrapper
2
3
  display_name "<%= name.capitalize %> build wrapper"
3
4
 
@@ -1,3 +1,19 @@
1
+ # Receive notification of what computers in a build array are doing
2
+ #
3
+ # This class will receive callbacks
4
+ # when nodes come online, offline, etc.., etc...
5
+ #
6
+ # To receive a callback, override the method with the same name as
7
+ # the event. E.g.
8
+ #
9
+ # class MyComputerListener
10
+ # include Jenkins::Slaves::ComputerListener
11
+ #
12
+ # def online(computer, listener)
13
+ # puts "#{computer} is now online!"
14
+ # end
15
+ # end
16
+ #
1
17
  class <%= name.capitalize %>Listener
2
18
  include Jenkins::Slaves::ComputerListener
3
19
 
@@ -0,0 +1,71 @@
1
+ # Receives notifications about CRUD operations of Items.
2
+ #
3
+ # This class will receive callbacks
4
+ # when items are created, copied, updated, deleted, etc...
5
+ #
6
+ # To receive a callback, override the method with the same name as
7
+ # the event. E.g.
8
+ #
9
+ # class MyRunListener
10
+ # include Jenkins::Listeners::ItemListener
11
+ #
12
+ # def updated(item)
13
+ # puts "#{item.native.inspect} updated!"
14
+ # end
15
+ # end
16
+ #
17
+ # Note: currently the +item+ objects being passed in are OpaqueJavaObject proxies
18
+ # around Java objects. You must invoke `.native` on them to access the underlying
19
+ # Java object that you want to interact with.
20
+ class <%= name.capitalize %>Listener
21
+ include Jenkins::Listeners::ItemListener
22
+
23
+ # Called after a new job is created and added to jenkins.model.Jenkins,
24
+ # before the initial configuration page is provided.
25
+ #
26
+ # This is useful for changing the default initial configuration of newly created jobs.
27
+ # For example, you can enable/add builders, etc.
28
+ def created(item)
29
+ end
30
+
31
+ # Called after a new job is created by copying from an existing job.
32
+ #
33
+ # For backward compatibility, the default implementation of this method calls onCreated.
34
+ # If you choose to handle this method, think about whether you want to call super.onCopied or not.
35
+ #
36
+ # @param [Jenkins::Model::Item] The source item that the new one was copied from. Never null.
37
+ # @param [Jenkins::Model::Item] The newly created item. Never null.
38
+ def copied(src_item, item)
39
+ end
40
+
41
+ # Called after all the jobs are loaded from disk into jenkins.model.Jenkins
42
+ # object.
43
+ def loaded()
44
+ end
45
+
46
+ # Called right before a job is going to be deleted.
47
+ #
48
+ # At this point the data files of the job is already gone.
49
+ # @param [Jenkins::Model::Item] The item being deleted.
50
+ def deleted(item)
51
+ end
52
+
53
+ # Called after a job is renamed.
54
+ #
55
+ # @param [Jenkins::Model::Item] The item being renamed
56
+ # @param The old name of the job.
57
+ # @param The new name of the job. Same as Item#getName().
58
+ def renamed(item, oldName, newName)
59
+ end
60
+
61
+ # Called after a job has its configuration updated.
62
+ #
63
+ # @param [Jenkins::Model::Item] The item being updated
64
+ def updated(item)
65
+ end
66
+
67
+ # Called at the begenning of the orderly shutdown sequence to
68
+ # allow plugins to clean up stuff
69
+ def before_shutdown()
70
+ end
71
+ end
@@ -0,0 +1,6 @@
1
+ <%%
2
+ f = taglib("/lib/form")
3
+ f.entry(:title => 'Some field', :field => 'some_field', :description => "An excellent field for this project/job") do
4
+ f.textbox
5
+ end
6
+ %>
@@ -1,3 +1,22 @@
1
+ # Receive notification of build events
2
+ #
3
+ # <%= name.capitalize %>Listener is always Jenkins-wide, so once registered
4
+ # it gets notifications for every build that happens in this Hudson.
5
+ #
6
+ # This class will receive callbacks
7
+ # when builds are started, completed, deleted, etc...
8
+ #
9
+ # To receive a callback, override the method with the same name as
10
+ # the event. E.g.
11
+ #
12
+ # class MyRunListener
13
+ # include Jenkins::Listeners::RunListener
14
+ #
15
+ # def started(build, listener)
16
+ # puts "build.inspect started!"
17
+ # end
18
+ # end
19
+ #
1
20
  class <%= name.capitalize %>Listener
2
21
  include Jenkins::Listeners::RunListener
3
22
 
@@ -0,0 +1,35 @@
1
+ java_import Java.java.util.logging.Logger
2
+
3
+ # Triggers a Build.
4
+ # {http://javadoc.jenkins-ci.org/hudson/triggers/Trigger.html}
5
+ class <%= name.capitalize %>Trigger < Jenkins::Triggers::Trigger
6
+ display_name "<%= name.capitalize %> trigger"
7
+
8
+ def self.applicable?(type)
9
+ type.is_a? Java::HudsonModel::Project
10
+ end
11
+
12
+ attr_accessor :some_field
13
+
14
+ # Invoked with the form parameters when this extension point
15
+ # is created from a configuration screen.
16
+ def initialize(attrs = {})
17
+ @some_field = attrs['some_field']
18
+ end
19
+
20
+ # Executes the triggered task.
21
+ #
22
+ # This method is invoked when Trigger.new(String) is used
23
+ # to create an instance, and the crontab matches the current time.
24
+ def run
25
+ end
26
+
27
+ # Called before a Trigger is removed.
28
+ # Under some circumstances, this may be invoked more than once for
29
+ # a given Trigger, so be prepared for that.
30
+ #
31
+ # When the configuration is changed for a project, all triggers
32
+ # are removed once and then added back.
33
+ def stop
34
+ end
35
+ end
@@ -1,4 +1,4 @@
1
- require 'zip/zip'
1
+ require 'zip'
2
2
  require 'net/http'
3
3
  require 'uri'
4
4
  require 'fileutils'
@@ -15,7 +15,7 @@ module Jenkins
15
15
  @file = file
16
16
 
17
17
  # load and parse manifests
18
- Zip::ZipFile.open(@file) do |zip|
18
+ Zip::File.open(@file) do |zip|
19
19
  zip.get_input_stream("META-INF/MANIFEST.MF") do |m|
20
20
  # main section of the manifest
21
21
  @manifest = parse_manifest(m.read)[0]
@@ -66,7 +66,16 @@ module Jenkins
66
66
  # You should choose better exception.
67
67
  raise ArgumentError, 'HTTP redirect too deep' if limit == 0
68
68
 
69
- response = Net::HTTP.get_response(URI.parse(uri))
69
+ http = if ENV['HTTP_PROXY'] || ENV['http_proxy']
70
+ proxy_uri = URI.parse(ENV['HTTP_PROXY'] || ENV['http_proxy'])
71
+ Net::HTTP::Proxy(proxy_uri.host,
72
+ proxy_uri.port,
73
+ proxy_uri.user,
74
+ proxy_uri.password)
75
+ else
76
+ Net::HTTP
77
+ end
78
+ response = http.get_response(URI.parse(uri))
70
79
  case response
71
80
  when Net::HTTPSuccess then response
72
81
  when Net::HTTPRedirection then fetch(response['location'], limit - 1)
@@ -1,6 +1,6 @@
1
1
  require 'jenkins/plugin/tools/bundle'
2
2
  require 'jenkins/plugin/tools/manifest'
3
- require 'zip/zip'
3
+ require 'zip'
4
4
 
5
5
  module Jenkins
6
6
  class Plugin
@@ -26,7 +26,7 @@ module Jenkins
26
26
 
27
27
  File.delete file_name if File.exists?(file_name)
28
28
 
29
- Zip::ZipFile.open(file_name, Zip::ZipFile::CREATE) do |zipfile|
29
+ Zip::File.open(file_name, Zip::File::CREATE) do |zipfile|
30
30
  zipfile.get_output_stream("META-INF/MANIFEST.MF") do |f|
31
31
  manifest.write_hpi(f)
32
32
  f.puts "Bundle-Path: vendor/gems"
@@ -40,7 +40,16 @@ module Jenkins
40
40
  raise Exception.new("no credential available to connect to jenkins-ci.org. Please create ~/.jenkins-ci.org. See https://wiki.jenkins-ci.org/display/JENKINS/Dot+Jenkins+Ci+Dot+Org")
41
41
  end
42
42
 
43
- http = Net::HTTP.new("maven.jenkins-ci.org",8081)
43
+ proxy = if ENV['HTTP_PROXY'] || ENV['http_proxy']
44
+ proxy_uri = URI.parse(ENV['HTTP_PROXY'] || ENV['http_proxy'])
45
+ Net::HTTP::Proxy(proxy_uri.host,
46
+ proxy_uri.port,
47
+ proxy_uri.user,
48
+ proxy_uri.password)
49
+ else
50
+ Net::HTTP
51
+ end
52
+ http = proxy.new("maven.jenkins-ci.org",8081)
44
53
 
45
54
  puts @snapshot ? "deploying as a snapshot. Run with the --release option to release it for real when you are ready" : "deploying as a release"
46
55
  puts "Generating POM"
@@ -47,7 +47,17 @@ module Jenkins
47
47
  # You should choose better exception.
48
48
  raise ArgumentError, 'HTTP redirect too deep' if limit == 0
49
49
 
50
- response = Net::HTTP.get_response(URI.parse(uri))
50
+ http = if ENV['HTTP_PROXY'] || ENV['http_proxy']
51
+ proxy_uri = URI.parse(ENV['HTTP_PROXY'] || ENV['http_proxy'])
52
+ Net::HTTP::Proxy(proxy_uri.host,
53
+ proxy_uri.port,
54
+ proxy_uri.user,
55
+ proxy_uri.password)
56
+ else
57
+ Net::HTTP
58
+ end
59
+
60
+ response = http.get_response(URI.parse(uri))
51
61
  case response
52
62
  when Net::HTTPSuccess then response
53
63
  when Net::HTTPRedirection then fetch(response['location'], limit - 1)
@@ -58,4 +68,4 @@ module Jenkins
58
68
  end
59
69
  end
60
70
  end
61
- end
71
+ end
@@ -9,11 +9,12 @@ module Jenkins
9
9
  module Tools
10
10
  class Server
11
11
 
12
- def initialize(spec, workdir, war)
12
+ def initialize(spec, workdir, war = nil, port)
13
13
  @spec = spec
14
14
  @workdir = workdir
15
15
  @plugindir = "#{workdir}/plugins"
16
16
  @war = war || Jenkins::War::LOCATION
17
+ @port = port
17
18
  end
18
19
 
19
20
  def run!
@@ -23,8 +24,8 @@ module Jenkins
23
24
  resolver = Jenkins::Plugin::Tools::Resolver.new(@spec, @plugindir)
24
25
 
25
26
  resolver.resolve!
26
- # generate the plugin manifest
27
27
 
28
+ # generate the plugin manifest
28
29
  File.open("#{@plugindir}/#{@spec.name}.hpl",mode="w+") do |f|
29
30
  manifest.write_hpl(f, loadpath)
30
31
  end
@@ -43,12 +44,13 @@ module Jenkins
43
44
  args << "-Dstapler.trace=true"
44
45
  args << "-Djenkins.development-mode=true"
45
46
  args << "-Ddebug.YUI=true"
46
- # args << "-Djruby.debug.loadService=true"
47
- # args << "-Djruby.debug.loadService.timing=true"
48
47
  args << ENV['JAVA_OPTS'] if ENV.key? 'JAVA_OPTS'
49
48
  args << "-jar"
50
49
  args << @war
51
50
  args << ENV['JENKINS_OPTS'] if ENV.key? 'JENKINS_OPTS'
51
+ unless ENV.key?('JENKINS_OPTS') && !ENV['JENKINS_OPTS'].index("--httpPort=").nil?
52
+ args << "--httpPort=#{@port}"
53
+ end
52
54
  exec args.join(' ')
53
55
  end
54
56
  end
@@ -1,6 +1,6 @@
1
1
  module Jenkins
2
2
  class Plugin
3
- VERSION = "0.3.8"
3
+ VERSION = "0.4.0"
4
4
  RUNTIME_VERSION_DEPENDENCY = "0.2.3"
5
5
  end
6
6
  end
@@ -2,7 +2,6 @@ require 'jenkins/plugin/version'
2
2
  require 'jenkins/plugin/specification'
3
3
  require 'jenkins/plugin/tools/hpi'
4
4
  require 'jenkins/plugin/tools/loadpath'
5
- require 'zip/zip'
6
5
 
7
6
  module Jenkins
8
7
  # given the IO handle, produce the basic manifest entries that are common between hpi and hpl formats
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jpi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Charles Lowell
@@ -11,78 +10,62 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2012-11-14 00:00:00.000000000 Z
13
+ date: 2014-03-07 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: bundler
18
17
  version_requirements: !ruby/object:Gem::Requirement
19
18
  requirements:
20
- - - ! '>='
19
+ - - '>='
21
20
  - !ruby/object:Gem::Version
22
- version: !binary |-
23
- MA==
24
- none: false
21
+ version: '0'
25
22
  requirement: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
- version: !binary |-
30
- MA==
31
- none: false
26
+ version: '0'
32
27
  prerelease: false
33
28
  type: :runtime
34
29
  - !ruby/object:Gem::Dependency
35
30
  name: thor
36
31
  version_requirements: !ruby/object:Gem::Requirement
37
32
  requirements:
38
- - - ! '>='
33
+ - - '>='
39
34
  - !ruby/object:Gem::Version
40
- version: !binary |-
41
- MA==
42
- none: false
35
+ version: '0'
43
36
  requirement: !ruby/object:Gem::Requirement
44
37
  requirements:
45
- - - ! '>='
38
+ - - '>='
46
39
  - !ruby/object:Gem::Version
47
- version: !binary |-
48
- MA==
49
- none: false
40
+ version: '0'
50
41
  prerelease: false
51
42
  type: :runtime
52
43
  - !ruby/object:Gem::Dependency
53
44
  name: rubyzip
54
45
  version_requirements: !ruby/object:Gem::Requirement
55
46
  requirements:
56
- - - ! '>='
47
+ - - ~>
57
48
  - !ruby/object:Gem::Version
58
- version: !binary |-
59
- MA==
60
- none: false
49
+ version: 1.1.0
61
50
  requirement: !ruby/object:Gem::Requirement
62
51
  requirements:
63
- - - ! '>='
52
+ - - ~>
64
53
  - !ruby/object:Gem::Version
65
- version: !binary |-
66
- MA==
67
- none: false
54
+ version: 1.1.0
68
55
  prerelease: false
69
56
  type: :runtime
70
57
  - !ruby/object:Gem::Dependency
71
58
  name: jenkins-war
72
59
  version_requirements: !ruby/object:Gem::Requirement
73
60
  requirements:
74
- - - !binary |-
75
- Pg==
61
+ - - '>'
76
62
  - !ruby/object:Gem::Version
77
63
  version: '1.427'
78
- none: false
79
64
  requirement: !ruby/object:Gem::Requirement
80
65
  requirements:
81
- - - !binary |-
82
- Pg==
66
+ - - '>'
83
67
  - !ruby/object:Gem::Version
84
68
  version: '1.427'
85
- none: false
86
69
  prerelease: false
87
70
  type: :runtime
88
71
  - !ruby/object:Gem::Dependency
@@ -92,67 +75,53 @@ dependencies:
92
75
  - - ~>
93
76
  - !ruby/object:Gem::Version
94
77
  version: 0.2.3
95
- none: false
96
78
  requirement: !ruby/object:Gem::Requirement
97
79
  requirements:
98
80
  - - ~>
99
81
  - !ruby/object:Gem::Version
100
82
  version: 0.2.3
101
- none: false
102
83
  prerelease: false
103
84
  type: :runtime
104
85
  - !ruby/object:Gem::Dependency
105
86
  name: rake
106
87
  version_requirements: !ruby/object:Gem::Requirement
107
88
  requirements:
108
- - - ! '>='
89
+ - - '>='
109
90
  - !ruby/object:Gem::Version
110
- version: !binary |-
111
- MA==
112
- none: false
91
+ version: '0'
113
92
  requirement: !ruby/object:Gem::Requirement
114
93
  requirements:
115
- - - ! '>='
94
+ - - '>='
116
95
  - !ruby/object:Gem::Version
117
- version: !binary |-
118
- MA==
119
- none: false
96
+ version: '0'
120
97
  prerelease: false
121
98
  type: :development
122
99
  - !ruby/object:Gem::Dependency
123
100
  name: cucumber
124
101
  version_requirements: !ruby/object:Gem::Requirement
125
102
  requirements:
126
- - - ! '>='
103
+ - - '>='
127
104
  - !ruby/object:Gem::Version
128
- version: !binary |-
129
- MA==
130
- none: false
105
+ version: '0'
131
106
  requirement: !ruby/object:Gem::Requirement
132
107
  requirements:
133
- - - ! '>='
108
+ - - '>='
134
109
  - !ruby/object:Gem::Version
135
- version: !binary |-
136
- MA==
137
- none: false
110
+ version: '0'
138
111
  prerelease: false
139
112
  type: :development
140
113
  - !ruby/object:Gem::Dependency
141
114
  name: aruba
142
115
  version_requirements: !ruby/object:Gem::Requirement
143
116
  requirements:
144
- - - ! '>='
117
+ - - '>='
145
118
  - !ruby/object:Gem::Version
146
- version: !binary |-
147
- MA==
148
- none: false
119
+ version: '0'
149
120
  requirement: !ruby/object:Gem::Requirement
150
121
  requirements:
151
- - - ! '>='
122
+ - - '>='
152
123
  - !ruby/object:Gem::Version
153
- version: !binary |-
154
- MA==
155
- none: false
124
+ version: '0'
156
125
  prerelease: false
157
126
  type: :development
158
127
  description: Allows you to generate a new Ruby plugin project, build it, test it in Jenkins and release it to the Jenkins Update Center.
@@ -179,12 +148,16 @@ files:
179
148
  - lib/jenkins/plugin/cli/generate.rb
180
149
  - lib/jenkins/plugin/cli/new.rb
181
150
  - lib/jenkins/plugin/cli/templates/Gemfile.tt
151
+ - lib/jenkins/plugin/cli/templates/README.md.tt
182
152
  - lib/jenkins/plugin/cli/templates/build_step.tt
183
153
  - lib/jenkins/plugin/cli/templates/build_wrapper.tt
184
154
  - lib/jenkins/plugin/cli/templates/computer_listener.tt
155
+ - lib/jenkins/plugin/cli/templates/item_listener.tt
185
156
  - lib/jenkins/plugin/cli/templates/node_property.tt
186
157
  - lib/jenkins/plugin/cli/templates/pluginspec.tt
158
+ - lib/jenkins/plugin/cli/templates/project_config.erb.tt
187
159
  - lib/jenkins/plugin/cli/templates/run_listener.tt
160
+ - lib/jenkins/plugin/cli/templates/trigger.tt
188
161
  - lib/jenkins/plugin/tools/bundle.rb
189
162
  - lib/jenkins/plugin/tools/hpi.rb
190
163
  - lib/jenkins/plugin/tools/loadpath.rb
@@ -198,29 +171,26 @@ files:
198
171
  - lib/jenkins/rake.rb
199
172
  homepage: https://github.com/jenkinsci/jenkins.rb/tree/master/ruby-tools/jpi
200
173
  licenses: []
174
+ metadata: {}
201
175
  post_install_message:
202
176
  rdoc_options: []
203
177
  require_paths:
204
178
  - lib
205
179
  required_ruby_version: !ruby/object:Gem::Requirement
206
180
  requirements:
207
- - - ! '>='
181
+ - - '>='
208
182
  - !ruby/object:Gem::Version
209
- version: !binary |-
210
- MA==
211
- none: false
183
+ version: '0'
212
184
  required_rubygems_version: !ruby/object:Gem::Requirement
213
185
  requirements:
214
- - - ! '>='
186
+ - - '>='
215
187
  - !ruby/object:Gem::Version
216
- version: !binary |-
217
- MA==
218
- none: false
188
+ version: '0'
219
189
  requirements: []
220
190
  rubyforge_project:
221
- rubygems_version: 1.8.24
191
+ rubygems_version: 2.1.9
222
192
  signing_key:
223
- specification_version: 3
193
+ specification_version: 4
224
194
  summary: Tools for creating and building Jenkins Ruby plugins
225
195
  test_files:
226
196
  - features/create-new-plugin.feature