lib/rubygb/cli.rb in rubygb-0.1.0 vs lib/rubygb/cli.rb in rubygb-0.2.0
- old
+ new
@@ -1,11 +1,35 @@
require 'thor'
-
+require 'fileutils'
+require 'pry-byebug'
module Rubygb
class CLI < Thor
- desc 'build FILENAME', 'attempt to assemble, link and fix FILENAME and create a gb rom from it'
+ desc 'build FILENAME', 'attempt to assemble, link + fix FILENAME and create a gb rom from it'
option :no_fix, :type => :boolean
def build filename
Rubygb.build filename, options
+ end
+
+ desc 'init PROJECT_NAME', 'create a new gameboy project at the location'
+ def init project_name
+ puts "Creating new project at #{File.expand_path project_name}"
+ raise "Project already exists at #{File.expand_path project_name}!"if Dir.exists? project_name
+
+ Dir.mkdir project_name
+ galp_dest = File.join(project_name,"lib")
+ Dir.mkdir galp_dest
+ galp_lib = File.expand_path(File.join(File.dirname(__FILE__),"..","galp"))
+
+ Dir.glob(File.join(galp_lib,"*")) do |file|
+ puts "Copying #{File.basename(file)}..."
+ FileUtils.copy file, galp_dest
+ end
+
+ template = Template.basic(project_name)
+ filename = File.join(project_name,"#{project_name}.s")
+ puts "Generating #{filename}..."
+ File.open(filename,"w") {|f| f << template}
+
+ puts "Done!"
end
end
end