Changeset 5845

Show
Ignore:
Timestamp:
10/06/06 19:13:17
Author:
jan
Message:

reorganised stuff around jerbil

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/apt_task.rb

    r5784 r5845  
    55 
    66# Apt helper class - uses annotation processor API to identify annotations. 
    7 #       Based on 
    8 #       http://weblogs.java.net/blog/ss141213/archive/2005/12/how_to_automati.html 
    9 #   TODO: wrap compile/processing step in one? 
    10  
    11  
    127module Rake 
    138  class AptTask < JavacTask 
     
    8883     
    8984    def post_compile 
    90       super 
     85      super unless nocompile 
    9186      @found_annotations.each do |name, types| 
    9287        handler = @found_annotations_handler[name]         
  • trunk/lib/java_helper.rb

    r5843 r5845  
    8989end 
    9090 
     91module ExtraArgumentTaking 
     92    attr_reader :extra_args 
     93       
     94    def self.append_features(base) 
     95      super     
     96      class << base 
     97        def create_alias_for(actual, new) 
     98          @@aliases ||= {} 
     99          @@aliases[new.to_s] = actual.to_s          
     100        end      
     101      end 
     102    end 
     103     
     104    def options(*args) 
     105      args.each {|a| self.send(a)} 
     106    end 
     107     
     108    def add_files(files) 
     109      @extra_args += files.to_a 
     110    end 
     111     
     112    def method_missing(symbol, *args)    
     113      arg = symbol.to_s.sub(/=/, "") 
     114      @extra_args ||= []       
     115      if @@aliases && @@aliases.has_key?(arg)    
     116        arg = @@aliases[arg]   
     117      end 
     118       
     119      @extra_args << "-#{arg}" 
     120      @extra_args += args 
     121    end 
     122end 
    91123 
    92124class FileList   
  • trunk/lib/javac_task.rb

    r5843 r5845  
    55module Rake 
    66  class JavacTask < TaskLib 
    7     include JavaHelper 
     7    include JavaHelper, ExtraArgumentTaking 
    88     
    99    attr_accessor :name 
    1010    attr_accessor :java_files 
    11     attr_accessor :dependencies 
    12     attr_accessor :nowarn 
    1311    attr_accessor :verbose 
    1412 
     13    create_alias_for :g, :debug 
    1514     
    1615    def initialize(name) 
    1716      @name = name 
    18       @dependencies = []      
    19       @nowarn = false 
    2017      @verbose = false 
    21       @extraargs = [] 
    2218      yield self if block_given? 
    23       dependencies << java_files.dstdir 
    2419      define      
    2520    end 
    2621     
    2722    def define 
    28           desc "compile files in #{java_files.srcdir.to_a.join(', ')}" if Rake.application.last_comment.nil? 
    29       #task name => dependencies + [ *java_files ] do |t| 
    30       task name => dependencies do |t| 
     23            desc "compile files in #{java_files.srcdir.to_a.join(', ')}" if Rake.application.last_comment.nil?      
     24      task name => java_files.dstdir do |t| 
    3125           
    32         parms = [ "-d", java_files.dstdir ] 
     26        parms = [ "-d", java_files.dstdir ] 
    3327        parms += [ "-sourcepath", java_files.sourcepath ] unless java_files.sourcepath.nil?  
    3428         
    35         parms << "-nowarn" if nowarn 
    3629        parms << "-verbose" if verbose 
    3730         
     
    4134        java_files.gsub!( "/", "\\" ) if $IS_WINDOWS 
    4235                
    43         parms += @extraargs 
     36        parms += extra_args unless extra_args.nil? 
    4437        parms += java_files       
    45               
    46         #require 'pp' 
    47         #pp parms 
    48          
     38          
    4939        ret = 0 
    5040        javacout = printWriter_to_s do |pw| 
    5141          ret = compile(parms, pw) 
    5242        end 
    53  
     43     
    5444        raise "Compile error:\n#{javacout}" unless ret == 0         
    5545        post_compile 
     
    5848    end 
    5949   
    60      
    61     def method_missing(symbol, *args)    
    62       arg = symbol.to_s.sub(/=/, "") 
    63       @extraargs << "-#{arg}" 
    64       @extraargs += args 
    65     end 
    66      
    6750    protected     
    6851    def post_compile 
  • trunk/lib/javadoc_task.rb

    r5827 r5845  
    44module Rake 
    55  class JavaDocTask < TaskLib 
    6    
    7     # Name for task 
     6    include ExtraArgumentTaking 
     7     
    88     attr_accessor :name 
    9      attr_accessor :sourcepath 
    109     attr_accessor :dstdir 
    11      attr_accessor :package 
    12      attr_accessor :dependencies 
    13      attr_accessor :verbose 
    14      attr_accessor :links 
    15       
     10           
    1611     def initialize(name = :javadoc) 
    17       @name = name 
    18       @dependencies = [] 
    19       @verbose = false 
    20       @links = [] 
     12      @name = name    
    2113      yield self if block_given? 
     14      raise "need dstdir parameter" if dstdir.nil? 
    2215      define 
    2316     end 
     
    2518     def define 
    2619      desc "generate javadocs" if Rake.application.last_comment.nil? 
    27       task name => dependencies << dstdir do |t| 
    28         javadoc = Rjb::import('com.sun.tools.javadoc.Main') 
    29      
    30         args = [ "-sourcepath", sourcepath,  
    31                  "-d", dstdir ] 
    32                                  
    33         args << "-quiet" unless verbose                  
    34         args +=[ "-subpackages", package ] unless package.nil?  
    35      
    36         links = [ "http://java.sun.com/j2se/1.5.0/docs/api",  
    37                 "http://static.springframework.org/spring/docs/2.0.x/api", 
    38                 "http://www.hibernate.org/hib_docs/v3/api/", 
    39                 "http://www.hibernate.org/hib_docs/annotations/api/", 
    40                 "http://java.sun.com/javaee/5/docs/api/", 
    41                 ] 
    42        
    43         links.each {|l| args += ["-link", "#{l}" ] }  
    44      
     20      task name => dstdir do |t| 
     21        javadoc = Rjb::import('com.sun.tools.javadoc.Main')     
     22        args = [ "-d", dstdir ]                                                     
     23        args += extra_args unless extra_args.nil? 
     24        #require 'pp' 
     25        #pp args 
    4526        ret = javadoc.execute(args) 
    4627        raise "error generating javadocs" unless ret==0 
  • trunk/lib/jibx_task.rb

    r5814 r5845  
    77    include JavaHelper 
    88     
    9     attr_accessor :bindings, :name, :dependencies, :verbose, :classpath 
     9    attr_accessor :bindings, :name, :verbose, :classpath 
    1010  
    1111    def initialize(name=:jibx) 
    1212      @name = name 
    13       @verbose = false 
    14       @dependencies = [] 
     13      @verbose = false     
    1514      @classpath = [] 
    1615      yield self if block_given? 
  • trunk/sample/Rakefile

    r5844 r5845  
    1212Rake::JavacTask.new(:compile) do |jct| 
    1313  jct.java_files = JAVA_FILES 
     14  jct.options :nowarn, :debug 
     15  jct.source = "1.5" 
     16  jct.target = "1.5"  
    1417end 
    1518 
     
    2932Rake::JavaDocTask.new do |t| 
    3033  t.sourcepath = SOURCE_DIR 
    31   t.package = "jerbil" 
     34  t.subpackages = "jerbil" 
    3235  t.dstdir = JAVADOC_DIR 
     36  t.options :quiet   
    3337end 
    3438task :javadoc => [ :compile ] 
     
    4953Rake::AptTask.new(:find_annotations) do |t| 
    5054  t.java_files= JAVA_FILES 
     55  t.nocompile = true 
    5156  t.find_annotation 'jerbil.sample.MyAnnotation' do |classes| 
    5257    File.open(ANNOTATED_CLASSES, 'w') { |f| f << classes.to_yaml }