Sha256: 947eaaba952ec17e3f5a23911c07a264eb9af5fa9edfb3be63c2c836f58e2fad

Contents?: true

Size: 1.38 KB

Versions: 6

Compression:

Stored size: 1.38 KB

Contents

unless defined?(Motion::Project::Config)
  raise "The MotionKit gem must be required within a RubyMotion project Rakefile."
end


require 'dbt'


Motion::Project::App.setup do |app|
  core_lib = File.join(File.dirname(__FILE__), 'motion-kit')
  cocoa_lib = File.join(File.dirname(__FILE__), 'motion-kit-cocoa')
  platform = app.respond_to?(:template) ? app.template : :ios
  if platform.to_s.start_with?('ios')
    platform_name = 'ios'
  elsif platform.to_s.start_with?('osx')
    platform_name = 'osx'
  elsif platform.to_s.start_with?('tvos')
    platform_name = 'tvos'
  end
  platform_lib = File.join(File.dirname(__FILE__), "motion-kit-#{platform_name}")
  unless File.exists? platform_lib
    raise "Sorry, the platform #{platform.inspect} (aka #{platform_name}) is not supported by MotionKit"
  end

  # scans app.files until it finds app/ (the default)
  # if found, it inserts just before those files, otherwise it will insert to
  # the end of the list
  insert_point = app.files.find_index { |file| file =~ /^(?:\.\/)?app\// } || 0

  Dir.glob(File.join(platform_lib, '**/*.rb')).reverse.each do |file|
    app.files.insert(insert_point, file)
  end
  Dir.glob(File.join(cocoa_lib, '**/*.rb')).reverse.each do |file|
    app.files.insert(insert_point, file)
  end
  Dir.glob(File.join(core_lib, '**/*.rb')).reverse.each do |file|
    app.files.insert(insert_point, file)
  end

  DBT.analyze(app)
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
motion-kit-1.1.1 lib/motion-kit.rb
motion-kit-1.1.0 lib/motion-kit.rb
motion-kit-1.0.3 lib/motion-kit.rb
motion-kit-1.0.2 lib/motion-kit.rb
motion-kit-1.0.1 lib/motion-kit.rb
motion-kit-1.0.0 lib/motion-kit.rb