Changing the tabs in droidgap to spaces

This commit is contained in:
Immad Naseer 2010-02-16 14:59:22 -08:00
parent 7820451108
commit 10d455d560

View File

@ -6,8 +6,8 @@ class Build
def initialize(*a) def initialize(*a)
@android_sdk_path, @name, @pkg, @www, @path = a @android_sdk_path, @name, @pkg, @www, @path = a
@s = File::SEPARATOR @s = File::SEPARATOR
@dir = Dir.pwd + @s @dir = Dir.pwd + @s
end end
# runs the build script # runs the build script
@ -18,44 +18,44 @@ class Build
copy_libs copy_libs
add_name_to_strings add_name_to_strings
write_java write_java
puts "Complete!" puts "Complete!"
end end
# removes local.properties and recreates based on android_sdk_path # removes local.properties and recreates based on android_sdk_path
# then generates framework/phonegap.jar # then generates framework/phonegap.jar
def build_jar def build_jar
puts "Building the JAR..." puts "Building the JAR..."
FileUtils.rm "#{ @dir }framework#{@s}local.properties" if File.exists? "#{ @dir }framework#{@s}local.properties" FileUtils.rm "#{ @dir }framework#{@s}local.properties" if File.exists? "#{ @dir }framework#{@s}local.properties"
FileUtils.rm "#{ @dir }framework#{@s}phonegap.js" if File.exists? "#{ @dir }framework#{@s}phonegap.js" FileUtils.rm "#{ @dir }framework#{@s}phonegap.js" if File.exists? "#{ @dir }framework#{@s}phonegap.js"
FileUtils.rm "#{ @dir }framework#{@s}phonegap.jar" if File.exists? "#{ @dir }framework#{@s}phonegap.jar" FileUtils.rm "#{ @dir }framework#{@s}phonegap.jar" if File.exists? "#{ @dir }framework#{@s}phonegap.jar"
open("#{ @dir }framework#{@s}local.properties", 'w') do |f| open("#{ @dir }framework#{@s}local.properties", 'w') do |f|
f.puts "sdk.dir=#{ @android_sdk_path }" f.puts "sdk.dir=#{ @android_sdk_path }"
end end
Dir.chdir(@dir + "framework") Dir.chdir(@dir + "framework")
`ant jar` `ant jar`
Dir.chdir(@dir) Dir.chdir(@dir)
end end
# runs android create project # runs android create project
# TODO need to allow more flexible SDK targetting # TODO need to allow more flexible SDK targetting
# TODO validate Android SDK # TODO validate Android SDK
def create_android def create_android
puts "Creating Android project..." puts "Creating Android project..."
`android create project -t 5 -k #{ @pkg } -a #{ @name } -n #{ @name } -p #{ @path }` `android create project -t 5 -k #{ @pkg } -a #{ @name } -n #{ @name } -p #{ @path }`
FileUtils.mkdir_p "#{ @path }#{@s}assets#{@s}www" FileUtils.mkdir_p "#{ @path }#{@s}assets#{@s}www"
FileUtils.cp_r "#{ @www }#{ @s }.", "#{ @path }#{ @s }assets#{ @s }www#{ @s }" FileUtils.cp_r "#{ @www }#{ @s }.", "#{ @path }#{ @s }assets#{ @s }www#{ @s }"
end end
# creates an AndroidManifest.xml for the project # creates an AndroidManifest.xml for the project
def generate_manifest def generate_manifest
puts "Generating manifest..." puts "Generating manifest..."
manifest = "" manifest = ""
open(@dir + 'framework/AndroidManifest.xml', 'r') do |old| open(@dir + 'framework/AndroidManifest.xml', 'r') do |old|
manifest = old.read manifest = old.read
manifest.gsub! 'android:versionCode="5"', 'android:versionCode="1"' manifest.gsub! 'android:versionCode="5"', 'android:versionCode="1"'
manifest.gsub! 'package="com.phonegap"', "package=\"#{ @pkg }\"" manifest.gsub! 'package="com.phonegap"', "package=\"#{ @pkg }\""
manifest.gsub! 'android:name=".StandAlone"', "android:name=\".#{ @name }\"" manifest.gsub! 'android:name=".StandAlone"', "android:name=\".#{ @name }\""
manifest.gsub! 'android:minSdkVersion="5"', 'android:minSdkVersion="3"' manifest.gsub! 'android:minSdkVersion="5"', 'android:minSdkVersion="3"'
end end
open("#{ @path }#{@s}AndroidManifest.xml", 'w') { |x| x.puts manifest } open("#{ @path }#{@s}AndroidManifest.xml", 'w') { |x| x.puts manifest }
end end
@ -63,31 +63,31 @@ class Build
# copies stuff from framework into the project # copies stuff from framework into the project
# TODO need to allow for www import inc icon # TODO need to allow for www import inc icon
def copy_libs def copy_libs
puts "Copying over libraries and assets and creating phonegap.js..." puts "Copying over libraries and assets and creating phonegap.js..."
FileUtils.cp "#{ @dir }framework#{@s}phonegap.jar", "#{ @path }#{@s}libs" FileUtils.cp "#{ @dir }framework#{@s}phonegap.jar", "#{ @path }#{@s}libs"
FileUtils.cp "#{ @dir }framework#{@s}res#{@s}values#{@s}strings.xml", "#{ @path }#{@s}res#{@s}values#{@s}strings.xml" FileUtils.cp "#{ @dir }framework#{@s}res#{@s}values#{@s}strings.xml", "#{ @path }#{@s}res#{@s}values#{@s}strings.xml"
FileUtils.cp "#{ @dir }framework#{@s}res#{@s}layout#{@s}main.xml", "#{ @path }#{@s}res#{@s}layout#{@s}main.xml" FileUtils.cp "#{ @dir }framework#{@s}res#{@s}layout#{@s}main.xml", "#{ @path }#{@s}res#{@s}layout#{@s}main.xml"
FileUtils.cp "#{ @dir }framework#{@s}res#{@s}layout#{@s}preview.xml", "#{ @path }#{@s}res#{@s}layout#{@s}preview.xml" FileUtils.cp "#{ @dir }framework#{@s}res#{@s}layout#{@s}preview.xml", "#{ @path }#{@s}res#{@s}layout#{@s}preview.xml"
%w(drawable-hdpi drawable-ldpi drawable-mdpi).each do |e| %w(drawable-hdpi drawable-ldpi drawable-mdpi).each do |e|
FileUtils.cp "#{ @dir }framework#{@s}res#{@s}drawable#{@s}icon.png", "#{ @path }#{@s}res#{@s}#{ e }#{@s}icon.png" FileUtils.cp "#{ @dir }framework#{@s}res#{@s}drawable#{@s}icon.png", "#{ @path }#{@s}res#{@s}#{ e }#{@s}icon.png"
end end
# concat JS and put into www folder. # concat JS and put into www folder.
Dir.chdir("#{ @dir }framework#{ @s }assets#{ @s }js") Dir.chdir("#{ @dir }framework#{ @s }assets#{ @s }js")
basedir = "." basedir = "."
js = Dir.new(basedir).entries js = Dir.new(basedir).entries
phonegapjs = IO.read('phonegap.js.base'); phonegapjs = IO.read('phonegap.js.base');
js.each do |script| js.each do |script|
next if script[0].chr == "." or script == "phonegap.js.base" next if script[0].chr == "." or script == "phonegap.js.base"
phonegapjs << IO.read(script) phonegapjs << IO.read(script)
phonegapjs << "\n\n" phonegapjs << "\n\n"
end end
Dir.chdir("#{ @dir}") Dir.chdir("#{ @dir}")
File.open("#{ @path }#{ @s }assets#{ @s }www#{ @s }phonegap.js", 'w') {|f| f.write(phonegapjs) } File.open("#{ @path }#{ @s }assets#{ @s }www#{ @s }phonegap.js", 'w') {|f| f.write(phonegapjs) }
end end
# puts app name in strings # puts app name in strings
def add_name_to_strings def add_name_to_strings
puts "Adding some application name to strings.xml..." puts "Adding some application name to strings.xml..."
x = "<?xml version=\"1.0\" encoding=\"utf-8\"?> x = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<resources> <resources>
<string name=\"app_name\">#{ @name }</string> <string name=\"app_name\">#{ @name }</string>
@ -102,7 +102,7 @@ class Build
# this is so fucking unholy yet oddly beautiful # this is so fucking unholy yet oddly beautiful
# not sure if I should thank Ruby or apologize for this abusive use of string interpolation # not sure if I should thank Ruby or apologize for this abusive use of string interpolation
def write_java def write_java
puts "Writing application Java code..." puts "Writing application Java code..."
j = " j = "
package #{ @pkg }; package #{ @pkg };