Class: Buildr4OSGi::CompilerSupport::OSGiC

Inherits:
Buildr::Compiler::Javac
  • Object
show all
Defined in:
lib/buildr4osgi/compile/compiler.rb

Constant Summary collapse

CURRENT_JDT_COMPILER =
'3.4.1'
OPTIONS =
[:warnings, :debug, :deprecation, :source, :target, :lint, :other]

Instance Method Summary collapse

Instance Method Details

#compile(sources, target, dependencies) ⇒ Object

:nodoc:



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/buildr4osgi/compile/compiler.rb', line 27

def compile(sources, target, dependencies) #:nodoc:
  check_options options, OPTIONS
  cmd_args = []
  # tools.jar contains the Java compiler.
  dependencies << Java.tools_jar if Java.tools_jar
  cmd_args << '-classpath' << dependencies.join(File::PATH_SEPARATOR) unless dependencies.empty?
  source_paths = sources.select { |source| File.directory?(source) }
  cmd_args << '-sourcepath' << source_paths.join(File::PATH_SEPARATOR) unless source_paths.empty?
  cmd_args << '-d' << File.expand_path(target)
  cmd_args += osgic_args
  cmd_args += files_from_sources(sources)
  unless Buildr.application.options.dryrun
    trace((%w[javac -classpath org.eclipse.jdt.internal.compiler.batch.Main] + cmd_args).join(' '))
    Java.load
    Java.org.eclipse.jdt.internal.compiler.batch.Main.compile(cmd_args.join(" ")) or
        fail 'Failed to compile, see errors above'
  end
end