fastlane-plugin-semantic_release 1.14.1 → 1.18.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
2
  SHA256:
3
- metadata.gz: 75df4d8576b964aa25eb049f7327b6dca63e183e6ed2ee338a9bed8c52364c35
4
- data.tar.gz: '08f19dc2c0343275cd8ad6df77e34c3cead327543beaab51ed6211005466977a'
3
+ metadata.gz: bfdd6b224d265922b3de9f42697de102ceacca38c4222e21295ace3e695c204c
4
+ data.tar.gz: cd348da86de7b4eba45d92672b67f6ce2af63ddd441b0a6d187296c9c9a5f8e4
5
5
  SHA512:
6
- metadata.gz: 1fe944d2e2bb270c994d168fd5c0df781b425e7e92d53535f98fd13b72eb86d153ac76800374453769653ebc14359dcf9ca0db77858361a1b53661705f5b187d
7
- data.tar.gz: 3eff9484e9f5d5bef71a0a8252daa782a9301401886371516a8c3bb041bd137413bf49defaccdabee5477aa18313b800cced10745a4edd790539ae5e5cee0fed
6
+ metadata.gz: 6f91ea3be74683aeca782926fd80ca13e6f43ba1a6814cc89f76c055cc3e0b57183f885fc47ee97bfaac6cd8592cb02d0c1298ed57885ca4464801b5e8bbdcb6
7
+ data.tar.gz: e7d77b750b04093063de46eb83ba151b4a600e990c8e3e14bf97e5c0e548262f0a515b3b348a643de6fdf6877198889a2a0947947079579cf80233cfa19bc2fe
@@ -43,7 +43,7 @@ module Fastlane
43
43
 
44
44
  def self.get_beginning_of_next_sprint(params)
45
45
  # command to get first commit
46
- git_command = 'git rev-list --max-parents=0 HEAD'
46
+ git_command = "git rev-list --max-parents=0 HEAD"
47
47
 
48
48
  tag = get_last_tag(match: params[:match], debug: params[:debug])
49
49
 
@@ -61,9 +61,11 @@ module Fastlane
61
61
  }
62
62
  end
63
63
 
64
- # neighter matched tag and first hash could be used - as fallback we try vX.Y.Z
65
- UI.message("It couldn't match tag for #{params[:match]} and couldn't use first commit. Check if tag vX.Y.Z can be taken as a begining of next release")
66
- tag = get_last_tag(match: "v*", debug: params[:debug])
64
+ unless params[:prevent_tag_fallback]
65
+ # neither matched tag and first hash could be used - as fallback we try vX.Y.Z
66
+ UI.message("It couldn't match tag for #{params[:match]} and couldn't use first commit. Check if tag vX.Y.Z can be taken as a begining of next release")
67
+ tag = get_last_tag(match: "v*", debug: params[:debug])
68
+ end
67
69
 
68
70
  # even fallback tag doesn't work
69
71
  if tag.empty?
@@ -140,13 +142,11 @@ module Fastlane
140
142
  pattern: format_pattern
141
143
  )
142
144
 
143
- unless commit[:scope].nil?
144
- # if this commit has a scope, then we need to inspect to see if that is one of the scopes we're trying to exclude
145
- scope = commit[:scope]
146
- scopes_to_ignore = params[:ignore_scopes]
147
- # if it is, we'll skip this commit when bumping versions
148
- next if scopes_to_ignore.include?(scope) #=> true
149
- end
145
+ next if Helper::SemanticReleaseHelper.should_exclude_commit(
146
+ commit_scope: commit[:scope],
147
+ include_scopes: params[:include_scopes],
148
+ ignore_scopes: params[:ignore_scopes]
149
+ )
150
150
 
151
151
  if commit[:release] == "major" || commit[:is_breaking_change]
152
152
  next_major += 1
@@ -190,7 +190,7 @@ module Fastlane
190
190
  end
191
191
 
192
192
  def self.is_codepush_friendly(params)
193
- git_command = 'git rev-list --max-parents=0 HEAD'
193
+ git_command = "git rev-list --max-parents=0 HEAD"
194
194
  # Begining of the branch is taken for codepush analysis
195
195
  hash_lines = Actions.sh("#{git_command} | wc -l", log: params[:debug]).chomp
196
196
  hash = Actions.sh(git_command, log: params[:debug]).chomp
@@ -315,6 +315,20 @@ module Fastlane
315
315
  description: "To parse version number from tag name",
316
316
  default_value: '\d+\.\d+\.\d+'
317
317
  ),
318
+ FastlaneCore::ConfigItem.new(
319
+ key: :prevent_tag_fallback,
320
+ description: "Prevent tag from falling back to vX.Y.Z when there is no match",
321
+ default_value: false,
322
+ type: Boolean,
323
+ optional: true
324
+ ),
325
+ FastlaneCore::ConfigItem.new(
326
+ key: :include_scopes,
327
+ description: "To only include certain scopes when calculating releases",
328
+ default_value: [],
329
+ type: Array,
330
+ optional: true
331
+ ),
318
332
  FastlaneCore::ConfigItem.new(
319
333
  key: :ignore_scopes,
320
334
  description: "To ignore certain scopes when calculating releases",
@@ -185,13 +185,11 @@ module Fastlane
185
185
  pattern: format_pattern
186
186
  )
187
187
 
188
- unless commit[:scope].nil?
189
- # if this commit has a scope, then we need to inspect to see if that is one of the scopes we're trying to exclude
190
- scope = commit[:scope]
191
- scopes_to_ignore = params[:ignore_scopes]
192
- # if it is, we'll skip this commit when bumping versions
193
- next if scopes_to_ignore.include?(scope) #=> true
194
- end
188
+ next if Helper::SemanticReleaseHelper.should_exclude_commit(
189
+ commit_scope: commit[:scope],
190
+ include_scopes: params[:include_scopes],
191
+ ignore_scopes: params[:ignore_scopes]
192
+ )
195
193
 
196
194
  commit[:hash] = splitted[2]
197
195
  commit[:short_hash] = splitted[3]
@@ -281,6 +279,13 @@ module Fastlane
281
279
  type: Boolean,
282
280
  optional: true
283
281
  ),
282
+ FastlaneCore::ConfigItem.new(
283
+ key: :include_scopes,
284
+ description: "To only include certain scopes when calculating releases",
285
+ default_value: [],
286
+ type: Array,
287
+ optional: true
288
+ ),
284
289
  FastlaneCore::ConfigItem.new(
285
290
  key: :ignore_scopes,
286
291
  description: "To ignore certain scopes when calculating releases",
@@ -20,6 +20,20 @@ module Fastlane
20
20
  Actions.sh(command, log: params[:debug]).chomp
21
21
  end
22
22
 
23
+ def self.should_exclude_commit(params)
24
+ commit_scope = params[:commit_scope]
25
+ scopes_to_include = params[:include_scopes]
26
+ scopes_to_ignore = params[:ignore_scopes]
27
+
28
+ unless scopes_to_include.empty?
29
+ return !scopes_to_include.include?(commit_scope)
30
+ end
31
+
32
+ unless commit_scope.nil?
33
+ return scopes_to_ignore.include?(commit_scope)
34
+ end
35
+ end
36
+
23
37
  def self.parse_commit(params)
24
38
  commit_subject = params[:commit_subject].strip
25
39
  commit_body = params[:commit_body]
@@ -1 +1 @@
1
- module Fastlane module SemanticRelease VERSION = "1.14.1" end end
1
+ module Fastlane module SemanticRelease VERSION = "1.18.0" end end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-semantic_release
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.1
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jiří Otáhal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-05 00:00:00.000000000 Z
11
+ date: 2022-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry