sigh 0.6.0 → 0.8.0

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: ab5bb66a972ec8b64c52d5ea5ae1b285c51f08f5
4
- data.tar.gz: cb417be836c696568ad39438c1c553edacf7e653
3
+ metadata.gz: c44f958a867e93b5e83cbdaf49ef895b80fc09e4
4
+ data.tar.gz: 4381cb9b3fb17c256257d4ad427b6c73b387507e
5
5
  SHA512:
6
- metadata.gz: 36aea2553f3c24ac3638dcdf03a0ef989750fcd5a1a62304980e3582ec9120b3d21d174e633784cbe7c28bea9076c0607a11ebc17a2899146eed6ff3fbca6b11
7
- data.tar.gz: 01f113d0f47e115cd554b04ead4842e416536bbf0cbdd377dc8553b81d6a6cb980e3110a77d19d148837059a03c4ee14900c377b173460a441fc59de5cd8312d
6
+ metadata.gz: 8d49dfa1d4a0948c5d96a33594ce449c944e5dec366313ce7962192f7ceaee64bd68b25f96427d71c7e2def81c298b30825ff97a73e235b6de5b8f22487873b0
7
+ data.tar.gz: 7da07740425fc6028335f5df0468e415a6f689a49945d3b0e1c3225280de6f10369f23ca244c5656444d1dddf45d6c720b8aa6790b9253b740fec1e084ec259a
data/README.md CHANGED
@@ -51,10 +51,6 @@ Special thanks to [Matthias Tretter](https://twitter.com/myell0w) for coming up
51
51
 
52
52
  <h5 align="center"><code>sigh</code> is part of <a href="https://fastlane.tools">fastlane</a>: connect all deployment tools into one streamlined workflow.</h5>
53
53
 
54
- ### spaceship version
55
-
56
- If you're feeling adventurous and want to test the new `sigh` beta with [spaceship](https://spaceship.airforce), update using `sudo gem update sigh --pre`. More information in the [release notes](https://github.com/KrauseFx/sigh/releases/tag/1.0.0.beta5).
57
-
58
54
  # Features
59
55
 
60
56
  - **Download** the latest provisioning profile for your app
@@ -111,6 +107,10 @@ To generate the profile in a specific directory:
111
107
 
112
108
  sigh -o "~/Certificates/"
113
109
 
110
+ To download all your provisioning profiles use
111
+
112
+ sigh download_all
113
+
114
114
  For a list of available commands run
115
115
 
116
116
  sigh --help
@@ -129,13 +129,18 @@ If you need the provisioning profile to be renewed regardless of its state use t
129
129
 
130
130
  sigh --force
131
131
 
132
- By default, ```sigh``` will include all certificates on development profiles, and first certificate on other types. If you need to specify which certificate to use you can either use the environment variable `SIGH_CERTIFICATE`, or pass the name or expiry date of the certificate as argument:
132
+ By default, `sigh` will include all certificates on development profiles, and first certificate on other types. If you need to specify which certificate to use you can either use the environment variable `SIGH_CERTIFICATE`, or pass the name or expiry date of the certificate as argument:
133
133
 
134
134
  sigh -c "SunApps GmbH"
135
135
 
136
- Or identify be expire date if you're using the same names for multiple certificates
136
+ # Repair
137
+
138
+ `sigh` can automatically repair all your existing provisioning profiles which are expired or just invalid.
139
+
140
+ All you have to do is
141
+
142
+ sigh repair
137
143
 
138
- sigh -d "Nov 11, 2017"
139
144
 
140
145
  # Resign
141
146
 
@@ -176,7 +181,6 @@ Choose signing certificate to use:
176
181
 
177
182
  - `SIGH_CERTIFICATE` (The name of the certificate to use)
178
183
  - `SIGH_CERTIFICATE_ID` (The ID of the certificate)
179
- - `SIGH_CERTIFICATE_EXPIRE_DATE` (The expire date of the certificate)
180
184
 
181
185
  As always, run `sigh --help` to get a list of all variables.
182
186
 
@@ -186,7 +190,7 @@ If you're using [cert](https://github.com/KrauseFx/cert) in combination with [fa
186
190
 
187
191
  # How does it work?
188
192
 
189
- ```sigh``` will access the ```iOS Dev Center``` to download, renew or generate the ```.mobileprovision``` file. Check out the full source code: [developer_center.rb](https://github.com/KrauseFx/sigh/blob/master/lib/sigh/developer_center.rb).
193
+ ```sigh``` will access the ```iOS Dev Center``` to download, renew or generate the ```.mobileprovision``` file. It uses [spaceship](https://spaceship.airforce) to communicate with Apple's web services.
190
194
 
191
195
 
192
196
  ## How is my password stored?
data/bin/sigh CHANGED
@@ -37,6 +37,27 @@ class SighApplication
37
37
  end
38
38
  end
39
39
 
40
+ command :download_all do |c|
41
+ c.syntax = 'sigh download_all'
42
+ c.description = 'Downloads all valid provisioning profiles'
43
+
44
+ c.action do |args, options|
45
+ Sigh.config = FastlaneCore::Configuration.create(Sigh::Options.available_options, options.__hash__)
46
+ Sigh::Manager.download_all
47
+ end
48
+ end
49
+
50
+ command :repair do |c|
51
+ c.syntax = 'sigh repair'
52
+ c.description = 'Repairs all expired or invalid provisioning profiles'
53
+
54
+ c.action do |args, options|
55
+ Sigh.config = FastlaneCore::Configuration.create(Sigh::Options.available_options, options.__hash__)
56
+ require 'sigh/repair'
57
+ Sigh::Repair.new.repair_all
58
+ end
59
+ end
60
+
40
61
  command :resign do |c|
41
62
  c.syntax = 'sigh resign'
42
63
  c.description = 'Resigns an existing ipa file with the given provisioning profile'
@@ -0,0 +1,33 @@
1
+ module Sigh
2
+ class DownloadAll
3
+ # Download all valid provisioning profiles
4
+ def download_all
5
+ Helper.log.info "Starting login"
6
+ Spaceship.login(Sigh.config[:username], nil)
7
+ Spaceship.select_team
8
+ Helper.log.info "Successfully logged in"
9
+
10
+ Spaceship.provisioning_profile.all.each do |profile|
11
+ if profile.valid?
12
+ Helper.log.info "Downloading profile '#{profile.name}'...".green
13
+ download_profile(profile)
14
+ else
15
+ Helper.log.info "Skipping invalid/expired profile '#{profile.name}'".yellow
16
+ end
17
+ end
18
+ end
19
+
20
+ def download_profile(profile)
21
+ output = Sigh.config[:output_path] || "/tmp"
22
+
23
+ profile_name = "#{profile.class.pretty_type}_#{profile.app.bundle_id}.mobileprovision" # default name
24
+
25
+ output_path = File.join(output, profile_name)
26
+ dataWritten = File.open(output_path, "wb") do |f|
27
+ f.write(profile.download)
28
+ end
29
+
30
+ Manager.install_profile(output_path) unless Sigh.config[:skip_install]
31
+ end
32
+ end
33
+ end
data/lib/sigh/manager.rb CHANGED
@@ -4,7 +4,6 @@ require 'sigh/spaceship/runner'
4
4
  module Sigh
5
5
  class Manager
6
6
  def self.start
7
- start = Time.now
8
7
  path = Sigh::Runner.new.run
9
8
 
10
9
  return nil unless path
@@ -25,8 +24,18 @@ module Sigh
25
24
  return File.expand_path(output)
26
25
  end
27
26
 
27
+ def self.download_all
28
+ require 'sigh/download_all'
29
+ DownloadAll.new.download_all
30
+ end
31
+
28
32
  def self.install_profile(profile)
29
33
  Helper.log.info "Installing provisioning profile..."
34
+
35
+ require 'sigh/profile_analyser'
36
+ udid = Sigh::ProfileAnalyser.run(profile)
37
+ ENV["SIGH_UDID"] = udid if udid
38
+
30
39
  profile_path = File.expand_path("~") + "/Library/MobileDevice/Provisioning Profiles/"
31
40
  profile_filename = ENV["SIGH_UDID"] + ".mobileprovision"
32
41
  destination = profile_path + profile_filename
data/lib/sigh/options.rb CHANGED
@@ -80,11 +80,6 @@ module Sigh
80
80
  env_name: "SIGH_CERTIFICATE",
81
81
  description: "The certificate name to use for new profiles, or to renew with. (e.g. \"Felix Krause\")",
82
82
  optional: true),
83
- FastlaneCore::ConfigItem.new(key: :cert_date,
84
- short_option: "-d",
85
- env_name: "SIGH_CERTIFICATE_EXPIRE_DATE",
86
- description: "The certificate with the given expiry date used to renew. (e.g. \"Nov 11, 2017\")",
87
- optional: true),
88
83
  FastlaneCore::ConfigItem.new(key: :filename,
89
84
  short_option: "-f",
90
85
  env_name: "SIGH_PROFILE_FILE_NAME",
@@ -0,0 +1,30 @@
1
+ module Sigh
2
+ class Repair
3
+ def repair_all
4
+ Helper.log.info "Starting login"
5
+ Spaceship.login(Sigh.config[:username], nil)
6
+ Spaceship.select_team
7
+ Helper.log.info "Successfully logged in"
8
+
9
+ # Select all 'Invalid' or 'Expired' provisioning profiles
10
+ broken_profiles = Spaceship.provisioning_profile.all.find_all do |profile|
11
+ (profile.status == "Invalid" or profile.status == "Expired")
12
+ end
13
+
14
+ if broken_profiles.count == 0
15
+ Helper.log.info "All provisioning profiles are valid, nothing to do".green
16
+ return
17
+ end
18
+
19
+ Helper.log.info "Going to repair #{broken_profiles.count} provisioning profiles".green
20
+
21
+ # Iterate over all broken profiles and repair them
22
+ broken_profiles.each do |profile|
23
+ Helper.log.info "Repairing profile '#{profile.name}'..."
24
+ profile.repair! # yes, that's all you need to repair a profile
25
+ end
26
+
27
+ Helper.log.info "Successfully repaired #{broken_profiles.count} provisioning profiles".green
28
+ end
29
+ end
30
+ end
data/lib/sigh/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sigh
2
- VERSION = "0.6.0"
2
+ VERSION = "0.8.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.6.0
4
+ version: 0.8.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: 2015-06-11 00:00:00.000000000 Z
11
+ date: 2015-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - '>='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.8
47
+ version: 0.0.11
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.0.8
54
+ version: 0.0.11
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -165,10 +165,12 @@ files:
165
165
  - lib/assets/resign.sh
166
166
  - lib/sigh.rb
167
167
  - lib/sigh/dependency_checker.rb
168
+ - lib/sigh/download_all.rb
168
169
  - lib/sigh/local_manage.rb
169
170
  - lib/sigh/manager.rb
170
171
  - lib/sigh/options.rb
171
172
  - lib/sigh/profile_analyser.rb
173
+ - lib/sigh/repair.rb
172
174
  - lib/sigh/resign.rb
173
175
  - lib/sigh/spaceship/runner.rb
174
176
  - lib/sigh/version.rb