fastlane-plugin-versioning 0.6.1 → 0.7.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
  SHA256:
3
- metadata.gz: b3b5abd3eb817480131289c1374ab663b59e7fba7a97c17421499b05a934200c
4
- data.tar.gz: cec5b6815e3f92e082cf2f19efe560849d655eca18f5fc37d3521aa5618f8d63
3
+ metadata.gz: 31846ea92bbacc5b95feebd8e2dd1e9df3494d4aeef5373410b12adc2dabb881
4
+ data.tar.gz: 34853fe36a10ee78737918dbcd6ffdeda1322bfe55305f842288d6c7adb9557e
5
5
  SHA512:
6
- metadata.gz: 53a42411d4b491df7e872269fa6c6cfe083e597dfdef9e83fe819697f9c5960a4d49f835116077db5e70a774191843f4e98d969502ae93eaba49a1110e18215b
7
- data.tar.gz: 63beb92a441fa492f3082229007bf6fc36a88d68bc3ef2f79340155d57b61842ad3b3f9605a3f7925e8e3a45dee5a42bbabc2bc4cca55ea923f7cdc30e244cb1
6
+ metadata.gz: 24b894e961b6a22a26c50ab83f02fc2d78e814bb6a4f7d7c4db30d5d717c419d35ac0c44ab3586401120e7e17988e0fc50955d6bbf446c6d988bedf2ee3a93e6
7
+ data.tar.gz: 57f1527939970e9513536c9767ee7bb8dbde29ada4e2eb1890741f13b0f296ed711604ea1747429789f14975d38f1b9bcb94328778b2876bd54abdfa79878936
@@ -20,15 +20,28 @@ module Fastlane
20
20
  random = Helper.test? ? "123" : SecureRandom.uuid
21
21
 
22
22
  if params[:country]
23
- uri = URI("http://itunes.apple.com/lookup?bundleId=#{bundle_id}&country=#{params[:country]}&rand=#{random}")
23
+ uri = URI("https://itunes.apple.com/lookup?bundleId=#{bundle_id}&country=#{params[:country]}&rand=#{random}")
24
24
  else
25
- uri = URI("http://itunes.apple.com/lookup?bundleId=#{bundle_id}&rand=#{random}")
25
+ uri = URI("https://itunes.apple.com/lookup?bundleId=#{bundle_id}&rand=#{random}")
26
26
  end
27
27
  Net::HTTP.get(uri)
28
28
 
29
29
  response = Net::HTTP.get_response(uri)
30
- UI.crash!("Unexpected status code from iTunes Search API") unless response.kind_of?(Net::HTTPSuccess)
31
- response_body = JSON.parse(response.body)
30
+ case response
31
+ when Net::HTTPSuccess
32
+ response_body = JSON.parse(response.body)
33
+ when Net::HTTPRedirection
34
+ UI.crash!("iTunes Search API resolved with status code 302, but no redirect url has been received") unless response['location']
35
+ UI.important("iTunes Search API resolved with status code 302, redirecting to new url")
36
+
37
+ new_url = response['location']
38
+ response = Net::HTTP.get_response(URI(new_url))
39
+ UI.crash!("Unexpected status code from iTunes Search API") unless response.kind_of?(Net::HTTPSuccess)
40
+
41
+ response_body = JSON.parse(response.body)
42
+ else
43
+ UI.crash!("Unexpected status code from iTunes Search API")
44
+ end
32
45
 
33
46
  UI.user_error!("Cannot find app with #{bundle_id} bundle ID in the App Store") if response_body["resultCount"] == 0
34
47
 
@@ -16,7 +16,8 @@ module Fastlane
16
16
  if params[:target]
17
17
  version_number = get_version_number_using_target(params)
18
18
  else
19
- version_number = get_version_number_using_scheme(params)
19
+ version_number = get_version_number_using_project(params) if params[:scheme].nil?
20
+ version_number = get_version_number_using_scheme(params) if version_number.nil?
20
21
  end
21
22
 
22
23
  Actions.lane_context[SharedValues::VERSION_NUMBER] = version_number
@@ -66,6 +67,18 @@ module Fastlane
66
67
  build_number
67
68
  end
68
69
 
70
+ def self.get_version_number_using_project(params)
71
+ project = Xcodeproj::Project.open(params[:xcodeproj])
72
+
73
+ if params[:build_configuration_name] && !params[:build_configuration_name].empty?
74
+ build_configuration_name = params[:build_configuration_name]
75
+ else
76
+ build_configuration_name = project.build_configurations.first.name
77
+ end
78
+
79
+ version_number = project.build_settings(build_configuration_name)["MARKETING_VERSION"]
80
+ end
81
+
69
82
  #####################################################
70
83
  # @!group Documentation
71
84
  #####################################################
@@ -32,7 +32,7 @@ module Fastlane
32
32
  next_version_number = version_array.join(".")
33
33
  end
34
34
 
35
- if Helper.test?
35
+ if Helper.test? && params[:xcodeproj].nil?
36
36
  params[:xcodeproj] = "/tmp/fastlane/tests/fastlane/xcodeproj/versioning_fixture_project.xcodeproj"
37
37
  else
38
38
  params[:xcodeproj] = Dir["*.xcodeproj"][0] unless params[:xcodeproj]
@@ -52,9 +52,16 @@ module Fastlane
52
52
 
53
53
  def self.set_all_xcodeproj_version_numbers(params, next_version_number)
54
54
  project = Xcodeproj::Project.open(params[:xcodeproj])
55
- configs = project.objects.select { |obj| select_build_configuration_predicate(nil, obj) }
56
- configs.each do |config|
57
- config.build_settings["MARKETING_VERSION"] = next_version_number
55
+
56
+ if project.build_configurations.find { |config| !config.build_settings["MARKETING_VERSION"].nil? }
57
+ project.build_configurations.each do |config|
58
+ config.build_settings["MARKETING_VERSION"] = next_version_number
59
+ end
60
+ else
61
+ configs = project.objects.select { |obj| select_build_configuration_predicate(nil, obj) }
62
+ configs.each do |config|
63
+ config.build_settings["MARKETING_VERSION"] = next_version_number
64
+ end
58
65
  end
59
66
  project.save
60
67
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Versioning
3
- VERSION = "0.6.1"
3
+ VERSION = "0.7.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-versioning
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Siarhei Fiedartsou
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-11-02 00:00:00.000000000 Z
12
+ date: 2024-11-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pry