Module: Grump::Plugin::Java

Defined in:
lib/grump-java.rb

Instance Method Summary collapse

Instance Method Details

#java_buildObject



32
33
34
35
36
# File 'lib/grump-java.rb', line 32

def java_build
  FileUtils.mkdir_p(@java_output)
  cmd = "javac -d #{@java_output} -cp #{Dir.glob("#{@java_libs}/*.jar").join(':')} #{Dir.glob("#{@java_source}/**/*.java").join(' ')}"
  `#{cmd}`
end

#java_dist(path) ⇒ Object



16
17
18
# File 'lib/grump-java.rb', line 16

def java_dist(path)
  @java_dist = File.expand_path(path, self.path)
end

#java_jarObject



55
56
57
58
59
60
# File 'lib/grump-java.rb', line 55

def java_jar
  d = Dir.pwd
  Dir.chdir(@java_output)
  puts `jar cvf dist.jar #{Dir.glob('*').join(' ')}`
  Dir.chdir(d)
end

#java_libs(path) ⇒ Object



24
25
26
# File 'lib/grump-java.rb', line 24

def java_libs(path)
  @java_libs = File.expand_path(path, self.path)
end

#java_main(clazz) ⇒ Object



28
29
30
# File 'lib/grump-java.rb', line 28

def java_main(clazz)
  @java_main = clazz
end

#java_output(path) ⇒ Object



20
21
22
# File 'lib/grump-java.rb', line 20

def java_output(path)
  @java_output = File.expand_path(path, self.path)
end

#java_packageObject



62
63
64
65
66
67
# File 'lib/grump-java.rb', line 62

def java_package
  libs = File.join(@java_dist, 'libs')
  FileUtils.mkdir_p(libs)
  FileUtils.cp(Dir.glob(File.join(@java_libs, '*.jar')), libs)
  FileUtils.mv(File.join(@java_output, 'dist.jar'), libs)
end

#java_plugin_setupObject



5
6
7
8
9
10
# File 'lib/grump-java.rb', line 5

def java_plugin_setup
  java_source('./src/main/java')
  java_dist('./dist')
  java_output('.grump/out')
  java_libs('.grump/libs')
end

#java_runObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/grump-java.rb', line 38

def java_run
  libs = (Dir.glob("#{@java_libs}/*.jar") << @java_output).join(':')
  Dir.chdir(var(:pwd))

  cmd = "java -cp #{libs} #{@java_main}"

  IO.popen (cmd) do |f|
    begin
      while (line = f.gets)
        puts line
      end
    rescue => e
      puts e.message
    end
  end
end

#java_source(path) ⇒ Object



12
13
14
# File 'lib/grump-java.rb', line 12

def java_source(path)
  @java_source = File.expand_path(path, self.path)
end