Sha256: 0e1b8e2e95f8ea1eb86498ac3aa5a54d1273df301571e74cf18e3a7c86da319b

Contents?: true

Size: 1.69 KB

Versions: 4

Compression:

Stored size: 1.69 KB

Contents

#!/usr/bin/env ruby

begin
  require 'rubygems'
rescue LoadError
  # no rubygems to load, so we fail silently
end

require 'optparse'
require 'fileutils'

parser = OptionParser.new do |opts|
  opts.banner = <<BANNER
Build a directory for your RAD Sketch and install RAD in its vendor sub-directory.

Usage: #{File.basename($0)} <sketch_dir_name>
BANNER

  opts.on("-h", "--help",
          "Show this help message.") { puts opts; exit }
  opts.parse!(ARGV)
end

sketch_name = ARGV[0]
parser.parse!(["-h"]) unless sketch_name 

FileUtils.mkdir_p "#{sketch_name}/vendor/rad"
puts "Successfully created your sketch directory."

FileUtils.cp_r "#{File.dirname(__FILE__)}/../lib/rad/.", "#{sketch_name}/vendor/rad"
puts "Installed RAD library into #{sketch_name}/vendor/rad"
puts

FileUtils.touch "#{sketch_name}/#{sketch_name}.rb"
File.open("#{sketch_name}/#{sketch_name}.rb", "w") do |file|
  file << <<-EOS
class #{sketch_name.split("_").collect{|c| c.capitalize}.join("")} < ArduinoSketch
end
  EOS
end
puts "Added #{sketch_name}/#{sketch_name}.rb"

File.open("#{sketch_name}/Rakefile", 'w') do |file|
  file << <<-EOS 
require 'vendor/rad/init.rb'
  EOS
end
puts "Added #{sketch_name}/Rakefile"

FileUtils.mkdir_p "#{sketch_name}/config"
puts "Added #{sketch_name}/config"

File.open("#{sketch_name}/config/hardware.yml", 'w') do |file|
  file << <<-EOS 
rserial_port: /dev/tty.usbserial-A3000WS0
  EOS
end
puts "Added #{sketch_name}/config/hardware.yml"

File.open("#{sketch_name}/config/software.yml", 'w') do |file|
  file << <<-EOS 
arduino_root: /Applications/arduino/arduino-0007
  EOS
end
puts "Added #{sketch_name}/config/software.yml"

puts
puts "Run 'rake -T' inside your sketch dir to learn how to compile and upload it."

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rad-0.0.1 bin/rad
rad-0.0.2 bin/rad
rad-0.0.3 bin/rad
rad-0.0.4 bin/rad