Class: Skipjack::FSharpCompiler
- Inherits:
-
Object
- Object
- Skipjack::FSharpCompiler
- Defined in:
- lib/skipjack/fsharp.rb
Instance Attribute Summary collapse
- #references ⇒ Object
-
#target ⇒ Object
Returns the value of attribute target.
Instance Method Summary collapse
- #create_file_task(*args) ⇒ Object
- #create_task ⇒ Object
-
#initialize(*args) {|_self| ... } ⇒ FSharpCompiler
constructor
A new instance of FSharpCompiler.
- #source_files ⇒ Object
- #source_files=(val) ⇒ Object
Constructor Details
#initialize(*args) {|_self| ... } ⇒ FSharpCompiler
Returns a new instance of FSharpCompiler.
6 7 8 9 |
# File 'lib/skipjack/fsharp.rb', line 6 def initialize *args @args = *args yield self if block_given? end |
Instance Attribute Details
#references ⇒ Object
24 25 26 |
# File 'lib/skipjack/fsharp.rb', line 24 def references @references ||= [] end |
#target ⇒ Object
Returns the value of attribute target.
3 4 5 |
# File 'lib/skipjack/fsharp.rb', line 3 def target @target end |
Instance Method Details
#create_file_task(*args) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/skipjack/fsharp.rb', line 28 def create_file_task *args dependencies = source_files file_task = Rake::FileTask::define_task *args do |t| if t.application.windows? compiler = "fsc" else compiler = "fsharpc" end out = "--out:#{t.name}" src = source_files.join(" ") refs = references.each {|r| r.prepend("--reference:") } refs = refs.join(" ") cmd = "#{compiler} #{refs} #{out} --target:#{target.to_s} #{src}" raise "Error executing command" unless Kernel.system cmd end file_task.enhance dependencies end |
#create_task ⇒ Object
47 48 49 |
# File 'lib/skipjack/fsharp.rb', line 47 def create_task create_file_task *@args end |
#source_files ⇒ Object
20 21 22 |
# File 'lib/skipjack/fsharp.rb', line 20 def source_files @source_files ||= [] end |
#source_files=(val) ⇒ Object
16 17 18 |
# File 'lib/skipjack/fsharp.rb', line 16 def source_files=(val) @source_files = val end |