Class: Buildr::Compiler::Ecj
Constant Summary collapse
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Javac
Methods inherited from Base
applies_to?, #dependencies, dependencies, #initialize, #needed?, specify, to_sym
Constructor Details
This class inherits a constructor from Buildr::Compiler::Javac
Instance Method Details
#compile(sources, target, dependencies) ⇒ Object
:nodoc:
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/buildr/java/ecj.rb', line 26 def compile(sources, target, dependencies) #:nodoc: , 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.(target) cmd_args += ecj_args cmd_args += files_from_sources(sources) unless Buildr.application..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 |