Sha256: 77f16f02758977f70ef79dd8ab5e6a0000be7577919b13803d014e8df77c10da

Contents?: true

Size: 1.84 KB

Versions: 8

Compression:

Stored size: 1.84 KB

Contents

def calabash_build(app)



  keystore = read_keystore_info()

  test_server_template_dir = File.join(File.dirname(__FILE__), '..', 'test-server')
  
  Dir.mktmpdir do |workspace_dir|
    
    @test_server_dir = File.join(workspace_dir, 'test-server')
    FileUtils.cp_r(test_server_template_dir, workspace_dir)
    
    ant_executable = (is_windows? ? "ant.bat" : "ant")
    Dir.chdir(@test_server_dir) {
      args = [
        ant_executable,
        "clean", 
        "package",
        "-Dtested.package_name=#{package_name(app)}",
        "-Dtested.main_activity=#{main_activity(app)}",
        "-Dtested.project.apk=#{app}",
        "-Dandroid.api.level=#{api_level}",
        "-Dkey.store=#{keystore["keystore_location"]}",
        "-Dkey.store.password=#{keystore["keystore_password"]}",
        "-Dkey.alias=#{keystore["keystore_alias"]}",
        "-Dkey.alias.password=#{keystore["keystore_alias_password"]}",
      ]
      STDOUT.sync = true
      IO.popen(args.join(" ")) do |io|
        io.each { |s| print s }
      end
      if $?.exitstatus != 0
        puts "Could not build the test server. Please see the output above."
        exit $?.exitstatus
      end
    }

    FileUtils.mkdir_p "test_servers" unless File.exist? "test_servers"

    test_apk = File.join(@test_server_dir, "bin", "Test.apk")
    test_server_file_name = test_server_path(app)
    FileUtils.cp(test_apk, test_server_file_name)
    puts "Done building the test server. Moved it to #{test_server_file_name}"
  end
end

def read_keystore_info
  if File.exist? ".calabash_settings"
    JSON.parse(IO.read(".calabash_settings"))
  else
    {
    "keystore_location" => "#{ENV["HOME"]}/.android/debug.keystore",
    "keystore_password" => "android",
    "keystore_alias" => "androiddebugkey",
    "keystore_alias_password" => "android"
    }
  end
end

def is_windows?
  ENV["OS"] == "Windows_NT"
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
calabash-android-0.2.0 bin/calabash-android-build.rb
calabash-android-0.2.0.pre10 bin/calabash-android-build.rb
calabash-android-0.2.0.pre9 bin/calabash-android-build.rb
calabash-android-0.2.0.pre8 bin/calabash-android-build.rb
calabash-android-0.2.0.pre7 bin/calabash-android-build.rb
calabash-android-0.2.0.pre6 bin/calabash-android-build.rb
calabash-android-0.2.0.pre5 bin/calabash-android-build.rb
calabash-android-0.2.0.pre4 bin/calabash-android-build.rb