Class: Jerbil::JavacTask

Description

Compiles Java source files. The location of the source files and the destination directory is specified by a JavaFileList.

Example

 desc "compile all java files"
 Jerbil::JavacTask.new(:compile) do |t|
   t.java_files = JavaFileList.new("src", "classes")
   t.options :nowarn, :debug
 end

Attributes

NameRead/write?Description
java_files RW A JavaFileList, specifying what to compile and where to write the output to.
name RW
verbose RW

Public Class methods


new (name, files = nil) {|self if block_given?| ...}

    # File lib/jerbil/javac_task.rb, line 30
30:     def initialize(name, files = nil)   
31:       @name = name
32:       @verbose = false
33:                         @java_files = files
34:     
35:       yield self if block_given?
36:                         
37:                         raise "need java_files" if java_files.nil?
38:                         
39:       depends_on java_files.dstdir
40:                         #CLEAN.include(java_files.dstdir) if CLEAN
41:                         
42:       define     
43:     end

Protected Instance methods


compile ( parameters, printwriter )

    # File lib/jerbil/javac_task.rb, line 95
95:     def compile( parameters, printwriter )
96:       javac = Rjb::import('com.sun.tools.javac.Main')
97:       javac.compile(parameters, printwriter)
98:     end

copy_resources ()

     # File lib/jerbil/javac_task.rb, line 100
100:     def copy_resources
101:       java_files.resource_and_target do |res, target|
102:         directory = File.dirname(target)
103:         RakeFileUtils.verbose(verbose) do      
104:           mkdir_p directory unless File.directory?(directory)
105:           cp res, target unless uptodate?(target,res)
106:         end
107:       end
108:     end

gather_filenames ()

    # File lib/jerbil/javac_task.rb, line 87
87:     def gather_filenames
88:       java_files.out_of_date    
89:     end

needs_compiling? ()

    # File lib/jerbil/javac_task.rb, line 83
83:     def needs_compiling?
84:       not java_files.uptodate? 
85:     end

post_compile ()

    # File lib/jerbil/javac_task.rb, line 91
91:     def post_compile
92:       copy_resources
93:     end