slowlane 0.0.3.alpha → 0.0.4

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: cd0cad4c9d3f6bb4ee6ea53539b87d3e24251448
4
- data.tar.gz: 4456fc06d90ce7b0e23985845348ebb05c51dfba
3
+ metadata.gz: bf3c345ce9af7157174e4eade2da0a1713e5e4c2
4
+ data.tar.gz: cb68db258e3828b7845ce8c79fe83a2a87a5561f
5
5
  SHA512:
6
- metadata.gz: d514c40fdff6b274edffd32b2b007c6bcb6d7c0fa573affdf23d2633e70e00b5b0e92f9900eaa466e097d6e91d6750fb3033c220a198119702a7a20a48a5ce16
7
- data.tar.gz: 0a7f32675c51207489ef494c8ec0237dc382be3df4cd40242632cb766785542477702994a271d49f8b3e9f4c08291506bb324d24189268c6fb58173bad167a33
6
+ metadata.gz: ec77d6e10cba90b55c0052dcc8ef5db10269ba53b6aed1aa5fdd339a5c85f07902d1a0a4af0bce92510d99d221cc4efabfb2936192957c661d5f70625f00b3f8
7
+ data.tar.gz: 2b865ec3bdc2c88d90df73ffa5e11209054df96738f965ad7f755eb6a23163b08ff341d94b78f3b32a989c1562d892a837ef8f6a34d310a54831267703188626
data/README.md CHANGED
@@ -19,3 +19,54 @@ We leverage 'spaceship' library and will continue to work on that to have a shar
19
19
 
20
20
  ## Status
21
21
  Real alpha , as we are still exploring the spaceship api
22
+
23
+ ### Working
24
+ #### Portal
25
+ - `slowlane-portal app list`
26
+ - `slowlane-portal certificate list`
27
+ - `slowlane-portal device list`
28
+ - `slowlane-portal profile list`
29
+ - `slowlane-portal psn list`
30
+ - `slowlane-portal team list`
31
+
32
+ #### Itunes
33
+ - `slowlane-itunes app list`
34
+ - `slowlane-itunes app info`
35
+ - `slowlane-itunes team list`
36
+ - `slowlane-itunes tester list`
37
+ - `slowlane-itunes build list`
38
+
39
+ ### Todo
40
+ #### Overall options
41
+ - output-format=csv
42
+ - output-file
43
+ - sort-field :
44
+ - filter
45
+ - tempdir
46
+ - all options should be also pickingup env vars
47
+ - configfile
48
+
49
+ #### Portal
50
+ - create|delete app
51
+ - create|delete certificate
52
+ - download certificate
53
+ - create|delete device
54
+ - create|delete profile
55
+ - decode profile to list cert & devices
56
+ - download profile
57
+ - combine priv & public profile -> pem,pk12
58
+ - add device to profile
59
+ - remove device to profile
60
+
61
+ #### Itunes
62
+ - create|delete tester
63
+ - create | submit | delete app
64
+ - build upload
65
+ - all other commands
66
+
67
+ #### Playstore
68
+ - all commands
69
+
70
+ #### Crashlytics
71
+ - ipa check
72
+ - upload
data/bin/slowlane-itunes CHANGED
@@ -5,12 +5,13 @@ require "thor"
5
5
  require_relative '../lib/slowlane/itunes/app.rb'
6
6
  require_relative '../lib/slowlane/itunes/team.rb'
7
7
  require_relative '../lib/slowlane/itunes/build.rb'
8
+ require_relative '../lib/slowlane/itunes/tester.rb'
8
9
 
9
10
  class SlowlaneItunes < Thor
10
11
 
11
- class_option :username , :default => '<username>' , :required => true, :desc => 'username [SLOWLANE_USERNAME]'
12
- class_option :password , :default => '<password>' , :required => true, :desc => 'password [SLOWLANE_PASSWORD]'
13
- class_option :team , :default => '<team>' , :required => false, :desc => 'team [SLOWLANE_TEAM]'
12
+ class_option :username , :default => '<username>' , :required => true, :desc => 'username [SLOWLANE_ITUNES_USERNAME]'
13
+ class_option :password , :default => '<password>' , :required => true, :desc => 'password [SLOWLANE_ITUNES_PASSWORD]'
14
+ class_option :team , :default => '<team>' , :required => false, :desc => 'team [SLOWLANE_ITUNES_TEAM]'
14
15
 
15
16
  desc "app SUBCOMMAND ...ARGS", "manage apps"
16
17
  subcommand "app", Slowlane::Itunes::App
@@ -21,6 +22,8 @@ class SlowlaneItunes < Thor
21
22
  desc "build SUBCOMMAND ...ARGS", "manage builds"
22
23
  subcommand "build", Slowlane::Itunes::Build
23
24
 
25
+ desc "tester SUBCOMMAND ...ARGS", "manage builds"
26
+ subcommand "tester", Slowlane::Itunes::Tester
24
27
 
25
28
  end
26
29
 
data/bin/slowlane-portal CHANGED
@@ -11,9 +11,9 @@ require_relative '../lib/slowlane/portal/certificate.rb'
11
11
 
12
12
  class SlowlanePortal < Thor
13
13
 
14
- class_option :username , :default => '<username>' , :required => true, :desc => 'username [SLOWLANE_USERNAME]'
15
- class_option :password , :default => '<password>' , :required => true, :desc => 'password [SLOWLANE_PASSWORD]'
16
- class_option :team , :default => '<team>' , :required => false, :desc => 'team [SLOWLANE_TEAM]'
14
+ class_option :username , :default => '<username>' , :required => true, :desc => 'username [SLOWLANE_PORTAL_USERNAME]'
15
+ class_option :password , :default => '<password>' , :required => true, :desc => 'password [SLOWLANE_PORTAL_PASSWORD]'
16
+ class_option :team , :default => '<team>' , :required => false, :desc => 'team [SLOWLANE_PORTAL_TEAM]'
17
17
 
18
18
  desc "profile SUBCOMMAND ...ARGS", "manage provisioning profiles"
19
19
  option :filter ,:desc => 'pattern to filter'
@@ -1,5 +1,6 @@
1
1
  require_relative './util.rb'
2
2
  require "spaceship"
3
+ require 'terminal-table'
3
4
 
4
5
  module Slowlane
5
6
  module Itunes
@@ -14,17 +15,54 @@ module Slowlane
14
15
 
15
16
  t=Utils.team(options)
16
17
  Spaceship::Tunes.client.team_id=t
17
-
18
18
 
19
+ headings = ['appleId', 'name', 'vendor_id', 'bundle_id', 'last_modified', 'issues_count']
20
+ rows = []
19
21
  Spaceship::Tunes::Application.all.collect do |app|
20
- require 'pp'
21
- pp app
22
- #pp app.details
22
+ row = []
23
+ row << app.apple_id
24
+ row << app.name
25
+ row << app.vendor_id
26
+ row << app.bundle_id
27
+ row << app.last_modified
28
+ row << app.issues_count
23
29
  #pp app.live_version
24
- pp app.edit_version
25
- pp app.edit_version.candidate_builds unless app.edit_version.nil?
30
+ #pp app.edit_version
31
+ #pp app.edit_version.candidate_builds unless app.edit_version.nil?
32
+ rows << row
26
33
  end
27
34
 
35
+ table = Terminal::Table.new :headings => headings, :rows => rows
36
+ puts table
37
+
38
+ end
39
+
40
+ desc "info", "info of app <bundle_id>"
41
+ class_option :team , :default => '<team>' , :required => true
42
+ def info(bundle_id)
43
+
44
+ c=Utils.credentials(options)
45
+ Spaceship::Tunes.login(c.username,c.password)
46
+
47
+ t=Utils.team(options)
48
+ Spaceship::Tunes.client.team_id=t
49
+
50
+ headings = ['description', 'value' ]
51
+ rows = []
52
+ app = Spaceship::Tunes::Application.find(bundle_id)
53
+ rows << %W(name #{app.name})
54
+ rows << %W(apple_id #{app.apple_id})
55
+ rows << %W(bundle_id #{app.bundle_id})
56
+ rows << %W(last_modified #{app.last_modified})
57
+ detail = app.details
58
+ #require 'pp'
59
+ rows << %W(primary_category #{detail.primary_category})
60
+ rows << %W(secondary_category #{detail.secondary_category})
61
+ #pp app.details
62
+
63
+ table = Terminal::Table.new :headings => headings, :rows => rows
64
+ puts table
65
+
28
66
  end
29
67
 
30
68
  end
@@ -1,5 +1,6 @@
1
1
  require_relative './util.rb'
2
2
  require "spaceship"
3
+ require 'terminal-table'
3
4
 
4
5
  module Slowlane
5
6
  module Itunes
@@ -7,9 +8,8 @@ module Slowlane
7
8
 
8
9
  class_option :team , :default => '<team>' , :required => true
9
10
 
10
- desc "list", "List builds for a particular app <id>"
11
- option :type , :required => true
12
- def list(id)
11
+ desc "current", "Shows current build for a particular app <id>"
12
+ def current(bundle_id)
13
13
 
14
14
  c=Utils.credentials(options)
15
15
  Spaceship::Tunes.login(c.username,c.password)
@@ -17,23 +17,30 @@ module Slowlane
17
17
  t=Utils.team(options)
18
18
  Spaceship::Tunes.client.team_id=t
19
19
 
20
- app = Spaceship::Tunes::Application.find(id)
21
- require 'pp'
22
- if (options[:type] == 'live')
23
- pp app.live_version
20
+ app = Spaceship::Tunes::Application.find(bundle_id)
21
+
22
+ rows = []
23
+ headings = %w{version platform live status release_on_approval}
24
+ version=app.live_version
25
+ if !version.nil?
26
+ row = %W(#{version.version} #{version.platform} #{version.is_live} #{version.raw_status} #{version.release_on_approval})
27
+ rows << row unless app.live_version.nil?
24
28
  end
25
29
 
26
- if (options[:type] == 'edit')
27
- pp app.edit_version
28
- pp app.edit_version.candidate_builds unless app.edit_version.nil?
30
+ version=app.edit_version
31
+ if !version.nil?
32
+ row = %W(#{version.version} #{version.platform} #{version.is_live} #{version.raw_status} #{version.release_on_approval})
33
+ rows << row
29
34
  end
30
35
 
36
+ table = Terminal::Table.new :headings => headings, :rows => rows
37
+ puts table
38
+
31
39
  end
32
40
 
33
41
 
34
- desc "trains", "List trains for a particular app <id>"
35
- option :type , :required => true
36
- def trains(bundle_id)
42
+ desc "list", "List versions for a particular app <bundle_id>"
43
+ def list(bundle_id)
37
44
 
38
45
  c=Utils.credentials(options)
39
46
  Spaceship::Tunes.login(c.username,c.password)
@@ -42,27 +49,19 @@ module Slowlane
42
49
  Spaceship::Tunes.client.team_id=t
43
50
 
44
51
  app = Spaceship::Tunes::Application.find(bundle_id)
45
- require 'pp'
46
- pp app.build_trains
47
-
48
- end
49
-
50
- desc "trainnumbers", "List trainnumbers for a particular app <id>,train <train>"
51
- option :type , :required => true
52
- def trainnumbers(id,train_id)
53
-
54
- c=Utils.credentials(options)
55
- Spaceship::Tunes.login(c.username,c.password)
56
-
57
- t=Utils.team(options)
58
- Spaceship::Tunes.client.team_id=t
59
-
60
- app = Spaceship::Tunes::Application.find(id)
61
- builds = app.all_builds_for_train(train: train_id)
62
- builds.each do |build|
63
- puts "#{build.train_version}|#{build.build_version}|#{build.app_name}|#{build.platform}|#{build.upload_date}|#{build.processing}|#{build.valid}"
52
+ headings = %w{app_name platform train_version build_version upload_date processing valid}
53
+ rows = []
54
+ app.build_trains.each do |key,value|
55
+ builds = app.all_builds_for_train(train: key)
56
+ builds.each do |build|
57
+ row = %W(#{build.app_name} #{build.platform} #{build.train_version} #{build.build_version} #{Time.at(build.upload_date/1000)} #{build.processing} #{build.valid} )
58
+ rows << row
59
+ end
64
60
  end
65
61
 
62
+ table = Terminal::Table.new :headings => headings, :rows => rows
63
+ puts table
64
+
66
65
  end
67
66
 
68
67
  desc 'upload', 'upload ipa <bundle_id> <filename>'
@@ -0,0 +1,42 @@
1
+ require 'spaceship'
2
+ require_relative './util.rb'
3
+ require 'terminal-table'
4
+
5
+ module Slowlane
6
+ module Itunes
7
+ class Tester < Thor
8
+
9
+ desc "list", "List apps"
10
+ def list()
11
+ require "spaceship"
12
+
13
+ c=Utils.credentials(options)
14
+ Spaceship::Tunes.login(c.username,c.password)
15
+
16
+ headings = ['id', 'email', 'type', 'first_name', 'last_name']
17
+ rows = []
18
+
19
+ #devices=[{"model"=>"iPhone 6s", "os"=>"iOS", "osVersion"=>"9.3.1", "name"=>nil}],
20
+ #latest_install_app_id=926729916,
21
+ #latest_install_date=1461928193404,
22
+ #latest_installed_build_number="120",
23
+ #latest_installed_version_number="3.0">
24
+
25
+ Spaceship::Tunes::Tester::External.all.each do |tester|
26
+ row = %W(#{tester.tester_id} #{tester.email} external #{tester.first_name} #{tester.last_name})
27
+ rows << row
28
+ end
29
+
30
+ Spaceship::Tunes::Tester::Internal.all.each do |tester|
31
+ row = %W(#{tester.tester_id} #{tester.email} internal #{tester.first_name} #{tester.last_name})
32
+ rows << row
33
+ end
34
+
35
+ table = Terminal::Table.new :headings => headings, :rows => rows
36
+ puts table
37
+
38
+ end
39
+
40
+ end
41
+ end
42
+ end
data/slowlane.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "slowlane"
5
- s.version = "0.0.3.alpha"
5
+ s.version = "0.0.4"
6
6
  s.platform = Gem::Platform::RUBY
7
7
  s.license = 'MIT'
8
8
  s.authors = ["Patrick Debois"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slowlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.alpha
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Debois
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2016-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -84,6 +84,7 @@ files:
84
84
  - lib/slowlane/itunes/app.rb
85
85
  - lib/slowlane/itunes/build.rb
86
86
  - lib/slowlane/itunes/team.rb
87
+ - lib/slowlane/itunes/tester.rb
87
88
  - lib/slowlane/itunes/util.rb
88
89
  - lib/slowlane/portal/app.rb
89
90
  - lib/slowlane/portal/certificate.rb