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.
- 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
|