kick 0.0.1

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.
Files changed (3) hide show
  1. data/bin/kick +18 -0
  2. data/lib/kick.rb +74 -0
  3. metadata +48 -0
data/bin/kick ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ #puts Dir.pwd
4
+ require 'kick'
5
+
6
+ arg = ARGV[0]
7
+ #puts "Argument: #{arg}"
8
+
9
+ case arg
10
+ when "build"
11
+ kick = Kick.new
12
+ kick.build
13
+ when "dist"
14
+ kick = Kick.new
15
+ kick.dist
16
+ else
17
+ puts "Unknown command #{arg}"
18
+ end
data/lib/kick.rb ADDED
@@ -0,0 +1,74 @@
1
+ require 'yaml'
2
+ require 'ostruct'
3
+
4
+
5
+ class Kick
6
+
7
+ def initialize
8
+ file = File.join(Dir.pwd, 'kick.spec')
9
+ @build_settings = OpenStruct.new(YAML.load_file(file))
10
+ puts @build_settings
11
+ @base_name = @build_settings.base_name
12
+ @provisioning_profile_in_developer_program_name = @build_settings.provisioning_profile_name
13
+ @provisioning_profile_name = @provisioning_profile_in_developer_program_name.gsub(/ /, '_')
14
+ end
15
+
16
+ def clean
17
+ system("rm #{@base_name}.ipa")
18
+ system("rm #{@base_name}.app.dSYM.zip")
19
+ system("rm #{@provisioning_profile_name}.mobileprovision")
20
+ end
21
+
22
+ def update_mobileprovision
23
+ developer_portal_team_id = @build_settings.developer_portal_team_id
24
+ command_info = "ios profiles:download \"#{@provisioning_profile_in_developer_program_name}\" --team #{developer_portal_team_id}"
25
+ system(command_info)
26
+ end
27
+
28
+ def info
29
+ command_info = "ipa info #{@base_name}.ipa"
30
+ system(command_info)
31
+ end
32
+
33
+ def build
34
+
35
+ self.clean
36
+ self.update_mobileprovision
37
+
38
+ computer_name = %x[scutil --get ComputerName].strip
39
+ puts "computer_name: #{computer_name}"
40
+ code_signing_identity = @build_settings.code_signing_identity[computer_name]
41
+ scheme = @build_settings.scheme
42
+
43
+ command_build = "ipa build -m #{@provisioning_profile_name}.mobileprovision -i \"#{code_signing_identity}\" -s \"#{scheme}\" --verbose"
44
+
45
+ puts command_build
46
+
47
+ system(command_build)
48
+ puts 'build completed'
49
+
50
+ self.info
51
+
52
+ end
53
+
54
+ def dist
55
+
56
+ self.build
57
+
58
+ notes = @build_settings.notes
59
+ api_token = @build_settings.api_token
60
+ team_token = @build_settings.team_token
61
+ distribution_list = @build_settings.distribution_list
62
+
63
+ command_deploy = "ipa distribute:testflight -a #{api_token} -T #{team_token} -m '#{notes}' -l #{distribution_list} --notify --verbose"
64
+
65
+ system(command_deploy)
66
+
67
+ puts 'deploy completed'
68
+
69
+ self.info
70
+ self.clean
71
+
72
+ end
73
+
74
+ end
metadata ADDED
@@ -0,0 +1,48 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kick
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Michal Lukasiewicz
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-04-26 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: A simple hello world gem
15
+ email: michal.lukasiewicz@brightinventions.pl
16
+ executables:
17
+ - kick
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/kick.rb
22
+ - bin/kick
23
+ homepage: http://rubygems.org/gems/hola
24
+ licenses:
25
+ - MIT
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubyforge_project:
44
+ rubygems_version: 1.8.24
45
+ signing_key:
46
+ specification_version: 3
47
+ summary: Kick!
48
+ test_files: []