4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/fastlane/plugin/gs_project_flow_ios/actions/gs_execute_release_lane.rb', line 4
def self.run(params)
require 'fastlane/plugin/gs_versioning'
require 'fastlane/plugin/versioning'
require 'fastlane/plugin/gs_deliver'
s = Actions::GsGetAppStatusAction.run(FastlaneCore::Configuration.create(GsGetAppStatusAction.available_options,{app_identifier:ENV["BUNDLE_ID"]}))
UI.success("App Status = " + s)
arg = FastlaneCore::Configuration.create(GsIncrementReleaseVersionAction.available_options, {path:Helper::GsProjectFlowIosHelper.get_versions_path})
v = GsIncrementReleaseVersionAction.run(arg)
version_name = v.major.to_s + "." + v.minor.to_s
ruText = Helper::GsProjectFlowIosHelper.new.generateReleaseNotes("fileClosed", ENV["ALIAS"], version_name, "Ru")
enText = Helper::GsProjectFlowIosHelper.new.generateReleaseNotes("fileClosed", ENV["ALIAS"], version_name, "En")
Helper::FileHelper.write(Dir.pwd+'/metadata/ru/release_notes.txt', ruText)
Helper::FileHelper.write(Dir.pwd+'/metadata/en-US/release_notes.txt', enText)
if s == "Waiting For Review"
Actions::DeliverAction.run(FastlaneCore::Configuration.create(DeliverAction.available_options,{
force:true,
app_version: version_name,
skip_binary_upload:true,
skip_screenshots: true,
automatic_release:true,
submission_information: {
add_id_info_limits_tracking: ENV["LIMITS_TRACKING"], add_id_info_serves_ads: ENV["IS_ADS_IN_APP_IDFA"], add_id_info_tracks_action: ENV["TRACKS_USER_ACTIONS_IDFA"], add_id_info_tracks_install: ENV["TRACKS_INSTALL_IDFA"], add_id_info_uses_idfa: ENV["USES_IDFA"], content_rights_has_rights: true,
content_rights_contains_third_party_content: false,
export_compliance_platform: 'ios',
export_compliance_compliance_required: false,
export_compliance_encryption_updated: false,
export_compliance_app_type: nil,
export_compliance_uses_encryption: ENV["USES_ENCRYPTION"],
export_compliance_is_exempt: false,
export_compliance_contains_third_party_cryptography: false,
export_compliance_contains_proprietary_cryptography: false,
export_compliance_available_on_french_store: true
}}))
UI.success("✅ Automatic release is set. App will be released in store after AppReview")
elsif s == "Pending Developer Release"
Actions::GsMoveToReadyForSaleAction.run(FastlaneCore::Configuration.create(GsMoveToReadyForSaleAction.available_options,{app_identifier:ENV["BUNDLE_ID"]}))
UI.success("✅ App is released to store")
else
raise "App has got unexpected status. Expected statuses: waitingForReview or PendingDeveloperRelease. Current status: "+s
end
Actions::GsSaveReleaseVersionAction.run(FastlaneCore::Configuration.create(GsSaveReleaseVersionAction.available_options,{version:v, path:Helper::GsProjectFlowIosHelper.get_versions_path}))
end
|