sigh 0.10.7 → 0.10.8

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: 6353058c7c69a7918be940d6c3a6602107426b0f
4
- data.tar.gz: 13db0d199f4154821bd4ed64a0684e615be4812e
3
+ metadata.gz: e478cbdac07b4c0cebd0c42b168fc550c566549c
4
+ data.tar.gz: ad6204709fd499012be9ac73a9f240b8951856ce
5
5
  SHA512:
6
- metadata.gz: c625f8b049f337e6bdd3c7be4cfa33687a4c9b42cd9cc994062f85036b2e8487fe57f577a96a07a4072c38bb04136c209df39de45ba2a436d5da2f13ee3d612c
7
- data.tar.gz: 9a60f2959f8187d58f9b987e7ae2d55481ae1ca0b3a559b20e44f1099a1957ebc967b4c9bfa8d6fc1a616bbd8ac5aa107a64f980caaabdb5428e8392f925dfd3
6
+ metadata.gz: d82fa74fbfaeff88afe0035d7833550b70f8ca45db75c84c1ca98dcd82cf1fc431feb1d9a2750cd82abaf5780b746764604aa5c1e82131dbf87fbb5110363e03
7
+ data.tar.gz: f9e2e29420e1aec1d6117f29ff9c49587ae562b5f782ed954522314e45683db5a7ab5385eb7839aba35680bd40297b746a259c758c33bd3eb1ffdede2eae462b
data/bin/sigh CHANGED
@@ -70,7 +70,7 @@ class SighApplication
70
70
  command :manage do |c|
71
71
  c.syntax = 'sigh manage'
72
72
  c.description = 'Manage installed provisioning profiles on your system.'
73
-
73
+
74
74
  c.option '-e', '--clean_expired', 'Remove all expired provisioning profiles.'
75
75
 
76
76
  c.option '-p', '--clean_pattern STRING', String, 'Remove any provisioning profiles that matches the regular expression.'
@@ -85,7 +85,6 @@ class SighApplication
85
85
 
86
86
  run!
87
87
  end
88
-
89
88
  end
90
89
 
91
90
  begin
data/lib/sigh.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require 'sigh/version'
2
2
  require 'sigh/dependency_checker'
3
3
  require 'sigh/resign'
4
+ require 'sigh/manager'
5
+
4
6
  require 'fastlane_core'
5
7
 
6
8
  module Sigh
@@ -5,7 +5,7 @@ module Sigh
5
5
  end
6
6
 
7
7
  def self.check_xcode_select
8
- unless `xcode-select -v`.include?"xcode-select version "
8
+ unless `xcode-select -v`.include? "xcode-select version "
9
9
  Helper.log.fatal '#############################################################'
10
10
  Helper.log.fatal "# You have to install the Xcode commdand line tools to use sigh"
11
11
  Helper.log.fatal "# Install the latest version of Xcode from the AppStore"
@@ -15,4 +15,4 @@ module Sigh
15
15
  end
16
16
  end
17
17
  end
18
- end
18
+ end
@@ -23,11 +23,11 @@ module Sigh
23
23
  profile_name = "#{profile.class.pretty_type}_#{profile.app.bundle_id}.mobileprovision" # default name
24
24
 
25
25
  output_path = File.join(output, profile_name)
26
- dataWritten = File.open(output_path, "wb") do |f|
26
+ File.open(output_path, "wb") do |f|
27
27
  f.write(profile.download)
28
28
  end
29
29
 
30
30
  Manager.install_profile(output_path) unless Sigh.config[:skip_install]
31
31
  end
32
32
  end
33
- end
33
+ end
@@ -26,20 +26,21 @@ module Sigh
26
26
  # copy to Xcode provisioning profile directory
27
27
  FileUtils.copy profile, destination
28
28
 
29
- if File.exists? destination
29
+ if File.exist? destination
30
30
  Helper.log.info "Profile installed at \"#{destination}\""
31
31
  else
32
32
  raise "Failed installation of provisioning profile at location: #{destination}".red
33
33
  end
34
34
  end
35
35
 
36
- def self.get_inputs(options, args)
36
+ def self.get_inputs(options, _args)
37
37
  clean_expired = options.clean_expired
38
38
  clean_pattern = /#{options.clean_pattern}/ if options.clean_pattern
39
- command = (clean_expired != nil || clean_pattern != nil) ? CLEANUP : LIST
39
+ command = (!clean_expired.nil? || !clean_pattern.nil?) ? CLEANUP : LIST
40
40
  return command, clean_expired, clean_pattern
41
41
  end
42
42
 
43
+ # rubocop:disable Metrics/AbcSize
43
44
  def self.list_profiles
44
45
  profiles = load_profiles
45
46
 
@@ -63,7 +64,7 @@ module Sigh
63
64
  Helper.log.info profile["Name"].yellow
64
65
  end
65
66
  end
66
-
67
+
67
68
  profiles_expired = profiles.select { |profile| profile["ExpirationDate"] < now }
68
69
  if profiles_expired.count > 0
69
70
  Helper.log.info ""
@@ -72,7 +73,7 @@ module Sigh
72
73
  Helper.log.info profile["Name"].red
73
74
  end
74
75
  end
75
-
76
+
76
77
  Helper.log.info ""
77
78
  Helper.log.info "Summary"
78
79
  Helper.log.info "#{profiles.count} installed profiles"
@@ -82,11 +83,12 @@ module Sigh
82
83
 
83
84
  Helper.log.info "You can remove all expired profiles using `sigh manage -e`" if profiles_expired.count > 0
84
85
  end
86
+ # rubocop:enable Metrics/AbcSize
85
87
 
86
88
  def self.cleanup_profiles(expired = false, pattern = nil)
87
89
  now = DateTime.now
88
90
 
89
- profiles = load_profiles.select { |profile| (expired && profile["ExpirationDate"] < now) || (pattern != nil && profile["Name"] =~ pattern) }
91
+ profiles = load_profiles.select { |profile| (expired && profile["ExpirationDate"] < now) || (!pattern.nil? && profile["Name"] =~ pattern) }
90
92
 
91
93
  Helper.log.info "The following provisioning profiles are either expired or matches your pattern:"
92
94
  profiles.each do |profile|
@@ -108,14 +110,14 @@ module Sigh
108
110
 
109
111
  profiles = []
110
112
  profile_paths.each do |profile_path|
111
- profile = Plist::parse_xml(`security cms -D -i '#{profile_path}'`)
113
+ profile = Plist.parse_xml(`security cms -D -i '#{profile_path}'`)
112
114
  profile['Path'] = profile_path
113
115
  profiles << profile
114
116
  end
115
117
 
116
- profiles = profiles.sort_by {|profile| profile["Name"].downcase}
118
+ profiles = profiles.sort_by { |profile| profile["Name"].downcase }
117
119
 
118
120
  return profiles
119
121
  end
120
122
  end
121
- end
123
+ end
data/lib/sigh/manager.rb CHANGED
@@ -14,8 +14,12 @@ module Sigh
14
14
  file_name = File.basename(path)
15
15
  end
16
16
 
17
- output = File.join(Sigh.config[:output_path].gsub("~", ENV["HOME"]), file_name)
18
- (FileUtils.mv(path, output) rescue nil) # in case it already exists
17
+ output = File.join(File.expand_path(Sigh.config[:output_path]), file_name)
18
+ begin
19
+ FileUtils.mv(path, output)
20
+ rescue
21
+ # in case it already exists
22
+ end
19
23
 
20
24
  install_profile(output) unless Sigh.config[:skip_install]
21
25
 
data/lib/sigh/options.rb CHANGED
@@ -42,8 +42,8 @@ module Sigh
42
42
  description: "The ID of your team if you're in multiple teams",
43
43
  optional: true,
44
44
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
45
- verify_block: Proc.new do |value|
46
- ENV["FASTLANE_TEAM_ID"] = value
45
+ verify_block: proc do |value|
46
+ ENV["FASTLANE_TEAM_ID"] = value
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :team_name,
49
49
  short_option: "-l",
@@ -51,8 +51,8 @@ module Sigh
51
51
  description: "The name of your team if you're in multiple teams",
52
52
  optional: true,
53
53
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
54
- verify_block: Proc.new do |value|
55
- ENV["FASTLANE_TEAM_NAME"] = value
54
+ verify_block: proc do |value|
55
+ ENV["FASTLANE_TEAM_NAME"] = value
56
56
  end),
57
57
  FastlaneCore::ConfigItem.new(key: :provisioning_name,
58
58
  short_option: "-n",
@@ -64,8 +64,8 @@ module Sigh
64
64
  env_name: "SIGH_OUTPUT_PATH",
65
65
  description: "Directory in which the profile should be stored",
66
66
  default_value: ".",
67
- verify_block: Proc.new do |value|
68
- raise "Could not find output directory '#{value}'".red unless File.exists?(value)
67
+ verify_block: proc do |value|
68
+ raise "Could not find output directory '#{value}'".red unless File.exist?(value)
69
69
  end),
70
70
  FastlaneCore::ConfigItem.new(key: :cert_id,
71
71
  short_option: "-i",
@@ -82,8 +82,8 @@ module Sigh
82
82
  env_name: "SIGH_PROFILE_FILE_NAME",
83
83
  optional: true,
84
84
  description: "Filename to use for the generated provisioning profile (must include .mobileprovision)",
85
- verify_block: Proc.new do |value|
86
- raise "The output name must end with .mobileprovision".red unless value.end_with?".mobileprovision"
85
+ verify_block: proc do |value|
86
+ raise "The output name must end with .mobileprovision".red unless value.end_with? ".mobileprovision"
87
87
  end),
88
88
  FastlaneCore::ConfigItem.new(key: :skip_fetch_profiles,
89
89
  env_name: "SIGH_SKIP_FETCH_PROFILES",
@@ -96,7 +96,7 @@ module Sigh
96
96
  env_name: "SIGH_SKIP_CERTIFICATE_VERIFICATION",
97
97
  description: "Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine",
98
98
  is_string: false,
99
- default_value: false),
99
+ default_value: false)
100
100
  ]
101
101
  end
102
102
  end
data/lib/sigh/repair.rb CHANGED
@@ -7,7 +7,7 @@ module Sigh
7
7
  Helper.log.info "Successfully logged in"
8
8
 
9
9
  # Select all 'Invalid' or 'Expired' provisioning profiles
10
- broken_profiles = Spaceship.provisioning_profile.all.find_all do |profile|
10
+ broken_profiles = Spaceship.provisioning_profile.all.find_all do |profile|
11
11
  (profile.status == "Invalid" or profile.status == "Expired")
12
12
  end
13
13
 
@@ -27,4 +27,4 @@ module Sigh
27
27
  Helper.log.info "Successfully repaired #{broken_profiles.count} provisioning profiles".green
28
28
  end
29
29
  end
30
- end
30
+ end
data/lib/sigh/resign.rb CHANGED
@@ -93,7 +93,7 @@ module Sigh
93
93
  end
94
94
 
95
95
  def validate_provisioning_file(provisioning_profile)
96
- raise "Provisioning profile file could not be found or is not a .mobileprovision file (#{provisioning_profile})".red unless File.exists?(provisioning_profile) && provisioning_profile.end_with?('.mobileprovision')
96
+ raise "Provisioning profile file could not be found or is not a .mobileprovision file (#{provisioning_profile})".red unless File.exist?(provisioning_profile) && provisioning_profile.end_with?('.mobileprovision')
97
97
  end
98
98
 
99
99
  def print_available_identities
@@ -110,7 +110,11 @@ module Sigh
110
110
  available = `security find-identity -v -p codesigning`
111
111
  ids = []
112
112
  available.split("\n").each do |current|
113
- (ids << current.match(/.*\"(.*)\"/)[1]) rescue nil # the last line does not match
113
+ begin
114
+ (ids << current.match(/.*\"(.*)\"/)[1])
115
+ rescue
116
+ nil
117
+ end # the last line does not match
114
118
  end
115
119
 
116
120
  ids
data/lib/sigh/runner.rb CHANGED
@@ -36,6 +36,12 @@ module Sigh
36
36
 
37
37
  raise "Something went wrong fetching the latest profile".red unless profile
38
38
 
39
+ if profile_type == Spaceship.provisioning_profile.in_house
40
+ ENV["SIGH_PROFILE_ENTERPRISE"] = "1"
41
+ else
42
+ ENV.delete("SIGH_PROFILE_ENTERPRISE")
43
+ end
44
+
39
45
  return download_profile(profile)
40
46
  end
41
47
 
@@ -54,7 +60,7 @@ module Sigh
54
60
  # Fetches a profile matching the user's search requirements
55
61
  def fetch_profiles
56
62
  Helper.log.info "Fetching profiles..."
57
- results = profile_type.find_by_bundle_id(Sigh.config[:app_identifier]).find_all { |a| a.valid? }
63
+ results = profile_type.find_by_bundle_id(Sigh.config[:app_identifier]).find_all(&:valid?)
58
64
 
59
65
  # Take the provisioning profile name into account
60
66
  if Sigh.config[:provisioning_name].to_s.length > 0
@@ -64,7 +70,6 @@ module Sigh
64
70
 
65
71
  return results if Sigh.config[:skip_certificate_verification]
66
72
 
67
-
68
73
  return results.find_all do |a|
69
74
  # Also make sure we have the certificate installed on the local machine
70
75
  installed = false
@@ -98,8 +103,8 @@ module Sigh
98
103
  profile
99
104
  end
100
105
 
101
-
102
106
  # Certificate to use based on the current distribution mode
107
+ # rubocop:disable Metrics/AbcSize
103
108
  def certificate_to_use
104
109
  if profile_type == Spaceship.provisioning_profile.Development
105
110
  certificates = Spaceship.certificate.development.all
@@ -122,11 +127,12 @@ module Sigh
122
127
  true
123
128
  end
124
129
 
125
- if certificates.count > 1 and not Sigh.config[:development]
130
+ if certificates.count > 1 and !Sigh.config[:development]
126
131
  Helper.log.info "Found more than one code signing identity. Choosing the first one. Check out `sigh --help` to see all available options.".yellow
127
132
  Helper.log.info "Available Code Signing Identities for current filters:".green
128
133
  certificates.each do |c|
129
- Helper.log.info ("\t- Name: " + c.owner_name + " - ID: " + c.id + " - Expires: " + c.expires.strftime("%d/%m/%Y")).green
134
+ str = ["\t- Name:", c.owner_name, "- ID:", c.id + "- Expires", c.expires.strftime("%d/%m/%Y")].join(" ")
135
+ Helper.log.info str.green
130
136
  end
131
137
  end
132
138
 
@@ -141,15 +147,16 @@ module Sigh
141
147
  return certificates if Sigh.config[:development] # development profiles support multiple certificates
142
148
  return certificates.first
143
149
  end
150
+ # rubocop:enable Metrics/AbcSize
144
151
 
145
152
  # Downloads and stores the provisioning profile
146
153
  def download_profile(profile)
147
154
  Helper.log.info "Downloading provisioning profile...".yellow
148
155
  profile_name ||= "#{profile.class.pretty_type}_#{Sigh.config[:app_identifier]}.mobileprovision" # default name
149
- profile_name += '.mobileprovision' unless profile_name.include?'mobileprovision'
156
+ profile_name += '.mobileprovision' unless profile_name.include? 'mobileprovision'
150
157
 
151
158
  output_path = File.join('/tmp', profile_name)
152
- dataWritten = File.open(output_path, "wb") do |f|
159
+ File.open(output_path, "wb") do |f|
153
160
  f.write(profile.download)
154
161
  end
155
162
 
data/lib/sigh/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sigh
2
- VERSION = "0.10.7"
2
+ VERSION = "0.10.8"
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.10.7
4
+ version: 0.10.8
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-09-07 00:00:00.000000000 Z
11
+ date: 2015-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core
@@ -199,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
199
  version: '0'
200
200
  requirements: []
201
201
  rubyforge_project:
202
- rubygems_version: 2.4.6
202
+ rubygems_version: 2.4.5
203
203
  signing_key:
204
204
  specification_version: 4
205
205
  summary: Because you would rather spend your time building stuff than fighting provisioning