slowlane 0.0.3.alpha → 0.0.4

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: 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