Class: Calatrava::DroidApp

Inherits:
Object
  • Object
show all
Includes:
Rake::DSL
Defined in:
lib/calatrava/droid_app.rb

Instance Method Summary collapse

Constructor Details

#initialize(path, proj_name, manifest) ⇒ DroidApp

Returns a new instance of DroidApp.



6
7
8
9
# File 'lib/calatrava/droid_app.rb', line 6

def initialize(path, proj_name, manifest)
  @path, @proj_name, @manifest = path, proj_name, manifest
  @app_builder = AppBuilder.new("droid/#{@proj_name}/assets/calatrava", @manifest)
end

Instance Method Details

#install_tasksObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/calatrava/droid_app.rb', line 11

def install_tasks
  app_task = @app_builder.builder_task

  app_task.prerequisites << file(@app_builder.js_file('droid/app/bridge.coffee') => 'droid/app/bridge.coffee') do
    coffee 'droid/app/bridge.coffee', @app_builder.build_scripts_dir
  end

  desc "Builds the Android app"
  task :build => app_task do
    cd "droid/#{@proj_name}" do
      sh "ant clean debug"
    end
  end

  desc "Publishes the built Android app as an artifact"
  task :publish => :build do
    artifact("droid/#{@proj_name}/bin/#{@proj_name}-debug.apk", ENV['CALATRAVA_ENV'])
  end

  desc "Deploy app to device/emulator"
  task :deploy => :publish do
    sh "adb install -r artifacts/#{ENV['CALATRAVA_ENV']}/#{@proj_name}-debug.apk"
  end

  desc "Clean droid"
  task :clean do
    rm_rf @app_builder.build_dir
    cd "droid/#{@proj_name}" do
      sh "ant clean"
    end
  end
  
end