10. build.rb
Android Building
OptionParser.new do |o|
o.on('-d', '--deploy [DIR]', 'Deploy to HST, can pass in directory') { |dir|
$deploy_dir = dir || "#{ENV['HOME']}/Hst/Dropbox"
o.on('-r', '--release KEYSTORE', 'Keystore for the relase build') { |key|
$keystore = key }
o.on('-h', 'Print out help') { puts o; exit }
o.parse!
end
ensure_local_properies(File.join(buildtarget_dir, "facebook"), android_sdk_location)
# modify the AndroidManifest.xml
Replacement.file(File.join(buildtarget_dir, "AndroidManifest.xml")) do |rp|
rp.buffer.gsub!(/package="#{package_prefix}.#{old_package}"/, "package=
"#{package_prefix}.#{package}"")
end
11. copy_assets.rb
Image Asset Copying
rsync to copy assets
scale for non-retina versions
create .h/.m Object C for constants
File.open(File.join(root_dir, "Primer", "AssetConstants.h"),'w') do |file|
file.puts "// Do not edit this file, it is auto generated by
#{File.basename(__FILE__)}"
file.puts ""
image_files.each do |image|
file.puts "FOUNDATION_EXPORT NSString *const
kAsset_#{File.basename(image, File.extname(image))};"
end
end
13. translation helper
def trans2(eng, language)
File.open("otherresources/#{ARGV[0]}_trans2.txt", "w") do |o|
eng.each_with_index.select do |line, index|
if line =~ /<key>(.+)</key>/
o.puts("")
o.puts("Categoryt#{unquote($1)}")
end
if line =~ /<string>(.+)</string>/
o.print("t#{unquote($1)}")
language[index] =~ /<string>(!?)(.+)</string>/
o.puts("t#{unquote($2)}t#{$1}")
end
end
end
end
14. check_assets.rb
assets = {}
total_dirs = 0
Dir.glob(File.join(dropbox, "*")).each do |root_dir|
! next unless File.directory?(root_dir)
! total_dirs += 1
! dir_name = File.basename(root_dir)
! Dir.glob(File.join(root_dir, "*")).each do |file|
! ! name = File.basename(file)
! ! assets[name] = (assets[name] || []).push(dir_name) ! !
! end!
end
assets.each do |key,value|!
! puts "#{key} = #{value.inspect}" unless total_dirs == value.length
end