Sha256: 5278b6688f7f173cdf0e579bff91034c500d01398b6da45f9bddc4948e1f4ddd

Contents?: true

Size: 1.19 KB

Versions: 17

Compression:

Stored size: 1.19 KB

Contents

require 'bake/model/loader'
require 'bake/options/options'

module Bake
  
  class ConfigNames
  
    def self.print(configs, default, filename)
      foundValidConfig = false
      configs.each do |c|
        next if c.defaultToolchain.nil?
        foundValidConfig = true
        Kernel.print "* #{c.name}"
        Kernel.print " (default)" if c.name ==  default
        Kernel.print ": #{c.description.text}" if c.description
        Kernel.print "\n"
      end
      Bake.formatter.printWarning("No configuration with a DefaultToolchain found", filename) unless foundValidConfig
      
      ExitHelper.exit(0)
    end
    
    def self.show
      loader = Loader.new
      filename = Bake.options.main_dir+"/Project.meta"
      f = loader.load(filename)
      
      if f.root_elements.length != 1 or not Metamodel::Project === f.root_elements[0]
        Bake.formatter.printError("Config file must have exactly one 'Project' element as root element", filename)
        ExitHelper.exit(1)
      end
      
      default = f.root_elements[0].default
      configs = f.root_elements[0].getConfig
 
      ConfigNames.print(configs, default, filename)
    end
  
  end

end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
bake-toolkit-2.16.1 lib/bake/options/showConfigNames.rb
bake-toolkit-2.15.0 lib/bake/options/showConfigNames.rb
bake-toolkit-2.14.0 lib/bake/options/showConfigNames.rb
bake-toolkit-2.13.1 lib/bake/options/showConfigNames.rb
bake-toolkit-2.13.0 lib/bake/options/showConfigNames.rb
bake-toolkit-2.12.2 lib/bake/options/showConfigNames.rb
bake-toolkit-2.12.1 lib/bake/options/showConfigNames.rb
bake-toolkit-2.12.0 lib/bake/options/showConfigNames.rb
bake-toolkit-2.11.4 lib/bake/options/showConfigNames.rb
bake-toolkit-2.11.3 lib/bake/options/showConfigNames.rb
bake-toolkit-2.11.2 lib/bake/options/showConfigNames.rb
bake-toolkit-2.11.1 lib/bake/options/showConfigNames.rb
bake-toolkit-2.11.0 lib/bake/options/showConfigNames.rb
bake-toolkit-2.10.3 lib/bake/options/showConfigNames.rb
bake-toolkit-2.10.2 lib/bake/options/showConfigNames.rb
bake-toolkit-2.10.1 lib/bake/options/showConfigNames.rb
bake-toolkit-2.10.0 lib/bake/options/showConfigNames.rb