slowlane 0.0.8 → 0.0.9

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: 821bfcac403bdde18abdf794fde058fb99e37698
4
- data.tar.gz: 7ecdfb6d6d05ed4878c6585b1bfc568eb086a2da
3
+ metadata.gz: e23fda9ca9f16d0108eebe50404e1d528150220a
4
+ data.tar.gz: f9bbbb8f82b60faebc82b51becf7f11989cab5b9
5
5
  SHA512:
6
- metadata.gz: a4386e37d4525678cf4047f384aac86948d4ff1e9f4810e2133084dadabf73f897ea6c621611ab93944da7a55064750a12c723e189c01e9d6ac8694acf9fcd84
7
- data.tar.gz: 992d295d24bb13dc3b6c45287b656243ae71298371ee125f74703e57922030ee08a6bc96706258b869ddfb80499b562a049d723e01f56c58822f6d3c41bc00b6
6
+ metadata.gz: c6b528a992145497183a178d53a63ff480155b800ea6af71da8ab3eaea8c23b6f6ea3dab48b2e717a86caa72b21064d7e867507724dbf9f377602e6e35124871
7
+ data.tar.gz: 6c8b0b860eed2285912ed70c6d05ef0293676de720778b22e7e091704a91ec3e798e001a6c36f61a618aefcf591c424716005f894e164a39fce320834086c91b
data/README.md CHANGED
@@ -49,6 +49,7 @@ results in binaries:
49
49
  - `slowlane-portal device list`
50
50
  - `slowlane-portal profile list`
51
51
  - `slowlane-portal profile decode`
52
+ - `slowlane-portal profile download`
52
53
  - `slowlane-portal psn list`
53
54
  - `slowlane-portal team list`
54
55
 
@@ -76,7 +77,6 @@ A lot is still focusing on the happy path , we need to catch better the errors a
76
77
  #### Portal
77
78
  - create|delete app
78
79
  - create|delete certificate
79
- - download certificate
80
80
  - create|delete device
81
81
  - create|delete profile
82
82
  - download profile
data/bin/complete.sh ADDED
@@ -0,0 +1,43 @@
1
+ _slowlane_itunes_complete()
2
+ {
3
+ local cur prev
4
+
5
+ COMPREPLY=()
6
+ cur=${COMP_WORDS[COMP_CWORD]}
7
+ prev=${COMP_WORDS[COMP_CWORD-1]}
8
+
9
+ if [ $COMP_CWORD -eq 1 ]; then
10
+ COMPREPLY=( $(compgen -W "help team app build tester" -- $cur) )
11
+ elif [ $COMP_CWORD -eq 2 ]; then
12
+ case "$prev" in
13
+ "app")
14
+ COMPREPLY=( $(compgen -W "list help" -- $cur) )
15
+ ;;
16
+ "build")
17
+ COMPREPLY=( $(compgen -W "list help" -- $cur) )
18
+ ;;
19
+ "team")
20
+ COMPREPLY=( $(compgen -W "list help" -- $cur) )
21
+ ;;
22
+ "tester")
23
+ COMPREPLY=( $(compgen -W "list help" -- $cur) )
24
+ ;;
25
+ *)
26
+ ;;
27
+ esac
28
+ elif [ $COMP_CWORD -gt 2 ]; then
29
+ command=${COMP_WORDS[1]}
30
+ subcommand=${COMP_WORDS[2]}
31
+ if [ "$command" == "team" ] && [ "$subcommand" == "list" ]; then
32
+ case "$cur" in
33
+ --*)
34
+ COMPREPLY=( $( compgen -W '--user --password --team' -- $cur ) );;
35
+ *)
36
+ ;;
37
+ esac
38
+ fi
39
+ fi
40
+
41
+ return 0
42
+ } &&
43
+ complete -F _slowlane_itunes_complete slowlane-itunes
data/bin/slowlane-itunes CHANGED
@@ -6,25 +6,6 @@ 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
8
  require_relative '../lib/slowlane/itunes/tester.rb'
9
-
10
- class SlowlaneItunes < Thor
11
-
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]'
15
-
16
- desc "app SUBCOMMAND ...ARGS", "manage apps"
17
- subcommand "app", Slowlane::Itunes::App
18
-
19
- desc "team SUBCOMMAND ...ARGS", "manage teams"
20
- subcommand "team", Slowlane::Itunes::Team
21
-
22
- desc "build SUBCOMMAND ...ARGS", "manage builds"
23
- subcommand "build", Slowlane::Itunes::Build
24
-
25
- desc "tester SUBCOMMAND ...ARGS", "manage testers"
26
- subcommand "tester", Slowlane::Itunes::Tester
27
-
28
- end
9
+ require_relative '../lib/slowlane/itunes/command.rb'
29
10
 
30
11
  SlowlaneItunes.start(ARGV)
@@ -0,0 +1,43 @@
1
+ require 'thor'
2
+ class SlowlaneItunes < Thor
3
+
4
+ class_option :username , :default => '<username>' , :required => true, :desc => 'username [SLOWLANE_ITUNES_USERNAME]'
5
+ class_option :password , :default => '<password>' , :required => true, :desc => 'password [SLOWLANE_ITUNES_PASSWORD]'
6
+ class_option :team , :default => '<team>' , :required => false, :desc => 'team [SLOWLANE_ITUNES_TEAM]'
7
+
8
+ desc "app SUBCOMMAND ...ARGS", "manage apps"
9
+ subcommand "app", Slowlane::Itunes::App
10
+
11
+ desc "team SUBCOMMAND ...ARGS", "manage teams"
12
+ subcommand "team", Slowlane::Itunes::Team
13
+
14
+ desc "build SUBCOMMAND ...ARGS", "manage builds"
15
+ subcommand "build", Slowlane::Itunes::Build
16
+
17
+ desc "tester SUBCOMMAND ...ARGS", "manage testers"
18
+ subcommand "tester", Slowlane::Itunes::Tester
19
+
20
+ desc "autocomplete","provide autocompletion",:hide => true
21
+ def autocomplete
22
+ class_options = self.class.class_options
23
+ commands = self.class.commands
24
+ commands.each do |command_name,command|
25
+ unless command.instance_of? Thor::HiddenCommand
26
+ subcommand_class = Object.const_get("Slowlane::Itunes::"+command_name.capitalize)
27
+ subcommand_class.commands.each do |subcommand_name,subcommand|
28
+ available_options = []
29
+ options = subcommand.options
30
+ options.each do |option_name,option|
31
+ available_options << "--#{option_name}"
32
+ end
33
+ class_options.each do |option_name,option|
34
+ available_options << "--#{option_name}"
35
+ end
36
+ puts "#{command_name}::#{subcommand_name} : #{available_options.join(',')}"
37
+ end
38
+ end
39
+ end
40
+
41
+ end
42
+
43
+ end
@@ -51,10 +51,71 @@ module Slowlane
51
51
 
52
52
  end
53
53
 
54
- desc "device::add","device::add <bundle_id> <device>"
55
- def add_device(bundle_id,device)
56
- puts bundle_id
57
- puts device
54
+ desc "add_device","add_device <bundle_id> <device_udid>"
55
+ def device_add(bundle_id,device_udid)
56
+ puts "Note: only adding devices to distribution adhoc profiles"
57
+
58
+ device=Spaceship.device.find_by_udid(device_udid)
59
+ if device.nil?
60
+ puts "No device with udid #{device_udid} found"
61
+ exit(-1)
62
+ end
63
+
64
+ profiles = Spaceship.provisioning_profile.find_by_bundle_id(bundle_id)
65
+ distribution_profiles = profiles.select do |profile|
66
+ profile.type == "iOS Distribution" and profile.distribution_method == "adhoc"
67
+ end
68
+
69
+ if distribution_profiles.size() == 0
70
+ puts "We found no provisioning profiles for bundle_id #{bundle_id}"
71
+ exit(-1)
72
+ end
73
+
74
+ if distribution_profiles.size() > 1
75
+ puts "We found multiple provisioning profiles for bundle_id #{bundle_id}"
76
+ exit(-1)
77
+ end
78
+
79
+ profile=distribution_profiles.first
80
+ profile.devices.push(device)
81
+ profile.update!
82
+
83
+ puts "device with udid #{device_udid} added to provisioning profile #{profile.name}(#{bundle_id})"
84
+
85
+ end
86
+
87
+ #option :platform,:default => 'ios', :banner => '<adhoc,limited,store>'
88
+ desc "download", "download provisioning profile <bundle_id>"
89
+ option :distribution_method,:required => true , :banner => '<adhoc,limited,store>'
90
+ def download(bundle_id)
91
+
92
+ c=Utils.credentials(options)
93
+ Spaceship::Portal.login(c.username,c.password)
94
+
95
+ t=Utils.team(options)
96
+ Spaceship::Portal.client.team_id=t
97
+
98
+ profiles = Spaceship.provisioning_profile.find_by_bundle_id(bundle_id)
99
+ distribution_profiles = profiles.select do |profile|
100
+ profile.distribution_method == options[:distribution_method]
101
+ end
102
+
103
+ if distribution_profiles.size() == 0
104
+ puts "We found no provisioning profiles for bundle_id #{bundle_id}"
105
+ exit(-1)
106
+ end
107
+
108
+ if distribution_profiles.size() > 1
109
+ puts "We found multiple provisioning profiles for bundle_id #{bundle_id}"
110
+ exit(-1)
111
+ end
112
+
113
+ profile=distribution_profiles.first
114
+
115
+ filename = "#{profile.uuid}.mobileprovision"
116
+ puts "writing provisioning profile #{profile.name}(#{bundle_id}) to #{filename}"
117
+ File.write("#{profile.uuid}.mobileprovision", profile.download)
118
+
58
119
  end
59
120
 
60
121
  desc "list", "List profiles"
@@ -67,13 +128,18 @@ module Slowlane
67
128
  Spaceship::Portal.client.team_id=t
68
129
 
69
130
  rows = []
70
- headings = [ 'uuid', 'id', 'distribution_method', 'name' ]
131
+ headings = [ 'uuid', 'id', 'distribution_method', 'name' ,'platform','type','bundle_id']
71
132
  Spaceship::Portal.provisioning_profile.all.find_all do |profile|
72
133
  row = []
73
134
  row << profile.uuid
74
135
  row << profile.id
75
136
  row << profile.distribution_method
76
137
  row << profile.name
138
+ #TODO Spaceship - separate this type
139
+ row << profile.type.split(' ')[0].downcase
140
+ row << profile.type.split(' ')[1].downcase
141
+ row << profile.app.bundle_id
142
+
77
143
  unless options[:filter].nil?
78
144
  if profile.name =~ /#{options[:filter]}/
79
145
  rows << row
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.8"
5
+ s.version = "0.0.9"
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.8
4
+ version: 0.0.9
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-07 00:00:00.000000000 Z
11
+ date: 2016-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -126,6 +126,7 @@ description: Fastlane Cli without supprises
126
126
  email:
127
127
  - patrick.debois@jedi.be
128
128
  executables:
129
+ - complete.sh
129
130
  - slowlane-ipa
130
131
  - slowlane-itunes
131
132
  - slowlane-portal
@@ -136,11 +137,13 @@ files:
136
137
  - Gemfile
137
138
  - README.md
138
139
  - Rakefile
140
+ - bin/complete.sh
139
141
  - bin/slowlane-ipa
140
142
  - bin/slowlane-itunes
141
143
  - bin/slowlane-portal
142
144
  - lib/slowlane/itunes/app.rb
143
145
  - lib/slowlane/itunes/build.rb
146
+ - lib/slowlane/itunes/command.rb
144
147
  - lib/slowlane/itunes/team.rb
145
148
  - lib/slowlane/itunes/tester.rb
146
149
  - lib/slowlane/itunes/util.rb