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 +4 -4
- data/README.md +51 -0
- data/bin/slowlane-itunes +6 -3
- data/bin/slowlane-portal +3 -3
- data/lib/slowlane/itunes/app.rb +44 -6
- data/lib/slowlane/itunes/build.rb +31 -32
- data/lib/slowlane/itunes/tester.rb +42 -0
- data/slowlane.gemspec +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bf3c345ce9af7157174e4eade2da0a1713e5e4c2
|
|
4
|
+
data.tar.gz: cb68db258e3828b7845ce8c79fe83a2a87a5561f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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 [
|
|
12
|
-
class_option :password , :default => '<password>' , :required => true, :desc => 'password [
|
|
13
|
-
class_option :team , :default => '<team>' , :required => false, :desc => '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 [
|
|
15
|
-
class_option :password , :default => '<password>' , :required => true, :desc => 'password [
|
|
16
|
-
class_option :team , :default => '<team>' , :required => false, :desc => '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'
|
data/lib/slowlane/itunes/app.rb
CHANGED
|
@@ -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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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 "
|
|
11
|
-
|
|
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(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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 "
|
|
35
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
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.
|
|
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-
|
|
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
|