sigh 0.1.5 → 0.2.0

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: a083256818ad827b63f84c5c5b4486618c3ba32c
4
- data.tar.gz: 30d38d5530f6680a77b695589d699655547e521b
3
+ metadata.gz: a3c9e9bd59797f783963393887bc4b657263cbff
4
+ data.tar.gz: 7181fd01ed4195cab98e96b587d72e32f3485e75
5
5
  SHA512:
6
- metadata.gz: 6d21fa089eb7d500a69a68b7d76f6aa022f917f99c8c75e9f48c7c99ec1acd64636a8fc4fb774ef4d27730082aae7e1b8b96e29f4c57f2d7818baf35d673b884
7
- data.tar.gz: 7fda052634ec1a431b8de4477b5750b83ed18f3e32e2ca02408e4fd200cf2eb36d9574bbd5b0a3ed4073d6c3a55796d2ee674bd6f1cfd083c9734a991f5208fb
6
+ metadata.gz: 95edbbbedc59167c0b3c4ce99a0d2ababbf954b70f91b7743e89a060c61a7e204c69bbdfd2944e36331cb0090026dd9f2f031cdeba8cdcc7d17e288333cdb131
7
+ data.tar.gz: c7a347854360557aafcf6c8ae32ac93b788df3f48833bb871c7d017e72aee91dfed50bef002f0479b6cc6bfbb8c20d57bf26f87dcda08ca18e5b70ddcd428356
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2014 Felix Krause
3
+ Copyright (c) 2015 Felix Krause
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,31 +1,37 @@
1
+ <h3 align="center">
2
+ <a href="https://github.com/KrauseFx/fastlane">
3
+ <img src="assets/fastlane.png" width="150" />
4
+ <br />
5
+ fastlane
6
+ </a>
7
+ </h3>
1
8
  <p align="center">
2
- <a href="https://github.com/KrauseFx/deliver">Deliver</a> &bull;
3
- <a href="https://github.com/KrauseFx/snapshot">Snapshot</a> &bull;
4
- <a href="https://github.com/KrauseFx/frameit">FrameIt</a> &bull;
5
- <a href="https://github.com/KrauseFx/PEM">PEM</a> &bull;
6
- <b>Sigh</b>
9
+ <a href="https://github.com/KrauseFx/deliver">deliver</a> &bull;
10
+ <a href="https://github.com/KrauseFx/snapshot">snapshot</a> &bull;
11
+ <a href="https://github.com/KrauseFx/frameit">frameit</a> &bull;
12
+ <a href="https://github.com/KrauseFx/PEM">PEM</a> &bull;
13
+ <b>sigh</b>
7
14
  </p>
8
-
9
15
  -------
10
16
 
11
17
  <p align="center">
12
18
  <img src="assets/sigh.png">
13
19
  </p>
14
20
 
15
- Sigh
21
+ sigh
16
22
  ============
17
- #### Because you would rather spend your time building stuff than fighting provisioning
18
23
 
19
24
  [![Twitter: @KauseFx](https://img.shields.io/badge/contact-@KrauseFx-blue.svg?style=flat)](https://twitter.com/KrauseFx)
20
25
  [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/KrauseFx/sigh/blob/master/LICENSE)
21
26
  [![Gem](https://img.shields.io/gem/v/sigh.svg?style=flat)](http://rubygems.org/gems/sigh)
22
27
 
28
+ ###### Because you would rather spend your time building stuff than fighting provisioning
23
29
 
24
30
  Tired of manually creating, renewing and downloading your iOS provisioning profiles?
25
31
 
26
32
  ```sigh``` handles all that for you. Just run ```sigh``` and it will do the rest.
27
33
 
28
- Follow the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx)
34
+ Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx)
29
35
 
30
36
 
31
37
 
@@ -41,6 +47,9 @@ Follow the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx)
41
47
 
42
48
  -------
43
49
 
50
+ <h5 align="center"><code>sigh</code> is part of <a href="http://fastlane.tools">fastlane</a>: connect all deployment tools into one streamlined workflow.</h5>
51
+
52
+
44
53
  # Features
45
54
 
46
55
  - **Download** the latest provisioning profile for your app
@@ -50,7 +59,7 @@ Follow the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx)
50
59
  - Supports **App Store**, **Ad Hoc** and **Development** profiles
51
60
  - Support for **multiple Apple accounts**, storing your credentials securely in the Keychain
52
61
  - Support for **multiple Teams**
53
- - Support for Enterprise Profiles
62
+ - Support for **Enterprise Profiles**
54
63
 
55
64
  To automate iOS Push profiles you can use [PEM](https://github.com/KrauseFx/PEM).
56
65
 
@@ -87,7 +96,7 @@ Yes, that's the whole command!
87
96
 
88
97
  You can pass your bundle identifier and username like this:
89
98
 
90
- sigh -a at.felixkrause.app -u username
99
+ sigh -a com.krausefx.app -u username
91
100
 
92
101
  If you want to generate an **Ad Hoc** profile instead of an App Store profile:
93
102
 
@@ -111,7 +120,7 @@ In case you prefer environment variables:
111
120
 
112
121
  - ```SIGH_USERNAME```
113
122
  - ```SIGH_APP_IDENTIFIER```
114
- - ```SIGH_TEAM_ID``` (The exact name of your preferred team for this account)
123
+ - ```SIGH_TEAM_ID``` (The Team ID, e.g. `Q2CBPK58CA`)
115
124
 
116
125
  # How does it work?
117
126
 
@@ -122,14 +131,13 @@ In case you prefer environment variables:
122
131
  ```sigh``` uses the password manager from [```Deliver```](https://github.com/KrauseFx/deliver#can-i-trust-deliver). Take a look the [Deliver README](https://github.com/KrauseFx/deliver#can-i-trust-deliver) for more information.
123
132
 
124
133
  # Tips
125
- ## Other helpful tools
126
- Check out other tools in this collection to speed up your deployment process:
127
-
128
- - [```deliver```](https://github.com/KrauseFx/deliver): Deploy screenshots, app metadata and app updates to the App Store using just one command
129
- - [```snapshot```](https://github.com/KrauseFx/snapshot): Create hundreds of screenshots of your iPhone app... while doing something else
130
- - [```FrameIt```](https://github.com/KrauseFx/frameit): Want a device frame around your screenshot? Do it in an instant!
131
- - [```PEM```](https://github.com/KrauseFx/pem): Tired of manually creating and maintaining your push certification profiles?
134
+ ## [`fastlane`](http://fastlane.tools) Toolchain
132
135
 
136
+ - [`fastlane`](http://fastlane.tools): Connect all deployment tools into one streamlined workflow
137
+ - [`deliver`](https://github.com/KrauseFx/deliver): Upload screenshots, metadata and your app to the App Store using a single command
138
+ - [`snapshot`](https://github.com/KrauseFx/snapshot): Automate taking localized screenshots of your iOS app on every device
139
+ - [`frameit`](https://github.com/KrauseFx/frameit): Quickly put your screenshots into the right device frames
140
+ - [`PEM`](https://github.com/KrauseFx/pem): Automatically generate and renew your push notification profiles
133
141
 
134
142
  ## Use the 'Provisioning Quicklook plugin'
135
143
  Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
data/bin/sigh CHANGED
@@ -4,16 +4,17 @@ $:.push File.expand_path("../../lib", __FILE__)
4
4
 
5
5
  require 'sigh'
6
6
  require 'commander/import'
7
- require 'deliver/password_manager'
7
+ require 'credentials_manager/password_manager'
8
+ require 'credentials_manager/appfile_config'
8
9
 
9
10
  HighLine.track_eof = false
10
11
 
11
12
 
12
13
  # Commander
13
14
  program :version, Sigh::VERSION
14
- program :description, 'CLI for \'sigh\' - Automatic maintaining of iOS certificates'
15
- program :help, 'Author', 'Felix Krause <krausefx@gmail.com>'
16
- program :help, 'Website', 'http://felixkrause.at'
15
+ program :description, 'CLI for \'sigh\' - Because you would rather spend your time building stuff than fighting provisioning'
16
+ program :help, 'Author', 'Felix Krause <sigh@krausefx.com>'
17
+ program :help, 'Website', 'http://fastlane.tools'
17
18
  program :help, 'GitHub', 'https://github.com/krausefx/sigh'
18
19
  program :help_formatter, :compact
19
20
 
@@ -56,15 +57,17 @@ end
56
57
  default_command :renew
57
58
 
58
59
  def username(options)
59
- user = nil
60
- user = options.username if options.username
61
- user = ENV["SIGH_USERNAME"] if ENV["SIGH_USERNAME"]
60
+ user = options.username
61
+ user ||= ENV["SIGH_USERNAME"]
62
+ user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
62
63
 
63
- Deliver::PasswordManager.shared_manager(user) if user
64
+ CredentialsManager::PasswordManager.shared_manager(user) if user
64
65
  end
65
66
 
66
67
  def app_identifier(options)
67
- return options.identifier if options.identifier
68
- return ENV["SIGH_APP_IDENTIFIER"] if ENV["SIGH_APP_IDENTIFIER"]
69
- return ask("App Identifier (Bundle ID, e.g. at.felixkrause.app): ")
68
+ value = options.identifier
69
+ value ||= ENV["SIGH_APP_IDENTIFIER"]
70
+ value ||= CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
71
+ value ||= ask("App Identifier (Bundle ID, e.g. com.krausefx.app): ")
72
+ return value
70
73
  end
@@ -1,4 +1,4 @@
1
- require 'deliver/password_manager'
1
+ require 'credentials_manager/password_manager'
2
2
  require 'open-uri'
3
3
  require 'openssl'
4
4
 
@@ -55,7 +55,7 @@ module Sigh
55
55
 
56
56
  # Loggs in a user with the given login data on the Dev Center Frontend.
57
57
  # You don't need to pass a username and password. It will
58
- # Automatically be fetched using the {Deliver::PasswordManager}.
58
+ # Automatically be fetched using the {CredentialsManager::PasswordManager}.
59
59
  # This method will also automatically be called when triggering other
60
60
  # actions like {#open_app_page}
61
61
  # @param user (String) (optional) The username/email address
@@ -68,8 +68,8 @@ module Sigh
68
68
  begin
69
69
  Helper.log.info "Login into iOS Developer Center"
70
70
 
71
- user ||= Deliver::PasswordManager.shared_manager.username
72
- password ||= Deliver::PasswordManager.shared_manager.password
71
+ user ||= CredentialsManager::PasswordManager.shared_manager.username
72
+ password ||= CredentialsManager::PasswordManager.shared_manager.password
73
73
 
74
74
  result = visit PROFILES_URL
75
75
  raise "Could not open Developer Center" unless result['status'] == 'success'
@@ -118,7 +118,7 @@ module Sigh
118
118
  result = visit PROFILES_URL
119
119
  raise "Could not open Developer Center" unless result['status'] == 'success'
120
120
  end
121
- rescue Exception => ex
121
+ rescue => ex
122
122
  Helper.log.debug ex
123
123
  raise DeveloperCenterLoginError.new("Error loggin in user #{user}. User is on multiple teams and we were unable to correctly retrieve them.")
124
124
  end
@@ -126,16 +126,20 @@ module Sigh
126
126
  begin
127
127
  wait_for_elements('.ios.profiles.gridList')
128
128
  visit PROFILES_URL # again, since after the login, the dev center loses the production GET value
129
- rescue Exception => ex
129
+ rescue => ex
130
130
  Helper.log.debug ex
131
- raise DeveloperCenterLoginError.new("Error logging in user #{user} with the given password. Make sure you entered them correctly.")
131
+ if page.has_content?"Getting Started"
132
+ raise "There was no valid signing certificate found. Please log in and follow the 'Getting Started guide' on '#{current_url}'".red
133
+ else
134
+ raise DeveloperCenterLoginError.new("Error logging in user #{user} with the given password. Make sure you entered them correctly.")
135
+ end
132
136
  end
133
137
 
134
138
 
135
139
  Helper.log.info "Login successful"
136
140
 
137
141
  true
138
- rescue Exception => ex
142
+ rescue => ex
139
143
  error_occured(ex)
140
144
  end
141
145
  end
@@ -210,7 +214,7 @@ module Sigh
210
214
  # After creating the profile, we need to download it
211
215
  return maintain_app_certificate(app_identifier, type) # recursive
212
216
 
213
- rescue Exception => ex
217
+ rescue => ex
214
218
  error_occured(ex)
215
219
  end
216
220
  end
@@ -227,7 +231,7 @@ module Sigh
227
231
 
228
232
  begin
229
233
  wait_for_elements('#type-production')
230
- rescue Exception => ex
234
+ rescue => ex
231
235
  wait_for_elements('#type-inhouse') # enterprise accounts
232
236
  enterprise = true
233
237
  end
@@ -25,7 +25,7 @@ module Sigh
25
25
  if latest and Gem::Version.new(latest) > Gem::Version.new(current_version)
26
26
  return true
27
27
  end
28
- rescue Exception => ex
28
+ rescue => ex
29
29
  Helper.log.error("Could not check if 'sigh' is up to date.")
30
30
  end
31
31
  return false
data/lib/sigh/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sigh
2
- VERSION = "0.1.5"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sigh
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-23 00:00:00.000000000 Z
11
+ date: 2015-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: security
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ~>
32
- - !ruby/object:Gem::Version
33
- version: 0.1.3
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- version: 0.1.3
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: highline
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: 4.2.0
83
69
  - !ruby/object:Gem::Dependency
84
- name: deliver
70
+ name: credentials_manager
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - '>='
@@ -220,7 +206,8 @@ dependencies:
220
206
  - - '>='
221
207
  - !ruby/object:Gem::Version
222
208
  version: '0'
223
- description: Create, Renew and Download your provisioning profiles - using one command
209
+ description: Because you would rather spend your time building stuff than fighting
210
+ provisioning
224
211
  email:
225
212
  - sigh@krausefx.com
226
213
  executables:
@@ -237,12 +224,12 @@ files:
237
224
  - lib/sigh/helper.rb
238
225
  - lib/sigh/update_checker.rb
239
226
  - lib/sigh/version.rb
240
- homepage: http://krausefx.com
227
+ homepage: http://fastlane.tools
241
228
  licenses:
242
229
  - MIT
243
230
  metadata: {}
244
- post_install_message: This gem requires phantomjs. Install it using 'brew update &&
245
- brew install phantomjs'
231
+ post_install_message: sigh requires phantomjs. Install it using 'brew update && brew
232
+ install phantomjs'
246
233
  rdoc_options: []
247
234
  require_paths:
248
235
  - lib
@@ -261,6 +248,6 @@ rubyforge_project:
261
248
  rubygems_version: 2.2.2
262
249
  signing_key:
263
250
  specification_version: 4
264
- summary: Create, Renew and Download your provisioning profiles - using one command
251
+ summary: Because you would rather spend your time building stuff than fighting provisioning
265
252
  test_files: []
266
253
  has_rdoc: