class Asciidoctor::Diagram::Java::CommandServer
Public Class Methods
new(java, classpath)
click to toggle source
# File lib/asciidoctor-diagram/util/java_socket.rb, line 12 def initialize(java, classpath) classpath.each do |file| raise "Classpath item #{file} does not exist" unless File.exist?(file) end args = [] args << '-Djava.awt.headless=true' args << '-Djava.net.useSystemProxies=true' args << '-Dfile.encoding=UTF-8' args << '-cp' args << classpath.flatten.map { |jar| ::Asciidoctor::Diagram::Platform.host_os_path(jar).strip }.join(::Asciidoctor::Diagram::Platform.host_os_path_separator) args << 'org.asciidoctor.diagram.StdInOutCommandServer' @server = IO.popen([java, *args], 'r+b') end
Public Instance Methods
io()
click to toggle source
# File lib/asciidoctor-diagram/util/java_socket.rb, line 28 def io @server end
shutdown()
click to toggle source
# File lib/asciidoctor-diagram/util/java_socket.rb, line 32 def shutdown # KILL is a bit heavy handed, but TERM does not seem to shut down the JVM on Windows. Process.kill('KILL', @server.pid) @server.close end