lib/calatrava/project_script.rb in calatrava-0.6.3 vs lib/calatrava/project_script.rb in calatrava-0.6.4

- old
+ new

@@ -1,8 +1,8 @@ require 'mustache' require 'yaml' -require 'xcodeproj' +require 'xcodeproj' if Calatrava.platform == :mac module Calatrava class ProjectScript @@ -11,34 +11,43 @@ def initialize(name, overrides = {}) @name = name @slug = name.gsub(" ", "_").downcase @title = @name[0..0].upcase + @name[1..-1] @options = overrides + puts @options + + @platforms = ['ios', 'droid', 'web'].select do |platform| + !@options["no-#{platform}"] + end end def sh(cmd) $stdout.puts cmd system(cmd) end def dev? - @options[:is_dev] + @options.dev? end def create(template) create_project(template) create_directory_tree(template) create_files(template) - create_android_tree(template) - create_ios_tree(template) + create_android_tree(template) if @platforms.include?('droid') + create_ios_tree(template) if Calatrava.platform == :mac && @platforms.include?('ios') + + ['droid', 'ios', 'web'].each do |app| + FileUtils.rm_rf(File.join(@name, app)) unless @platforms.include?(app) + end end def create_project(template) FileUtils.mkdir_p @name File.open(File.join(@name, 'calatrava.yml'), "w+") do |f| - f.print({:project_name => @name}.to_yaml) + f.print({project_name: @name, platforms: @platforms}.to_yaml) end end def target_item(item) item.gsub("CALATRAVA_TMPL", @name) @@ -68,10 +77,10 @@ end end def create_android_tree(template) Dir.chdir(File.join(@name, "droid")) do - sh "android create project --name '#{@slug}' --path '#{@name}' --package com.#{@slug} --target android-10 --activity #{@title}" + sh "android create project --name '#{@slug}' --path '#{@name}' --package com.#{@slug} --target android-#{@options[:'android-api']} --activity #{@title}" Dir.walk("calatrava") do |item| target_item = item.sub('calatrava', @name) FileUtils.mkdir_p(target_item) if File.directory? item FileUtils.cp(item, target_item) if File.file? item