Add generators for publisher and builder
This commit is contained in:
parent
74024fbe45
commit
61a69375fd
|
@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|||
s.add_dependency "rubyzip"
|
||||
s.add_dependency "thor"
|
||||
s.add_dependency "jenkins-war", ">= 1.427"
|
||||
s.add_dependency "bundler", "~> 1.0.0"
|
||||
s.add_dependency "bundler"
|
||||
s.add_dependency "jenkins-plugin-runtime", "~> 0.1.6"
|
||||
|
||||
s.add_development_dependency "rspec", "~> 2.0"
|
||||
|
|
|
@ -3,6 +3,7 @@ require 'thor'
|
|||
require 'jenkins/plugin/specification'
|
||||
require 'jenkins/plugin/cli/formatting'
|
||||
require 'jenkins/plugin/cli/new'
|
||||
require 'jenkins/plugin/cli/generate'
|
||||
|
||||
|
||||
module Jenkins
|
||||
|
@ -11,11 +12,7 @@ module Jenkins
|
|||
extend Formatting
|
||||
|
||||
register New, "new", "new NAME", "create a new plugin called NAME"
|
||||
|
||||
desc "generate", "generate code for extensions points"
|
||||
def generate
|
||||
shell.say "TODO: generate()"
|
||||
end
|
||||
register Generate, "generate", "generate [options] [arguments]", "add new classes/templates and views to your project"
|
||||
map "g" => "generate"
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
module Jenkins
|
||||
class Plugin
|
||||
class CLI
|
||||
class Generate < Thor
|
||||
include Thor::Actions
|
||||
|
||||
source_root File.dirname(__FILE__)
|
||||
|
||||
argument :name
|
||||
|
||||
desc "publisher", "publisher NAME", "generate a publish step definition"
|
||||
def publisher
|
||||
@step_class = "Publisher"
|
||||
template('templates/build_step.tt', "models/#{name.downcase}_publisher.rb")
|
||||
end
|
||||
|
||||
desc "builder", "builder NAME", "generate a build step definition"
|
||||
def builder
|
||||
@step_class = "Builder"
|
||||
template('templates/build_step.tt', "models/#{name.downcase}_builder.rb")
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
class <%= name.capitalize %><%= @step_class %> < Jenkins::Tasks::<%= @step_class %>
|
||||
|
||||
##
|
||||
# Runs before the build begins
|
||||
#
|
||||
# @param [Jenkins::Model::Build] build the build which will begin
|
||||
# @param [Jenkins::Launcher] launcher the launcher that can run code on the node running this build
|
||||
# @param [Jenkins::Model::Listener] listener the listener for this build.
|
||||
def prebuild(build, launcher, listener)
|
||||
listener.info "prebuild()"
|
||||
end
|
||||
|
||||
##
|
||||
# Runs the step over the given build and reports the progress to the listener.
|
||||
#
|
||||
# @param [Jenkins::Model::Build] build on which to run this step
|
||||
# @param [Jenkins::Launcher] launcher the launcher that can run code on the node running this build
|
||||
# @param [Jenkins::Model::Listener] listener the listener for this build.
|
||||
def perform(build, launcher, listener)
|
||||
listener.info "perform()"
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue