watchbuild 0.1.3 → 0.4.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
- SHA1:
3
- metadata.gz: babb06acfd9f68c96b656fb9f140d644e95bc764
4
- data.tar.gz: fca09178648c315a6f0e5778a45ca2b202b8a891
2
+ SHA256:
3
+ metadata.gz: a03ca1f40b90511ba492c3b27da024554abc0c5abf6bcdd5b67ca36051cfc74e
4
+ data.tar.gz: 7c2eef0896e8bfd34b15cc65ed7562fc05faba03b8ba77ea2464593620c1ae90
5
5
  SHA512:
6
- metadata.gz: a0f4ade30b31bcf4bb619b20b69405c88daa99cd06e23fda9a82bf24bfff20af1320512df916e69413a4d1b719fdce94635c8299e72f0ec39d8687e86602e3f5
7
- data.tar.gz: 59bc5f385140002dd4950dcda22811c868c47f154df0f365c510f65c62f5d0af84a6f1c7d754a314955333f2df424c201ca7c979a9605d3c887905169431eaff
6
+ metadata.gz: 94e2dd7cbad063ea42b536e2e406eb264d72d5f9f0d667470d0eb508f5b5f3bd7cfeb8d332be900a79a30c76fd5d5b13213409bfad0ba6a82c2a5e5b40c91cc8
7
+ data.tar.gz: a4f47cf386d5dc91da2398355b80faa6558afd0f5852a6bf6059597574a555413fb3c5dece3c29cf3e6e0a2ea1916a29c092bbcc4127e5e26b5fa2440d91aba9
data/README.md CHANGED
@@ -1,25 +1,11 @@
1
1
  <h3 align="center">
2
- <a href="https://github.com/fastlane/fastlane">
3
- <img src="assets/fastlane.png" width="150" />
2
+ <a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
3
+ <img src=".assets/fastlane.png" width="150" />
4
4
  <br />
5
5
  fastlane
6
6
  </a>
7
7
  </h3>
8
- <p align="center">
9
- <a href="https://github.com/fastlane/deliver">deliver</a> &bull;
10
- <a href="https://github.com/fastlane/snapshot">snapshot</a> &bull;
11
- <a href="https://github.com/fastlane/frameit">frameit</a> &bull;
12
- <a href="https://github.com/fastlane/pem">pem</a> &bull;
13
- <a href="https://github.com/fastlane/sigh">sigh</a> &bull;
14
- <a href="https://github.com/fastlane/produce">produce</a> &bull;
15
- <a href="https://github.com/fastlane/cert">cert</a> &bull;
16
- <a href="https://github.com/fastlane/spaceship">spaceship</a> &bull;
17
- <a href="https://github.com/fastlane/pilot">pilot</a> &bull;
18
- <a href="https://github.com/fastlane/boarding">boarding</a> &bull;
19
- <a href="https://github.com/fastlane/gym">gym</a> &bull;
20
- <a href="https://github.com/fastlane/scan">scan</a> &bull;
21
- <a href="https://github.com/fastlane/match">match</a>
22
- </p>
8
+
23
9
  -------
24
10
 
25
11
  WatchBuild
@@ -29,31 +15,32 @@ WatchBuild
29
15
  [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/watchbuild/blob/master/LICENSE)
30
16
  [![Gem](https://img.shields.io/gem/v/watchbuild.svg?style=flat)](http://rubygems.org/gems/watchbuild)
31
17
 
32
- ###### Get a notification once your iTunes Connect build is finished processing
18
+ ###### Get a notification once your App Store Connect build is finished processing
33
19
 
34
- <img src="assets/screenshot.png" width=350>
20
+ <img src=".assets/screenshot.png" width=350>
21
+ <br>
22
+ <img src=".assets/slack-screenshot.png" width=350>
35
23
 
36
- When you upload a new binary from Xcode to iTunes Connect, you have to wait until it's done processing before you can submit it to the App Store.
24
+ When you upload a new binary from Xcode to App Store Connect, you have to wait until it's done processing before you can submit it to the App Store.
37
25
 
38
- As the [#iosprocessingtime](https://twitter.com/search?q=%23iosprocessingtime) varies from a few minutes to multiple hours, it's easy to forget to check iTunes Connect to see if the build is ready. WatchBuild lets you know as soon as it is done.
26
+ As the [#iosprocessingtime](https://twitter.com/search?q=%23iosprocessingtime) varies from a few minutes to multiple hours, it's easy to forget to check App Store Connect to see if the build is ready. WatchBuild lets you know as soon as it is done.
39
27
 
40
- WatchBuild is a simple standalone tool that shows a notification once your newly uploaded build was successfully processed by iTunes Connect.
28
+ WatchBuild is a simple standalone tool that shows a notification once your newly uploaded build was successfully processed by App Store Connect.
41
29
 
42
- Once the build is ready to be pushed to TestFlight or for review, you get a OS X notification. You can even directly click on the notification to open the build on iTunes Connect.
30
+ Once the build is ready to be pushed to TestFlight or for review, you get a macOS notification. You can even directly click on the notification to open the build on App Store Connect.
43
31
 
44
32
  ### Why use WatchBuild?
45
33
 
46
- WatchBuild is a standalone tool and can be used without any of the other [fastlane tools](https://fastlane.tools). This is *big*, since you can use WatchBuild also if you use Xcode to upload your app.
34
+ WatchBuild is a standalone tool and can be used without any of the other [fastlane tools](https://fastlane.tools). This is *big*, since you can use WatchBuild also if you use Xcode to upload your app.
47
35
 
48
- This tool is not a replacement for [deliver](https://github.com/fastlane/deliver) (Upload metadata and builds to iTunes Connect) or [pilot](https://github.com/fastlane/pilot) (Upload and distribute new builds to TestFlight), but is meant as a small helpful utility with the main purpose to wait for the binary processing to be finished.
36
+ This tool is not a replacement for [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) (Upload metadata and builds to App Store Connect) or [pilot](https://github.com/fastlane/fastlane/tree/master/pilot) (Upload and distribute new builds to TestFlight), but is meant as a small helpful utility with the main purpose to wait for the binary processing to be finished.
49
37
 
50
38
  Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.com/FastlaneTools)
51
39
 
52
40
  -------
53
41
  <p align="center">
54
- <a href="#installation">Installation</a> &bull;
55
- <a href="#usage">Usage</a> &bull;
56
- <a href="#tips">Tips</a> &bull;
42
+ <a href="#installation">Installation</a> &bull;
43
+ <a href="#usage">Usage</a> &bull;
57
44
  <a href="#need-help">Need help?</a>
58
45
  </p>
59
46
 
@@ -75,39 +62,26 @@ You can pass your bundle identifier and username like this:
75
62
 
76
63
  watchbuild -a com.krausefx.app -u felix@krausefx.com
77
64
 
65
+ You can also include a Slack webhook url for notifications via Slack:
66
+
67
+ watchbuild -a com.krausefx.app -u felix@krausefx.com --slack_url https://hooks.slack.com/services/<your-webhook>
68
+
78
69
  For a list of available parameters and commands run
79
70
 
80
71
  watchbuild --help
81
72
 
82
- <img src="assets/terminal.png">
73
+ <img src=".assets/terminal.png">
83
74
 
84
75
  ## How is my password stored?
85
76
 
86
- `WatchBuild` uses the secure [CredentialsManager](https://github.com/fastlane/credentials_manager) from [fastlane](https://fastlane.tools) that stores credentials in your local keychain.
87
-
88
- # Tips
89
- ## [`fastlane`](https://fastlane.tools) Toolchain
90
-
91
- - [`fastlane`](https://fastlane.tools): Connect all deployment tools into one streamlined workflow
92
- - [`deliver`](https://github.com/fastlane/deliver): Upload screenshots, metadata and your app to the App Store
93
- - [`snapshot`](https://github.com/fastlane/snapshot): Automate taking localized screenshots of your iOS app on every device
94
- - [`frameit`](https://github.com/fastlane/frameit): Quickly put your screenshots into the right device frames
95
- - [`pem`](https://github.com/fastlane/pem): Automatically generate and renew your push notification profiles
96
- - [`sigh`](https://github.com/fastlane/sigh): Because you would rather spend your time building stuff than fighting provisioning
97
- - [`produce`](https://github.com/fastlane/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
98
- - [`cert`](https://github.com/fastlane/cert): Automatically create and maintain iOS code signing certificates
99
- - [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
100
- - [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
101
- - [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
102
- - [`gym`](https://github.com/fastlane/gym): Building your iOS apps has never been easier
103
- - [`scan`](https://github.com/fastlane/scan): The easiest way to run tests of your iOS and Mac app
104
- - [`match`](https://github.com/fastlane/match): Easily sync your certificates and profiles across your team using git
105
-
106
- ##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
77
+ `WatchBuild` uses the secure [CredentialsManager](https://github.com/fastlane/fastlane/tree/master/credentials_manager) from [fastlane](https://fastlane.tools) that stores credentials in your local keychain.
107
78
 
108
79
  # Need help?
109
80
  Please submit an issue on GitHub and provide information about your setup
110
81
 
82
+ # Code of Conduct
83
+ Help us keep `watchbuild` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
84
+
111
85
  # License
112
86
  This project is licensed under the terms of the MIT license. See the LICENSE file.
113
87
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.push File.expand_path("../../lib", __FILE__)
3
+ $LOAD_PATH.push File.expand_path('../../lib', __FILE__)
4
4
 
5
5
  require 'watchbuild'
6
6
  require 'commander'
@@ -13,6 +13,7 @@ class WatchBuildApplication
13
13
  include Commander::Methods
14
14
 
15
15
  def run
16
+ program :name, 'watchbuild'
16
17
  program :version, WatchBuild::VERSION
17
18
  program :description, WatchBuild::DESCRIPTION
18
19
  program :help, 'Author', 'Felix Krause <watchbuild@krausefx.com>'
@@ -20,13 +21,15 @@ class WatchBuildApplication
20
21
  program :help, 'GitHub', 'https://github.com/fastlane/watchbuild'
21
22
  program :help_formatter, :compact
22
23
 
24
+ global_option('--verbose') { $verbose = true }
25
+
23
26
  FastlaneCore::CommanderGenerator.new.generate(WatchBuild::Options.available_options)
24
27
 
25
28
  command :run do |c|
26
29
  c.syntax = 'watchbuild'
27
30
  c.description = 'Renews the certificate (in case it expired) and outputs the path to the generated file'
28
31
 
29
- c.action do |args, options|
32
+ c.action do |_args, options|
30
33
  WatchBuild.config = FastlaneCore::Configuration.create(WatchBuild::Options.available_options, options.__hash__)
31
34
  WatchBuild::Runner.new.run
32
35
  end
@@ -12,4 +12,5 @@ module WatchBuild
12
12
 
13
13
  Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
14
14
  UI = FastlaneCore::UI
15
+ ROOT = Pathname.new(File.expand_path('../..', __FILE__))
15
16
  end
@@ -9,15 +9,42 @@ module WatchBuild
9
9
 
10
10
  [
11
11
  FastlaneCore::ConfigItem.new(key: :app_identifier,
12
- short_option: "-a",
13
- env_name: "APP_IDENTIFIER",
14
- description: "The bundle identifier of your app",
12
+ short_option: '-a',
13
+ env_name: 'APP_IDENTIFIER',
14
+ description: 'The bundle identifier of your app',
15
+ code_gen_sensitive: true,
15
16
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)),
16
17
  FastlaneCore::ConfigItem.new(key: :username,
17
- short_option: "-u",
18
- env_name: "FASTLANE_USER",
19
- description: "Your Apple ID Username",
20
- default_value: user)
18
+ short_option: '-u',
19
+ env_name: 'FASTLANE_USER',
20
+ description: 'Your Apple ID Username',
21
+ code_gen_sensitive: true,
22
+ default_value: user),
23
+ FastlaneCore::ConfigItem.new(key: :itc_team_id,
24
+ short_option: '-k',
25
+ env_name: 'FASTLANE_ITC_TEAM_ID',
26
+ description: "The ID of your App Store Connect team if you're in multiple teams",
27
+ optional: true,
28
+ code_gen_sensitive: true,
29
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
30
+ default_value_dynamic: true),
31
+ FastlaneCore::ConfigItem.new(key: :itc_team_name,
32
+ short_option: '-p',
33
+ env_name: 'FASTLANE_ITC_TEAM_NAME',
34
+ description: "The name of your App Store Connect team if you're in multiple teams",
35
+ optional: true,
36
+ code_gen_sensitive: true,
37
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_name),
38
+ default_value_dynamic: true),
39
+ FastlaneCore::ConfigItem.new(key: :sample_only_once,
40
+ description: 'Only check for the build once, instead of waiting for it to process',
41
+ is_string: false,
42
+ default_value: false),
43
+ FastlaneCore::ConfigItem.new(key: :slack_url,
44
+ env_name: 'SLACK_URL',
45
+ description: 'Provide a slack webhook URL to notify a channel of a build',
46
+ is_string: true,
47
+ default_value: "")
21
48
  ]
22
49
  end
23
50
  end
@@ -8,51 +8,78 @@ module WatchBuild
8
8
  # returns the path the newly created provisioning profile (in /tmp usually)
9
9
  def run
10
10
  FastlaneCore::PrintTable.print_values(config: WatchBuild.config,
11
- hide_keys: [],
12
- title: "Summary for WatchBuild #{WatchBuild::VERSION}")
11
+ hide_keys: [],
12
+ title: "Summary for WatchBuild #{WatchBuild::VERSION}")
13
+
14
+ UI.message("Starting login with user '#{WatchBuild.config[:username]}'")
15
+
16
+ ENV['FASTLANE_ITC_TEAM_ID'] = WatchBuild.config[:itc_team_id] if WatchBuild.config[:itc_team_id]
17
+ ENV['FASTLANE_ITC_TEAM_NAME'] = WatchBuild.config[:itc_team_name] if WatchBuild.config[:itc_team_name]
18
+ ENV['SLACK_URL'] = WatchBuild.config[:slack_url]
13
19
 
14
- Helper.log.info "Starting login with user '#{WatchBuild.config[:username]}'"
15
20
  Spaceship::Tunes.login(WatchBuild.config[:username], nil)
16
- Helper.log.info "Successfully logged in"
21
+ Spaceship::Tunes.select_team
22
+ UI.message('Successfully logged in')
17
23
 
18
24
  start = Time.now
19
- build = wait_for_build
25
+ build = wait_for_build(start)
20
26
  minutes = ((Time.now - start) / 60).round
21
27
  notification(build, minutes)
22
28
  end
23
29
 
24
- def wait_for_build
25
- raise "Could not find app with app identiifer #{WatchBuild.config[:app_identifier]}".red unless app
30
+ def wait_for_build(start_time)
31
+ UI.user_error!("Could not find app with app identifier #{WatchBuild.config[:app_identifier]}") unless app
26
32
 
27
33
  loop do
28
34
  begin
29
35
  build = find_build
30
36
  return build if build.processing == false
31
- Helper.log.info "Waiting iTunes Connect processing for build #{build.train_version} (#{build.build_version})... this might take a while..."
37
+
38
+ seconds_elapsed = (Time.now - start_time).to_i.abs
39
+ case seconds_elapsed
40
+ when 0..59
41
+ time_elapsed = Time.at(seconds_elapsed).utc.strftime '%S seconds'
42
+ when 60..3599
43
+ time_elapsed = Time.at(seconds_elapsed).utc.strftime '%M:%S minutes'
44
+ else
45
+ time_elapsed = Time.at(seconds_elapsed).utc.strftime '%H:%M:%S hours'
46
+ end
47
+
48
+ UI.message("Waiting #{time_elapsed} for App Store Connect to process the build #{build.train_version} (#{build.build_version})... this might take a while...")
32
49
  rescue => ex
33
- Helper.log.error ex
34
- Helper.log.info "Something failed... trying again to recover"
50
+ UI.error(ex)
51
+ UI.message('Something failed... trying again to recover')
52
+ end
53
+ if WatchBuild.config[:sample_only_once] == false
54
+ sleep 30
55
+ else
56
+ break
35
57
  end
36
- sleep 30
37
58
  end
38
59
  nil
39
60
  end
40
61
 
41
62
  def notification(build, minutes)
42
- require 'terminal-notifier'
63
+ if build.nil?
64
+ UI.message 'Application build is still processing'
65
+ return
66
+ end
43
67
 
44
- url = "https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app/#{@app.apple_id}/activity/ios/builds/#{build.train_version}/#{build.build_version}/details"
45
- TerminalNotifier.notify("Build finished processing",
46
- title: build.app_name,
47
- subtitle: "#{build.train_version} (#{build.build_version})",
48
- execute: "open '#{url}'")
68
+ url = "https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app/#{@app.apple_id}/activity/ios/builds/#{build.train_version}/#{build.build_version}/details"
49
69
 
50
- Helper.log.info "Successfully finished processing the build".green
70
+ slack_url = ENV['SLACK_URL'].to_s
71
+ if !slack_url.empty?
72
+ notify_slack(build, minutes, slack_url)
73
+ else
74
+ notify_terminal(build, minutes, url)
75
+ end
76
+
77
+ UI.success('Successfully finished processing the build')
51
78
  if minutes > 0 # it's 0 minutes if there was no new build uploaded
52
- Helper.log.info "You can now tweet: "
53
- Helper.log.info "iTunes Connect #iosprocessingtime #{minutes} minutes".yellow
79
+ UI.message('You can now tweet: ')
80
+ UI.important("App Store Connect #iosprocessingtime #{minutes} minutes")
54
81
  end
55
- Helper.log.info url
82
+ UI.message(url)
56
83
  end
57
84
 
58
85
  private
@@ -61,20 +88,52 @@ module WatchBuild
61
88
  @app ||= Spaceship::Application.find(WatchBuild.config[:app_identifier])
62
89
  end
63
90
 
91
+ def notify_slack(build, minutes, url)
92
+ require 'net/http'
93
+ require 'uri'
94
+ require 'json'
95
+
96
+ message = "App Store build #{build.train_version} (#{build.build_version}) has finished processing in #{minutes} minutes"
97
+ slack_url = URI.parse(url)
98
+ slack_message = {
99
+ "text": message
100
+ }
101
+
102
+ header = {'Content-Type': 'application/json'}
103
+
104
+ http = Net::HTTP.new(slack_url.host, slack_url.port)
105
+ http.use_ssl = true
106
+ request = Net::HTTP::Post.new(slack_url.request_uri, header)
107
+ request.body = slack_message.to_json
108
+ response = http.request(request)
109
+
110
+ if response.kind_of?(Net::HTTPSuccess)
111
+ UI.success('Message sent to Slack.')
112
+ else
113
+ UI.user_error!('Error sending Slack notification.')
114
+ end
115
+ end
116
+
117
+ def notify_terminal(build, minutes, url)
118
+ require 'terminal-notifier'
119
+
120
+ TerminalNotifier.notify('Build finished processing',
121
+ title: build.app_name,
122
+ subtitle: "#{build.train_version} (#{build.build_version})",
123
+ execute: "open '#{url}'")
124
+ end
125
+
64
126
  def find_build
65
127
  build = nil
66
128
  app.latest_version.candidate_builds.each do |b|
67
- if !build or b.upload_date > build.upload_date
68
- build = b
69
- end
129
+ build = b if !build || b.upload_date > build.upload_date
70
130
  end
71
131
 
72
132
  unless build
73
- Helper.log.fatal v.candidate_builds
74
- raise "Could not find build".red
133
+ UI.user_error!("No processing builds available for app #{WatchBuild.config[:app_identifier]}")
75
134
  end
76
135
 
77
- return build
136
+ build
78
137
  end
79
138
  end
80
139
  end
@@ -1,4 +1,4 @@
1
1
  module WatchBuild
2
- VERSION = "0.1.3"
3
- DESCRIPTION = "Get a notification once your iTunes Connect build is finished processing"
2
+ VERSION = '0.4.0'.freeze
3
+ DESCRIPTION = 'Get a notification once your App Store Connect build is finished processing'.freeze
4
4
  end
metadata CHANGED
@@ -1,49 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watchbuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-12 00:00:00.000000000 Z
11
+ date: 2020-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: fastlane_core
14
+ name: fastlane
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.30.0
19
+ version: 2.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 1.0.0
22
+ version: 3.0.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.30.0
29
+ version: 2.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 1.0.0
33
- - !ruby/object:Gem::Dependency
34
- name: spaceship
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 0.18.0
40
- type: :runtime
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 0.18.0
32
+ version: 3.0.0
47
33
  - !ruby/object:Gem::Dependency
48
34
  name: terminal-notifier
49
35
  requirement: !ruby/object:Gem::Requirement
@@ -76,16 +62,16 @@ dependencies:
76
62
  name: rake
77
63
  requirement: !ruby/object:Gem::Requirement
78
64
  requirements:
79
- - - ">="
65
+ - - "<"
80
66
  - !ruby/object:Gem::Version
81
- version: '0'
67
+ version: '12'
82
68
  type: :development
83
69
  prerelease: false
84
70
  version_requirements: !ruby/object:Gem::Requirement
85
71
  requirements:
86
- - - ">="
72
+ - - "<"
87
73
  - !ruby/object:Gem::Version
88
- version: '0'
74
+ version: '12'
89
75
  - !ruby/object:Gem::Dependency
90
76
  name: rspec
91
77
  requirement: !ruby/object:Gem::Requirement
@@ -100,6 +86,20 @@ dependencies:
100
86
  - - "~>"
101
87
  - !ruby/object:Gem::Version
102
88
  version: 3.1.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: rspec_junit_formatter
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.2.3
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.2.3
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: pry
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -118,16 +118,16 @@ dependencies:
118
118
  name: yard
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 0.8.7.4
123
+ version: 0.9.11
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "~>"
128
+ - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 0.8.7.4
130
+ version: 0.9.11
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: webmock
133
133
  requirement: !ruby/object:Gem::Requirement
@@ -157,34 +157,20 @@ dependencies:
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  - !ruby/object:Gem::Dependency
160
- name: fastlane
160
+ name: rubocop
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - ">="
164
164
  - !ruby/object:Gem::Version
165
- version: '0'
165
+ version: 0.49.0
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - ">="
171
171
  - !ruby/object:Gem::Version
172
- version: '0'
173
- - !ruby/object:Gem::Dependency
174
- name: rubocop
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - "~>"
178
- - !ruby/object:Gem::Version
179
- version: '0.34'
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "~>"
185
- - !ruby/object:Gem::Version
186
- version: '0.34'
187
- description: Get a notification once your iTunes Connect build is finished processing
172
+ version: 0.49.0
173
+ description: Get a notification once your App Store Connect build is finished processing
188
174
  email:
189
175
  - watchbuild@krausefx.com
190
176
  executables:
@@ -203,7 +189,7 @@ homepage: https://fastlane.tools
203
189
  licenses:
204
190
  - MIT
205
191
  metadata: {}
206
- post_install_message:
192
+ post_install_message:
207
193
  rdoc_options: []
208
194
  require_paths:
209
195
  - lib
@@ -218,10 +204,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
204
  - !ruby/object:Gem::Version
219
205
  version: '0'
220
206
  requirements: []
221
- rubyforge_project:
222
- rubygems_version: 2.4.0
223
- signing_key:
207
+ rubyforge_project:
208
+ rubygems_version: 2.7.6.2
209
+ signing_key:
224
210
  specification_version: 4
225
- summary: Get a notification once your iTunes Connect build is finished processing
211
+ summary: Get a notification once your App Store Connect build is finished processing
226
212
  test_files: []
227
- has_rdoc: