jpi 0.3.8 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/bin/jpi +4 -1
- data/features/create-new-plugin.feature +1 -0
- data/features/support/env.rb +5 -0
- data/jpi.gemspec +1 -1
- data/lib/jenkins/plugin/cli.rb +2 -2
- data/lib/jenkins/plugin/cli/formatting.rb +2 -2
- data/lib/jenkins/plugin/cli/generate.rb +19 -6
- data/lib/jenkins/plugin/cli/new.rb +11 -6
- data/lib/jenkins/plugin/cli/templates/Gemfile.tt +1 -1
- data/lib/jenkins/plugin/cli/templates/README.md.tt +20 -0
- data/lib/jenkins/plugin/cli/templates/build_step.tt +6 -1
- data/lib/jenkins/plugin/cli/templates/build_wrapper.tt +1 -0
- data/lib/jenkins/plugin/cli/templates/computer_listener.tt +16 -0
- data/lib/jenkins/plugin/cli/templates/item_listener.tt +71 -0
- data/lib/jenkins/plugin/cli/templates/project_config.erb.tt +6 -0
- data/lib/jenkins/plugin/cli/templates/run_listener.tt +19 -0
- data/lib/jenkins/plugin/cli/templates/trigger.tt +35 -0
- data/lib/jenkins/plugin/tools/hpi.rb +12 -3
- data/lib/jenkins/plugin/tools/package.rb +2 -2
- data/lib/jenkins/plugin/tools/release.rb +10 -1
- data/lib/jenkins/plugin/tools/resolver.rb +12 -2
- data/lib/jenkins/plugin/tools/server.rb +6 -4
- data/lib/jenkins/plugin/version.rb +1 -1
- data/lib/jenkins/rake.rb +0 -1
- metadata +39 -69
checksums.yaml
ADDED
@@ -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
data/bin/jpi
CHANGED
data/features/support/env.rb
CHANGED
data/jpi.gemspec
CHANGED
@@ -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
|
|
data/lib/jenkins/plugin/cli.rb
CHANGED
@@ -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
|
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, :
|
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, :
|
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 " #{
|
16
|
+
puts " #{v.description}"
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
desc "publisher", "publisher NAME", :desc => "
|
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 => "
|
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 => "
|
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 => "
|
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 "
|
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
|
15
|
-
|
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
|
@@ -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,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
|
@@ -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
|
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::
|
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
|
-
|
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
|
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::
|
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
|
-
|
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
|
-
|
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
|
data/lib/jenkins/rake.rb
CHANGED
@@ -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.
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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
|
-
- -
|
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
|
-
- -
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
217
|
-
MA==
|
218
|
-
none: false
|
188
|
+
version: '0'
|
219
189
|
requirements: []
|
220
190
|
rubyforge_project:
|
221
|
-
rubygems_version: 1.
|
191
|
+
rubygems_version: 2.1.9
|
222
192
|
signing_key:
|
223
|
-
specification_version:
|
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
|