kick 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []