fastlane-plugin-release 0.1.0 → 0.2.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: 8cea9c1e6fefa3d08fbca226dbf0a1d98d243e33d2f03840509801d217c0a6ef
4
- data.tar.gz: 78da457f16bdd4530364eafbb9e856a65ecd31e5597452f70f2dd58b0fb0ba3f
3
+ metadata.gz: 978a20871b0aaa87dbbc22789770b28530b1b5c5f8a8c081849c68a55c913117
4
+ data.tar.gz: aef2dfccbacc01bd4011f1fcff70e24064f353ba85382964b1c3b3cea121b295
5
5
  SHA512:
6
- metadata.gz: ded1f35e560ced58f710ebee65cbb1b0073c8c110d3ed9c85bac94d96f5f786bda1013f112013aff0c179076bacbbcf42e4e0295f241e40792eac49ded869df6
7
- data.tar.gz: 12be6d1bac1435858f9ca9f54148c8f366b1e5e34c391c717b52019e51f8c010f0b1a198bf00ad9585f1f1eb55135252d72def46d364d0e0b5daa28a46e9c31e
6
+ metadata.gz: a2e7fadcfb3800062c1bd18740247510f773155be3aaea40b75aa7403a13387efd838cacdcb462d8e491ffd44215bd9e15c67658459a5f18b4675fe355f59e08
7
+ data.tar.gz: fa8ce4029f6ed67790d9b0e8629419cc53b18a46ce85b4c1162d08f2d277657d03559ffa690476b755b4096fe046b05f65087bb6de357aa1de09a95eda45159d
data/README.md CHANGED
@@ -14,7 +14,17 @@ fastlane add_plugin release
14
14
 
15
15
  ## About release
16
16
 
17
- Extends fastlane release actions. Automates the steps to create a new release for a framework.
17
+ Extends fastlane release actions. Automates the steps to create a new release for a framework. At a high level, it goes through these steps:
18
+
19
+ 1) Increments podspec version
20
+ 2) Increments xcodeproj version
21
+ 3) Increments xcodeproj build (opt-in)
22
+ 4) Commits version bumps
23
+ 5) Tags release
24
+ 6) Pushes to remote
25
+ 7) Pushes podspec
26
+
27
+ See below for customization options...
18
28
 
19
29
  ## Actions
20
30
 
@@ -8,23 +8,54 @@ module Fastlane
8
8
  class MakeReleaseAction < Action
9
9
 
10
10
  def self.run(params)
11
-
12
11
  other_action.ensure_git_branch(branch: params[:ensure_git_branch])
13
12
  other_action.ensure_git_status_clean if params[:ensure_git_status_clean]
14
13
 
15
- xcodeproj = File.expand_path(params[:xcodeproj])
14
+ if params[:pre_bump]
15
+ version = bump_version(params, params[:version])
16
+ end
17
+
18
+ version = tag_and_release(params)
19
+
20
+ if params[:post_bump]
21
+ version = bump_version(params, nil)
22
+ end
23
+
24
+ version
25
+ end
26
+
27
+ def self.bump_version(params, version)
16
28
  podspec = File.expand_path(params[:podspec])
17
- version = params[:version]
18
29
 
19
30
  if version.nil?
20
- version = other_action.version_bump_podspec(path: podspec, bump_type: params[:version_bump_type])
31
+ version = other_action.version_bump_podspec(
32
+ path: podspec,
33
+ bump_type: params[:version_bump_type]
34
+ )
21
35
  else
22
- other_action.version_bump_podspec(path: podspec, version_number: version)
36
+ other_action.version_bump_podspec(
37
+ path: podspec,
38
+ version_number: version
39
+ )
40
+ end
41
+
42
+ xcodeproj = File.expand_path(params[:xcodeproj])
43
+
44
+ unless xcodeproj.nil?
45
+ other_action.increment_version_number(version_number: version, xcodeproj: xcodeproj)
46
+ other_action.increment_build_number(xcodeproj: xcodeproj) if params[:bump_build]
23
47
  end
24
48
 
25
- other_action.increment_version_number(version_number: version, xcodeproj: xcodeproj)
26
- other_action.increment_build_number(xcodeproj: xcodeproj) if params[:bump_build]
27
49
  other_action.commit_version_bump(include: [params[:podspec]])
50
+ other_action.push_to_git_remote
51
+
52
+ version
53
+ end
54
+
55
+ def self.tag_and_release(params)
56
+ podspec = File.expand_path(params[:podspec])
57
+ version = other_action.version_get_podspec(path: podspec)
58
+
28
59
  other_action.add_git_tag(tag: params[:tag_prefix] + version)
29
60
  other_action.push_to_git_remote
30
61
 
@@ -36,7 +67,6 @@ module Fastlane
36
67
  )
37
68
 
38
69
  version
39
-
40
70
  end
41
71
 
42
72
  def self.description
@@ -107,6 +137,23 @@ module Fastlane
107
137
  optional: true,
108
138
  type: String
109
139
  ),
140
+ FastlaneCore::ConfigItem.new(
141
+ key: :post_bump,
142
+ env_name: "POST_BUMP",
143
+ default_value: false,
144
+ description: "Bump version number after tag and release",
145
+ optional: true,
146
+ type: Boolean
147
+ ),
148
+ FastlaneCore::ConfigItem.new(
149
+ key: :pre_bump,
150
+ env_name: "PRE_BUMP",
151
+ conflicting_options: [:version],
152
+ default_value: false,
153
+ description: "Bump version number before tag and release",
154
+ optional: true,
155
+ type: Boolean
156
+ ),
110
157
  FastlaneCore::ConfigItem.new(
111
158
  key: :sources,
112
159
  env_name: "SOURCES",
@@ -126,7 +173,7 @@ module Fastlane
126
173
  FastlaneCore::ConfigItem.new(
127
174
  key: :version,
128
175
  env_name: "VERSION",
129
- conflicting_options: [:version_bump_type],
176
+ conflicting_options: [:pre_bump, :version_bump_type],
130
177
  description: "Change to a specific version. This will replace the bump type value",
131
178
  optional: true,
132
179
  type: String
@@ -147,7 +194,7 @@ module Fastlane
147
194
  key: :xcodeproj,
148
195
  env_name: "XCODEPROJ",
149
196
  description: "The path of the xcode project to update",
150
- optional: false,
197
+ optional: true,
151
198
  type: String,
152
199
  verify_block: proc do |value|
153
200
  UI.user_error!("Could not find xcode project at path '#{File.expand_path(value)}'") if !File.exist?(value)
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Release
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-release
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cole Dunsby