fastlane 2.96.0.beta.20180517050058 → 2.96.0.beta.20180518050116
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 +4 -4
- data/fastlane/lib/fastlane/actions/appetize.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/spaceship/lib/spaceship/tunes/availability.rb +52 -2
- data/spaceship/lib/spaceship/tunes/b2b_user.rb +25 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -2
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38cda5fadcfdb932a75e5d017956f66075ef68be
|
4
|
+
data.tar.gz: 14e384a8154d23e7e6b9d17417ce3698d7fd66b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c46071ed6a0d42cb2a36dccd0ea1c5ecb2993d79fa3b9100039e6a1702fa36a242b987dfe76d47e04025b06791f5336c5c58290605d307caead7a2dfaf7f8b3e
|
7
|
+
data.tar.gz: ea9c3b15af9c7ebe447815ea93946203973a63a304aeda1dc6d5521da2ced547fe35826abb9be989761c9c6c33c172fbbd4aedb2805287ef05275bfc117a8a10
|
@@ -60,7 +60,7 @@ module Fastlane
|
|
60
60
|
|
61
61
|
def self.create_request(uri, params)
|
62
62
|
if params[:url]
|
63
|
-
req = Net::HTTP::Post.new(uri.request_uri,
|
63
|
+
req = Net::HTTP::Post.new(uri.request_uri, { 'Content-Type' => 'application/json' })
|
64
64
|
req.body = JSON.generate(params)
|
65
65
|
else
|
66
66
|
req = Net::HTTP::Post::Multipart.new(uri.path, params)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.96.0.beta.
|
2
|
+
VERSION = '2.96.0.beta.20180518050116'.freeze
|
3
3
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
4
4
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
5
5
|
RUBOCOP_REQUIREMENT = '0.49.1'.freeze
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require_relative 'territory'
|
2
|
-
|
2
|
+
require_relative 'b2b_user'
|
3
3
|
module Spaceship
|
4
4
|
module Tunes
|
5
5
|
class Availability < TunesBase
|
@@ -15,13 +15,29 @@ module Spaceship
|
|
15
15
|
# @return (String) App available date in format of "YYYY-MM-DD"
|
16
16
|
attr_accessor :app_available_date
|
17
17
|
|
18
|
+
# @return (Bool) app enabled for b2b users
|
19
|
+
attr_accessor :b2b_app_enabled
|
20
|
+
|
21
|
+
# @return (Bool) app enabled for educational discount
|
22
|
+
attr_accessor :educational_discount
|
23
|
+
|
24
|
+
# @return (Bool) b2b available for distribution
|
25
|
+
attr_accessor :b2b_unavailable
|
26
|
+
|
27
|
+
# @return (Array of Spaceship::Tunes::B2bUser objects) A list of users set by user - if not
|
28
|
+
# then the b2b user list that is currently set
|
29
|
+
attr_accessor :b2b_users
|
30
|
+
|
18
31
|
attr_mapping(
|
19
32
|
'theWorld' => :include_future_territories,
|
20
33
|
'preOrder.clearedForPreOrder.value' => :cleared_for_preorder,
|
21
|
-
'preOrder.appAvailableDate.value' => :app_available_date
|
34
|
+
'preOrder.appAvailableDate.value' => :app_available_date,
|
35
|
+
'b2BAppFlagDisabled' => :b2b_unavailable
|
22
36
|
)
|
23
37
|
|
24
38
|
# Create a new object based on a set of territories.
|
39
|
+
# This will override any values already set for cleared_for_preorder, app_available_date, b2b_unavailable,
|
40
|
+
# b2b_app_enabled, and educational_discount
|
25
41
|
# @param territories (Array of String or Spaceship::Tunes::Territory objects): A list of the territories
|
26
42
|
# @param params (Hash): Optional parameters (include_future_territories (Bool, default: true) Are future territories included?)
|
27
43
|
def self.from_territories(territories = [], params = {})
|
@@ -51,6 +67,9 @@ module Spaceship
|
|
51
67
|
obj.include_future_territories = params.fetch(:include_future_territories, true)
|
52
68
|
obj.cleared_for_preorder = params.fetch(:cleared_for_preorder, false)
|
53
69
|
obj.app_available_date = params.fetch(:app_available_date, nil)
|
70
|
+
obj.b2b_unavailable = params.fetch(:b2b_unavailable, false)
|
71
|
+
obj.b2b_app_enabled = params.fetch(:b2b_app_enabled, false)
|
72
|
+
obj.educational_discount = params.fetch(:educational_discount, true)
|
54
73
|
return obj
|
55
74
|
end
|
56
75
|
|
@@ -58,9 +77,40 @@ module Spaceship
|
|
58
77
|
@territories ||= raw_data['countries'].map { |info| Territory.new(info) }
|
59
78
|
end
|
60
79
|
|
80
|
+
def b2b_users
|
81
|
+
@b2b_users ||= raw_data['b2bUsers'].map { |user| B2bUser.new(user) }
|
82
|
+
end
|
83
|
+
|
84
|
+
def b2b_app_enabled
|
85
|
+
@b2b_app_enabled.nil? ? raw_data['b2bAppEnabled'] : @b2b_app_enabled
|
86
|
+
end
|
87
|
+
|
88
|
+
def educational_discount
|
89
|
+
@educational_discount.nil? ? raw_data['educationalDiscount'] : @educational_discount
|
90
|
+
end
|
91
|
+
|
61
92
|
def cleared_for_preorder
|
62
93
|
super || false
|
63
94
|
end
|
95
|
+
|
96
|
+
# Sets `b2b_app_enabled` to true and `educational_discount` to false
|
97
|
+
# Requires users to be added with `add_b2b_users` otherwise `update_availability` will error
|
98
|
+
def enable_b2b_app!
|
99
|
+
raise "Not possible to enable b2b on this app" if b2b_unavailable
|
100
|
+
@b2b_app_enabled = true
|
101
|
+
# need to set the educational discount to false
|
102
|
+
@educational_discount = false
|
103
|
+
self
|
104
|
+
end
|
105
|
+
|
106
|
+
# Adds users for b2b enabled apps
|
107
|
+
def add_b2b_users(user_list = [])
|
108
|
+
raise "Cannot add b2b users if b2b is not enabled" unless b2b_app_enabled
|
109
|
+
@b2b_users = user_list.map do |user|
|
110
|
+
B2bUser.from_username(user)
|
111
|
+
end
|
112
|
+
self
|
113
|
+
end
|
64
114
|
end
|
65
115
|
end
|
66
116
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative 'tunes_base'
|
2
|
+
module Spaceship
|
3
|
+
module Tunes
|
4
|
+
class B2bUser < TunesBase
|
5
|
+
# @return (Bool) add the user to b2b list
|
6
|
+
attr_accessor :add
|
7
|
+
|
8
|
+
# @return (Bool) delete the user to b2b list
|
9
|
+
attr_accessor :delete
|
10
|
+
|
11
|
+
# @return (String) b2b username
|
12
|
+
attr_accessor :ds_username
|
13
|
+
|
14
|
+
attr_mapping(
|
15
|
+
'value.add' => :add,
|
16
|
+
'value.delete' => :delete,
|
17
|
+
'value.dsUsername' => :ds_username
|
18
|
+
)
|
19
|
+
|
20
|
+
def self.from_username(username)
|
21
|
+
self.new({ 'value' => { 'add' => true, 'delete' => false, 'dsUsername' => username } })
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require "securerandom"
|
2
|
-
|
3
2
|
require_relative '../client'
|
4
3
|
require_relative '../du/du_client'
|
5
4
|
require_relative '../du/upload_file'
|
@@ -11,7 +10,6 @@ require_relative 'iap_subscription_pricing_tier'
|
|
11
10
|
require_relative 'pricing_tier'
|
12
11
|
require_relative 'territory'
|
13
12
|
require_relative 'user_detail'
|
14
|
-
|
15
13
|
module Spaceship
|
16
14
|
# rubocop:disable Metrics/ClassLength
|
17
15
|
class TunesClient < Spaceship::Client
|
@@ -617,8 +615,11 @@ module Spaceship
|
|
617
615
|
# API will error out if cleared_for_preorder is false and app_available_date has a date
|
618
616
|
cleared_for_preorder = availability.cleared_for_preorder
|
619
617
|
app_available_date = cleared_for_preorder ? availability.app_available_date : nil
|
618
|
+
data["b2bAppEnabled"] = availability.b2b_app_enabled
|
619
|
+
data["educationalDiscount"] = availability.educational_discount
|
620
620
|
data["preOrder"]["clearedForPreOrder"] = { "value" => cleared_for_preorder, "isEditable" => true, "isRequired" => true, "errorKeys" => nil }
|
621
621
|
data["preOrder"]["appAvailableDate"] = { "value" => app_available_date, "isEditable" => true, "isRequired" => true, "errorKeys" => nil }
|
622
|
+
data["b2bUsers"] = availability.b2b_app_enabled ? availability.b2b_users.map { |user| { "value" => { "add" => user.add, "delete" => user.delete, "dsUsername" => user.ds_username } } } : []
|
622
623
|
|
623
624
|
# send the changes back to Apple
|
624
625
|
r = request(:post) do |req|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.96.0.beta.
|
4
|
+
version: 2.96.0.beta.20180518050116
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Natchev
|
@@ -27,7 +27,7 @@ authors:
|
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2018-05-
|
30
|
+
date: 2018-05-18 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: slack-notifier
|
@@ -1598,6 +1598,7 @@ files:
|
|
1598
1598
|
- spaceship/lib/spaceship/tunes/app_version_states_history.rb
|
1599
1599
|
- spaceship/lib/spaceship/tunes/application.rb
|
1600
1600
|
- spaceship/lib/spaceship/tunes/availability.rb
|
1601
|
+
- spaceship/lib/spaceship/tunes/b2b_user.rb
|
1601
1602
|
- spaceship/lib/spaceship/tunes/build.rb
|
1602
1603
|
- spaceship/lib/spaceship/tunes/build_details.rb
|
1603
1604
|
- spaceship/lib/spaceship/tunes/build_train.rb
|
@@ -1651,24 +1652,24 @@ metadata:
|
|
1651
1652
|
post_install_message:
|
1652
1653
|
rdoc_options: []
|
1653
1654
|
require_paths:
|
1654
|
-
-
|
1655
|
-
- frameit/lib
|
1655
|
+
- gym/lib
|
1656
1656
|
- credentials_manager/lib
|
1657
|
-
- scan/lib
|
1658
|
-
- pilot/lib
|
1659
1657
|
- cert/lib
|
1660
|
-
-
|
1661
|
-
- deliver/lib
|
1658
|
+
- fastlane/lib
|
1662
1659
|
- precheck/lib
|
1663
|
-
-
|
1664
|
-
- gym/lib
|
1665
|
-
- pem/lib
|
1666
|
-
- sigh/lib
|
1660
|
+
- screengrab/lib
|
1667
1661
|
- match/lib
|
1662
|
+
- produce/lib
|
1668
1663
|
- spaceship/lib
|
1669
|
-
-
|
1670
|
-
-
|
1664
|
+
- deliver/lib
|
1665
|
+
- pilot/lib
|
1666
|
+
- snapshot/lib
|
1667
|
+
- sigh/lib
|
1668
|
+
- pem/lib
|
1669
|
+
- frameit/lib
|
1670
|
+
- scan/lib
|
1671
1671
|
- supply/lib
|
1672
|
+
- fastlane_core/lib
|
1672
1673
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1673
1674
|
requirements:
|
1674
1675
|
- - ">="
|