Class: Jenkins::Plugin::Tools::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/jenkins/plugin/tools/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(spec, workdir, war) ⇒ Server

Returns a new instance of Server.



12
13
14
15
16
17
# File 'lib/jenkins/plugin/tools/server.rb', line 12

def initialize(spec, workdir, war)
  @spec = spec
  @workdir = workdir
  @plugindir = "#{workdir}/plugins"
  @war = war || Jenkins::War::LOCATION
end

Instance Method Details

#run!Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/jenkins/plugin/tools/server.rb', line 19

def run!
  FileUtils.mkdir_p(@plugindir)
  loadpath = Jenkins::Plugin::Tools::Loadpath.new
  manifest = Jenkins::Plugin::Tools::Manifest.new(@spec)
  resolver = Jenkins::Plugin::Tools::Resolver.new(@spec, @plugindir)

  resolver.resolve!
  # generate the plugin manifest

  File.open("#{@plugindir}/#{@spec.name}.hpl",mode="w+") do |f|
    manifest.write_hpl(f, loadpath)
  end


  # execute Jenkins
  args = []
  args << "java"
  args << "-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n"
  args << "-DJENKINS_HOME=#{@workdir}"
  args << "-Dstapler.trace=true"
  args << "-Ddebug.YUI=true"
#          args << "-Djruby.debug.loadService=true"
#          args << "-Djruby.debug.loadService.timing=true"
  args << "-jar"
  args << @war
  exec *args
end