flavours 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eff92d118fd473cd645dc970ad03af135c32000c
4
- data.tar.gz: c54b498fb3019205df630cf08017b44af1584f41
3
+ metadata.gz: 33b6ed5c3c07f3ec3e7500f9cd9c4564bc54cddd
4
+ data.tar.gz: 8ba157e4878199a58d0c5a1cdd8f8400130ca5b6
5
5
  SHA512:
6
- metadata.gz: d553d98b6b6d4ebef44ec40033bb42dd928fd199179db3d58aa1f240d0ba33adfd9d49e6afcd0855e0adfd1436336892357eae49232b7351ee4e8e4fe94b53c0
7
- data.tar.gz: ccef20ef3c239c924bda529d91a0065028940d6469671ac950767a0acd07ad0f4825b6f957f92a9c283d5593854e1271313e3b3b081a0e8ec73e73b773d2e096
6
+ metadata.gz: 7f6d01667d95938bc2bbc11fe3554e856cfc6d1bc5d003627dfb4af2ecc82af87f6b6f5ae73829904499a708901d29dbfe9c17c1c3141cc3881cf73263891782
7
+ data.tar.gz: 3386f86af13bf68b20c92d0165c19b4e3d2810087e4fc1f27f1a59bc1cb2fe9b05bfc0d4776a647ec01ed1036f2ab9cd34e167dd2d35d74df34815b2e31fed08
@@ -50,7 +50,7 @@ command :create do |c|
50
50
  end
51
51
 
52
52
  # Create Them
53
- Flavours::create @flavours
53
+ Flavours::create @flavours, @directory, @module
54
54
  else
55
55
  Flavours::red "\n Module must be specified using the -m or --module option.\n"
56
56
  end
@@ -4,9 +4,64 @@ require 'open-uri'
4
4
  require 'json'
5
5
 
6
6
  module Flavours
7
- def self.create flavours
7
+ def self.create flavours, directory, m
8
+ @flavour_string = ''
8
9
  flavours.each do |f|
9
- Flavours::green " Finished: #{f['flavourName']}\n" unless $nolog
10
+ @flavour_string += gradle_string_for_flavour f
11
+ Flavours::green " Finished: #{f['flavourName']}" unless $nolog
10
12
  end
13
+
14
+ set_and_save_flavours_text @flavour_string, directory, m
15
+ end
16
+
17
+ def self.gradle_directory directory, m
18
+ return directory + '/' + m + '/build.gradle'
19
+ end
20
+
21
+
22
+ def self.gradle_text directory, m
23
+ path = gradle_directory directory, m
24
+ if File.exists?(path)
25
+ return File.open(path).read
26
+ end
27
+
28
+ return nil
29
+ end
30
+
31
+
32
+ def self.gradle_string_for_flavour flavour
33
+ package = "packageName \"#{flavour['packageName']}\"\n" unless flavour['packageName'] == nil
34
+ buildConfig = build_config_string_for_flavour flavour
35
+ return "#{flavour['flavourName']} {\n#{package}#{buildConfig}}\n"
11
36
  end
37
+
38
+
39
+ def self.build_config_string_for_flavour flavour
40
+ if flavour['buildConfig']
41
+ @buildconfig = ''
42
+ flavour['buildConfig'].each_pair do |k, v|
43
+ @buildconfig += "buildConfigField \"String\" , \"#{k}\" , \"\\\"#{v}\\\"\"\n"
44
+ end
45
+ return @buildconfig
46
+ end
47
+
48
+ return ''
49
+ end
50
+
51
+
52
+ def self.set_and_save_flavours_text flavours_text, directory, m
53
+ @gradle = gradle_text directory, m
54
+ matches = @gradle.match /productFlavors \{(?>[^()]|(\g<0>))*\}\n\n/
55
+ new_flavour_text = "productFlavors {\n#{flavours_text}}\n\n"
56
+ if matches
57
+ @gradle = @gradle.sub(matches[0], new_flavour_text)
58
+ else
59
+ @gradle = @gradle.sub('android {',"android {\n#{new_flavour_text}")
60
+ end
61
+
62
+ File.open(gradle_directory(directory, m), 'w') do |f|
63
+ f.write(@gradle)
64
+ end
65
+ end
66
+
12
67
  end
@@ -1,5 +1,5 @@
1
1
  module Flavours
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
 
4
4
  def self.check_for_newer_version
5
5
  unless Gem.latest_version_for('flavours').to_s == VERSION
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flavours
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Gordon