jpi 0.3.8 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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