lib/robotkit/cli.rb in robotkit-0.2.1 vs lib/robotkit/cli.rb in robotkit-0.3.0
- old
+ new
@@ -1,31 +1,39 @@
require 'robotkit'
-require 'thor'
+require 'tty-prompt'
require "fileutils"
require "erb"
module Robotkit
PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
IGNORE_FILES = %w(. .. .DS_Store)
- class CLI < Thor
- desc "create :output_dir", "Create Android library project."
- option :package, required: true
- option :library_module
- option :sample_module
- option :fixtures_dir
- def create(output_dir)
- puts output_dir
- Robotkit.exec(options.merge({output_dir: output_dir}))
+ class CLI
+ def self.start
+ options = {}
+ prompt = TTY::Prompt.new(help_color: :cyan)
+ options[:output_dir] = prompt.ask('What is library name?', default: 'SampleLibrary')
+ options[:package_name] = prompt.ask('What is package name?', default: 'com.android.sample')
+ options[:module_name] = prompt.ask('What is module name?', default: options[:output_dir].downcase)
+ # options[:min_sdk] = prompt.ask('Type min_sdk version', default: 16)
+ # options[:target_sdk] = prompt.ask('Type target_sdk version', default: 25)
+ #
+ # library_choices = %w(maven-gradle-plugin jack)
+ # options[:selected_library_options] = prompt.multi_select("Select library module options: ", library_choices)
+ #
+ # sample_choices = %w(jack rxjava1 rxjava2)
+ # options[:selected_sample_options] = prompt.multi_select("Select sample module options: ", sample_choices)
+ Robotkit.exec(options)
+ puts "#{options[:output_dir]} created"
end
end
def self.exec(params)
fixtures_dir = params[:fixtures_dir] || File.join(PROJECT_ROOT_PATH, "fixtures")
output_dir = params[:output_dir]
project_name = params[:output_dir]
- library_package_name = params[:package]
- sample_package_name = "#{params[:package]}.sample"
- library_module = params[:library_module] || "library"
+ library_package_name = params[:package_name]
+ sample_package_name = "#{params[:package_name]}.sample"
+ library_module = params[:module_name] || "library"
sample_module = params[:sample_module] || "sample"
# copy from fixtues dir to output dir
FileUtils.mkdir(output_dir)
Dir.foreach(fixtures_dir).reject{|it| IGNORE_FILES.include?(it)}.each do |item|