high_five 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f86f1d189b6004fcf4d9a7789cbd3bc0122508b1
4
- data.tar.gz: 4aeb3bcac8a145dc620e470bfe1b3aaa2cf3e5d1
3
+ metadata.gz: 697b43cd0c99875dfad86b3c5fc37a17aa23f6bc
4
+ data.tar.gz: 30f7fd136bf0957cd7176b1447cdd094ab03527b
5
5
  SHA512:
6
- metadata.gz: 5b346f72f41ca7c65591307782e91a81f590f605479526ea2661bb8ae8b539a87577440a6a9957caa57ed690c43fc3e4d1b50503b3fadc0f73b4eb1d76982c81
7
- data.tar.gz: db63e4acb6a6e52ad9b51061fd7b5068817b01c7ecdf0493cdfd864b41bd7e6439ab5ad16cbac1d974ac50ce8a7cdf3c9e75742697d4aae701ec95b88eb51cf8
6
+ metadata.gz: 12879143bfd2679e67115533ef97fd19ae5d7c99f71a0b53536be4ad8e8f072da799c5bfeb2821ba2b592042ce03f4dc4b63cb9dceb1d826e1843429ffbb5727
7
+ data.tar.gz: ed566404e0909c2650a83a859ea8fb2b4659e944ed0915f9301b295646977123b0424f05db915118a610a6bfd8b38a44f5db2e55b1054049ea605e5c96fbaf44
@@ -16,6 +16,9 @@ module HighFive
16
16
  end
17
17
 
18
18
  platform_config = base_config.build_platform_config(:android)
19
+ if options[:environment]
20
+ platform_config = platform_config.build_platform_config(options[:environment])
21
+ end
19
22
  return platform_config.android_manifest if platform_config.android_manifest
20
23
 
21
24
  destination_dir = platform_config.destination
@@ -0,0 +1,31 @@
1
+ module HighFive
2
+ module ImageHelper
3
+
4
+ # replace the image at path `image` with a resized version of the image at `source`
5
+ def replace_image(image_path, source_path)
6
+ image = ChunkyPNG::Image.from_file(image_path)
7
+
8
+ if (rmagick?)
9
+ source = Magick::Image.read(source_path).first
10
+ resized = source.scale(image.height, image.width)
11
+ resized.write(image_path)
12
+ else
13
+ source = ChunkyPNG::Image.from_file(path)
14
+ source.resize(image.height, image.width).save(image_path)
15
+ end
16
+
17
+ end
18
+
19
+ private
20
+ def rmagick?
21
+ @rmagick ||= begin
22
+ require "rmagick"
23
+ puts "Using rmagick..."
24
+ true
25
+ rescue LoadError
26
+ puts "using ChunkyPNG..."
27
+ false
28
+ end
29
+ end
30
+ end
31
+ end
@@ -54,10 +54,12 @@ module HighFive
54
54
 
55
55
  desc "set_icon", "Generate app icons from base png image"
56
56
  method_option :platform_path, desc: "Path to the ios or android directory"
57
+ method_option :environment, :aliases => '-e', :desc => "Set environment"
57
58
  def set_icon(path)
58
59
  image = ChunkyPNG::Image.from_file(path)
59
60
 
60
61
  manifest = File.read(android_manifest_path)
62
+ puts "Using android manifest: #{android_manifest_path}"
61
63
  icon_name = manifest.match(/android:icon="@drawable\/(.*?)"/)[1] + '.png'
62
64
 
63
65
  drawable_dir = File.join File.dirname(android_manifest_path), 'res'
@@ -65,7 +65,7 @@ module HighFive
65
65
  @output_file_name = options[:output_file_name]
66
66
  ant_flags = options[:"ant-flags"] || ""
67
67
  system("android update project --path #{android_path} --subprojects")
68
- system("ant -file '#{android_path}/build.xml' release #{ant_flags}")
68
+ system("ant -file '#{android_path}/build.xml' clean release #{ant_flags}")
69
69
 
70
70
  android_name = HighFive::AndroidHelper.project_name_from_build_xml("#{android_path}/build.xml")
71
71
  if @output_file_name
@@ -7,6 +7,7 @@ module HighFive
7
7
  class IosTasks < ::HighFive::Thor::Task
8
8
  include ::Thor::Actions
9
9
  include ::HighFive::IosHelper
10
+ include ::HighFive::ImageHelper
10
11
  namespace :ios
11
12
 
12
13
  desc "set_version", "build the debug apk via ant debug"
@@ -35,19 +36,20 @@ module HighFive
35
36
  method_option :target, :aliases => '-t', :desc => "Use a specific target (i.e. <Target>.plist"
36
37
  method_option :platform_path, :desc => "Path to ios or android directory"
37
38
  def set_icon(path)
38
- image = ChunkyPNG::Image.from_file(path)
39
-
40
39
  icon_files = plist['CFBundleIcons']["CFBundlePrimaryIcon"]["CFBundleIconFiles"]
41
40
  icon_files += [ plist['CFBundleIconFile'] ]
42
41
  icon_files += plist['CFBundleIcons~ipad']["CFBundlePrimaryIcon"]["CFBundleIconFiles"]
43
-
44
42
  icon_files.each do |icon_entry|
45
43
  icon_file_name = icon_entry
46
44
  unless icon_entry.end_with? ".png"
47
45
  icon_file_name += ".png"
48
46
  end
49
47
 
50
- old_icon_path = Dir[File.join(ios_path, "**/#{icon_file_name}")].first
48
+ # look in a directory named after the target first, if it's present
49
+ # This helps with multi-target apps
50
+ old_icon_path = Dir[File.join(ios_path, "#{target}/**/#{icon_file_name}")].first
51
+ old_icon_path = Dir[File.join(ios_path, "**/#{icon_file_name}")].first if old_icon_path.nil?
52
+
51
53
  if old_icon_path.nil?
52
54
  puts "Skipping #{icon_entry} because the file is missing. This will cause problems with app store submission"
53
55
  next
@@ -55,8 +57,8 @@ module HighFive
55
57
  print "Replacing #{old_icon_path}..."
56
58
  old_image = ChunkyPNG::Image.from_file(old_icon_path)
57
59
  puts "#{old_image.width}x#{old_image.height}"
60
+ replace_image(old_icon_path, path)
58
61
 
59
- image.resize(old_image.height, old_image.width).save(old_icon_path)
60
62
  end
61
63
  end
62
64
 
@@ -1,3 +1,3 @@
1
1
  module HighFive
2
- VERSION = "0.2.7"
2
+ VERSION = "0.2.8"
3
3
  end
data/lib/high_five.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "high_five/config"
2
2
  require "high_five/version"
3
+ require "high_five/image_helper"
3
4
 
4
5
  module HighFive
5
6
  TEMPLATE_PATH = File.join(File.dirname(__FILE__), '..', 'template')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: high_five
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Samson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-17 00:00:00.000000000 Z
11
+ date: 2014-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -206,6 +206,7 @@ files:
206
206
  - lib/high_five/cli.rb
207
207
  - lib/high_five/config.rb
208
208
  - lib/high_five/generators/manifest.erb
209
+ - lib/high_five/image_helper.rb
209
210
  - lib/high_five/ios_helper.rb
210
211
  - lib/high_five/thor/runner.rb
211
212
  - lib/high_five/thor/task.rb