fastlane-plugin-apadmi_grout 0.0.1
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 +7 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE +1 -0
- data/lib/fastlane/plugin/apadmi_grout/actions/find_tickets_to_move_action.rb +106 -0
- data/lib/fastlane/plugin/apadmi_grout/actions/generate_release_notes_action.rb +175 -0
- data/lib/fastlane/plugin/apadmi_grout/actions/move_jira_tickets_action.rb +112 -0
- data/lib/fastlane/plugin/apadmi_grout/utils/fastlane_logger.rb +20 -0
- data/lib/fastlane/plugin/apadmi_grout/version.rb +7 -0
- data/lib/fastlane/plugin/apadmi_grout.rb +19 -0
- metadata +191 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5161ef35fb0b4205445e170fb7a84d0f2a72b93f674b1a1d2b9fdd5fafe23cc0
|
4
|
+
data.tar.gz: 659b250f2169b88ab20fe820e44e2bce52bd4445bc2f1397a61e836c784f4b68
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 889806f2dd9318f348fe54ece721b23242084e2aa0699de1866ebed419c8bd6455b120a78919bd141c3a76cb9f0b5334e6a04daadd170ec0c63d9d94d83d150d
|
7
|
+
data.tar.gz: 412782d83d54ae6674f33d810d176b984cccdd73163839c8bfb8a82a4bc4c9d62da01b3a8cb66e0739c5f8543da92f70360c6556a07ad0c34c19e33adb523dc6
|
data/CHANGELOG.md
ADDED
data/LICENSE
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
../LICENSE
|
@@ -0,0 +1,106 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fastlane/action"
|
4
|
+
require "apadmi_grout"
|
5
|
+
require_relative "../utils/fastlane_logger"
|
6
|
+
|
7
|
+
module Fastlane
|
8
|
+
module Actions
|
9
|
+
# Move JIRA tickets and generate release notes
|
10
|
+
class FindTicketsToMoveAction < Action
|
11
|
+
def self.run(params)
|
12
|
+
logger = FastLane::FastlaneLogger.new
|
13
|
+
logger.message("Finding tickets to move")
|
14
|
+
|
15
|
+
build_tools = Apadmi::Grout::DependencyInjector.new(
|
16
|
+
params[:jira_username],
|
17
|
+
params[:jira_api_token],
|
18
|
+
params[:jira_base_url],
|
19
|
+
params[:jira_context_path],
|
20
|
+
params[:jira_project_key],
|
21
|
+
logger
|
22
|
+
)
|
23
|
+
|
24
|
+
build_tools.find_tickets_to_move_action.run(
|
25
|
+
params[:jira_component_name],
|
26
|
+
params[:jira_status_from],
|
27
|
+
[]
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.description
|
32
|
+
"Convenience lane that finds tickets that are ready to be moved by CI."
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.authors
|
36
|
+
["samdc@apadmi.com"]
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.available_options
|
40
|
+
[
|
41
|
+
########## JIRA Auth ##########
|
42
|
+
FastlaneCore::ConfigItem.new(key: :jira_username,
|
43
|
+
description: "JIRA username for authentication with JIRA",
|
44
|
+
env_name: "JIRA_USERNAME",
|
45
|
+
type: String,
|
46
|
+
verify_block: proc do |value|
|
47
|
+
UI.user_error!("Didn't pass a valid JIRA username") unless value
|
48
|
+
end,
|
49
|
+
optional: false),
|
50
|
+
FastlaneCore::ConfigItem.new(key: :jira_api_token,
|
51
|
+
description: "JIRA api token for authentication with JIRA",
|
52
|
+
env_name: "JIRA_API_TOKEN",
|
53
|
+
type: String,
|
54
|
+
verify_block: proc do |value|
|
55
|
+
UI.user_error!("Didn't pass a valid JIRA api token") unless value
|
56
|
+
end,
|
57
|
+
optional: false),
|
58
|
+
FastlaneCore::ConfigItem.new(key: :jira_project_key,
|
59
|
+
description: "JIRA project key",
|
60
|
+
env_name: "JIRA_PROJECT_KEY",
|
61
|
+
type: String,
|
62
|
+
verify_block: proc do |value|
|
63
|
+
UI.user_error!("Didn't pass a valid JIRA project key, e.g PPT") unless value
|
64
|
+
end,
|
65
|
+
optional: false),
|
66
|
+
FastlaneCore::ConfigItem.new(key: :jira_base_url,
|
67
|
+
description: "JIRA base url for the organisation",
|
68
|
+
env_name: "JIRA_BASE_URL",
|
69
|
+
type: String,
|
70
|
+
verify_block: proc do |value|
|
71
|
+
UI.user_error!("Didn't pass a valid JIRA base url") unless value
|
72
|
+
end,
|
73
|
+
optional: false),
|
74
|
+
FastlaneCore::ConfigItem.new(key: :jira_context_path,
|
75
|
+
description: "JIRA context path whatever that is ¯\\_(ツ)_/¯",
|
76
|
+
env_name: "JIRA_CONTEXT_PATH",
|
77
|
+
default_value: "",
|
78
|
+
type: String,
|
79
|
+
optional: true),
|
80
|
+
|
81
|
+
########## Action Specific ##########
|
82
|
+
FastlaneCore::ConfigItem.new(key: :jira_component_name,
|
83
|
+
description: "The JIRA component by which to filter tickets",
|
84
|
+
env_name: "JIRA_COMPONENT_NAME",
|
85
|
+
type: String,
|
86
|
+
verify_block: proc do |value|
|
87
|
+
UI.user_error!("Didn't pass a valid JIRA component") unless value
|
88
|
+
end,
|
89
|
+
optional: false),
|
90
|
+
FastlaneCore::ConfigItem.new(key: :jira_status_from,
|
91
|
+
description: "The JIRA status to filter by to find tickets",
|
92
|
+
env_name: "JIRA_STATUS_FROM",
|
93
|
+
type: String,
|
94
|
+
verify_block: proc do |value|
|
95
|
+
UI.user_error!("Didn't pass a valid JIRA status") unless value
|
96
|
+
end,
|
97
|
+
optional: false)
|
98
|
+
]
|
99
|
+
end
|
100
|
+
|
101
|
+
def self.is_supported?(_platform)
|
102
|
+
true
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fastlane/action"
|
4
|
+
require "apadmi_grout"
|
5
|
+
require_relative "../utils/fastlane_logger"
|
6
|
+
|
7
|
+
module Fastlane
|
8
|
+
module Actions
|
9
|
+
# Generate release notes based on git changelog
|
10
|
+
class GenerateReleaseNotesAction < Action
|
11
|
+
def self.run(params)
|
12
|
+
logger = FastLane::FastlaneLogger.new
|
13
|
+
logger.message("Generating Release Notes")
|
14
|
+
|
15
|
+
build_tools = Apadmi::Grout::DependencyInjector.new(
|
16
|
+
params[:jira_username],
|
17
|
+
params[:jira_api_token],
|
18
|
+
params[:jira_base_url],
|
19
|
+
params[:jira_context_path],
|
20
|
+
params[:jira_project_key],
|
21
|
+
logger
|
22
|
+
)
|
23
|
+
|
24
|
+
logger.message("Finding changelog between #{params[:oldest_ref]} and #{params[:latest_ref]}")
|
25
|
+
changelog = Fastlane::Actions::ChangelogFromGitCommitsAction.run(
|
26
|
+
pretty: "- %s",
|
27
|
+
between: [params[:oldest_ref], params[:latest_ref]],
|
28
|
+
quiet: false,
|
29
|
+
merge_commit_filtering: "only_include_merges"
|
30
|
+
)
|
31
|
+
|
32
|
+
config = Apadmi::Grout::ReleaseNotesConfig.new(
|
33
|
+
params[:release_notes_title],
|
34
|
+
params[:app_version],
|
35
|
+
params[:min_sdk_int],
|
36
|
+
params[:date_string],
|
37
|
+
params[:tickets_moved_by_build],
|
38
|
+
build_tools.issues_from_changelog_action.run(changelog),
|
39
|
+
params[:commit_hash],
|
40
|
+
params[:ci_build_number],
|
41
|
+
params[:ci_build_url],
|
42
|
+
params[:templates]
|
43
|
+
)
|
44
|
+
|
45
|
+
logger.message("Generating Release Notes")
|
46
|
+
build_tools.generate_release_notes_action.run(config)
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.description
|
50
|
+
"Generate release notes based on git changelog"
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.authors
|
54
|
+
["samdc@apadmi.com"]
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.return_value
|
58
|
+
"The full release notes generated as one String"
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.available_options
|
62
|
+
[
|
63
|
+
########## JIRA Auth ##########
|
64
|
+
FastlaneCore::ConfigItem.new(key: :jira_username,
|
65
|
+
description: "JIRA username for authentication with JIRA",
|
66
|
+
env_name: "JIRA_USERNAME",
|
67
|
+
type: String,
|
68
|
+
verify_block: proc do |value|
|
69
|
+
UI.user_error!("Didn't pass a valid JIRA username") unless value
|
70
|
+
end,
|
71
|
+
optional: false),
|
72
|
+
FastlaneCore::ConfigItem.new(key: :jira_api_token,
|
73
|
+
description: "JIRA api token for authentication with JIRA",
|
74
|
+
env_name: "JIRA_API_TOKEN",
|
75
|
+
type: String,
|
76
|
+
verify_block: proc do |value|
|
77
|
+
UI.user_error!("Didn't pass a valid JIRA api token") unless value
|
78
|
+
end,
|
79
|
+
optional: false),
|
80
|
+
FastlaneCore::ConfigItem.new(key: :jira_project_key,
|
81
|
+
description: "JIRA project key",
|
82
|
+
env_name: "JIRA_PROJECT_KEY",
|
83
|
+
type: String,
|
84
|
+
verify_block: proc do |value|
|
85
|
+
UI.user_error!("Didn't pass a valid JIRA project key, e.g PPT") unless value
|
86
|
+
end,
|
87
|
+
optional: false),
|
88
|
+
FastlaneCore::ConfigItem.new(key: :jira_base_url,
|
89
|
+
description: "JIRA base url for the organisation",
|
90
|
+
env_name: "JIRA_BASE_URL",
|
91
|
+
type: String,
|
92
|
+
verify_block: proc do |value|
|
93
|
+
UI.user_error!("Didn't pass a valid JIRA base url") unless value
|
94
|
+
end,
|
95
|
+
optional: false),
|
96
|
+
FastlaneCore::ConfigItem.new(key: :jira_context_path,
|
97
|
+
description: "JIRA context path whatever that is ¯\\_(ツ)_/¯",
|
98
|
+
env_name: "JIRA_CONTEXT_PATH",
|
99
|
+
default_value: "",
|
100
|
+
type: String,
|
101
|
+
optional: true),
|
102
|
+
|
103
|
+
########## Action Specific ##########
|
104
|
+
FastlaneCore::ConfigItem.new(key: :tickets_moved_by_build,
|
105
|
+
description: "Any JIRA tickets who's state was moved by this build",
|
106
|
+
default_value: [],
|
107
|
+
type: Array,
|
108
|
+
optional: true),
|
109
|
+
FastlaneCore::ConfigItem.new(key: :release_notes_title,
|
110
|
+
description: "The title of the release notes",
|
111
|
+
env_name: "RELEASE_NOTES_TITLE",
|
112
|
+
type: String,
|
113
|
+
verify_block: proc do |value|
|
114
|
+
UI.user_error!("Didn't pass a valid project title") unless value
|
115
|
+
end,
|
116
|
+
optional: false),
|
117
|
+
FastlaneCore::ConfigItem.new(key: :oldest_ref,
|
118
|
+
description: "Changelog between 2 git refs, this is the furthest back of those",
|
119
|
+
type: String,
|
120
|
+
verify_block: proc do |value|
|
121
|
+
UI.user_error!("Didn't pass a valid ref") unless value
|
122
|
+
end,
|
123
|
+
optional: false),
|
124
|
+
FastlaneCore::ConfigItem.new(key: :latest_ref,
|
125
|
+
description: "Changelog between 2 git refs, this is the most recent of those",
|
126
|
+
default_value: "HEAD",
|
127
|
+
type: String,
|
128
|
+
verify_block: proc do |value|
|
129
|
+
UI.user_error!("Didn't pass a valid ref") unless value
|
130
|
+
end),
|
131
|
+
FastlaneCore::ConfigItem.new(key: :commit_hash,
|
132
|
+
description: "Commit hash of commit being built",
|
133
|
+
env_name: "GIT_CLONE_COMMIT_HASH",
|
134
|
+
type: String,
|
135
|
+
optional: true),
|
136
|
+
FastlaneCore::ConfigItem.new(key: :date_string,
|
137
|
+
description: "Commit hash of commit being built",
|
138
|
+
default_value: Time.now.strftime("%d/%m/%Y"),
|
139
|
+
type: String,
|
140
|
+
optional: true),
|
141
|
+
FastlaneCore::ConfigItem.new(key: :ci_build_number,
|
142
|
+
description: "Build number provided by CI",
|
143
|
+
env_name: "BITRISE_BUILD_NUMBER", # Probably want to make this not bitrise specific, but this is convenient
|
144
|
+
type: String,
|
145
|
+
optional: true),
|
146
|
+
FastlaneCore::ConfigItem.new(key: :ci_build_url,
|
147
|
+
description: "Build URL of CI job",
|
148
|
+
env_name: "BITRISE_BUILD_URL", # Probably want to make this not bitrise specific, but this is convenient
|
149
|
+
type: String,
|
150
|
+
optional: true),
|
151
|
+
FastlaneCore::ConfigItem.new(key: :app_version,
|
152
|
+
description: "Current App Version",
|
153
|
+
type: String,
|
154
|
+
optional: false,
|
155
|
+
verify_block: proc do |value|
|
156
|
+
UI.user_error!("Didn't pass a valid app version") unless value
|
157
|
+
end),
|
158
|
+
FastlaneCore::ConfigItem.new(key: :min_sdk_int,
|
159
|
+
description: "Minimum OS version supported by the app",
|
160
|
+
type: String,
|
161
|
+
optional: true,
|
162
|
+
default_value: ""),
|
163
|
+
FastlaneCore::ConfigItem.new(key: :templates,
|
164
|
+
description: "Release notes templates",
|
165
|
+
default_value: Apadmi::Grout::Templates.default,
|
166
|
+
type: Apadmi::Grout::Templates)
|
167
|
+
]
|
168
|
+
end
|
169
|
+
|
170
|
+
def self.is_supported?(_platform)
|
171
|
+
true
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fastlane/action"
|
4
|
+
require "apadmi_grout"
|
5
|
+
require_relative "../utils/fastlane_logger"
|
6
|
+
|
7
|
+
module Fastlane
|
8
|
+
module Actions
|
9
|
+
# Move JIRA tickets and generate release notes
|
10
|
+
class MoveJiraTicketsAction < Action
|
11
|
+
def self.run(params)
|
12
|
+
logger = FastLane::FastlaneLogger.new
|
13
|
+
logger.message("Moving Jira tickets")
|
14
|
+
|
15
|
+
build_tools = Apadmi::Grout::DependencyInjector.new(
|
16
|
+
params[:jira_username],
|
17
|
+
params[:jira_api_token],
|
18
|
+
params[:jira_base_url],
|
19
|
+
params[:jira_context_path],
|
20
|
+
params[:jira_project_key],
|
21
|
+
logger
|
22
|
+
)
|
23
|
+
|
24
|
+
build_tools.move_jira_tickets_action.run(
|
25
|
+
params[:versions],
|
26
|
+
params[:issues],
|
27
|
+
params[:jira_status_to]
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.description
|
32
|
+
"Convenience lane that moves all supplied jira tickets to new status and assigns versions."
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.authors
|
36
|
+
["samdc@apadmi.com"]
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.available_options
|
40
|
+
[
|
41
|
+
########## JIRA Auth ##########
|
42
|
+
FastlaneCore::ConfigItem.new(key: :jira_username,
|
43
|
+
description: "JIRA username for authentication with JIRA",
|
44
|
+
env_name: "JIRA_USERNAME",
|
45
|
+
type: String,
|
46
|
+
verify_block: proc do |value|
|
47
|
+
UI.user_error!("Didn't pass a valid JIRA username") unless value
|
48
|
+
end,
|
49
|
+
optional: false),
|
50
|
+
FastlaneCore::ConfigItem.new(key: :jira_api_token,
|
51
|
+
description: "JIRA api token for authentication with JIRA",
|
52
|
+
env_name: "JIRA_API_TOKEN",
|
53
|
+
type: String,
|
54
|
+
verify_block: proc do |value|
|
55
|
+
UI.user_error!("Didn't pass a valid JIRA api token") unless value
|
56
|
+
end,
|
57
|
+
optional: false),
|
58
|
+
FastlaneCore::ConfigItem.new(key: :jira_project_key,
|
59
|
+
description: "JIRA project key",
|
60
|
+
env_name: "JIRA_PROJECT_KEY",
|
61
|
+
type: String,
|
62
|
+
verify_block: proc do |value|
|
63
|
+
UI.user_error!("Didn't pass a valid JIRA project key, e.g PPT") unless value
|
64
|
+
end,
|
65
|
+
optional: false),
|
66
|
+
FastlaneCore::ConfigItem.new(key: :jira_base_url,
|
67
|
+
description: "JIRA base url for the organisation",
|
68
|
+
env_name: "JIRA_BASE_URL",
|
69
|
+
type: String,
|
70
|
+
verify_block: proc do |value|
|
71
|
+
UI.user_error!("Didn't pass a valid JIRA base url") unless value
|
72
|
+
end,
|
73
|
+
optional: false),
|
74
|
+
FastlaneCore::ConfigItem.new(key: :jira_context_path,
|
75
|
+
description: "JIRA context path whatever that is ¯\\_(ツ)_/¯",
|
76
|
+
env_name: "JIRA_CONTEXT_PATH",
|
77
|
+
default_value: "",
|
78
|
+
type: String,
|
79
|
+
optional: true),
|
80
|
+
|
81
|
+
########## Action Specific ##########
|
82
|
+
FastlaneCore::ConfigItem.new(key: :jira_status_to,
|
83
|
+
description: "The JIRA status to move the tickets to",
|
84
|
+
env_name: "JIRA_STATUS_TO",
|
85
|
+
type: String,
|
86
|
+
verify_block: proc do |value|
|
87
|
+
UI.user_error!("Didn't pass a valid JIRA status") unless value
|
88
|
+
end,
|
89
|
+
optional: false),
|
90
|
+
FastlaneCore::ConfigItem.new(key: :versions,
|
91
|
+
description: "The versions to add to the jira ticket",
|
92
|
+
type: Array,
|
93
|
+
verify_block: proc do |value|
|
94
|
+
UI.user_error!("Didn't pass a valid array of versions") unless value || value.empty
|
95
|
+
end,
|
96
|
+
optional: false),
|
97
|
+
FastlaneCore::ConfigItem.new(key: :issues,
|
98
|
+
description: "The issues to be moved",
|
99
|
+
type: Array,
|
100
|
+
verify_block: proc do |value|
|
101
|
+
UI.user_error!("Didn't pass a valid array of issues") unless value
|
102
|
+
end,
|
103
|
+
optional: false)
|
104
|
+
]
|
105
|
+
end
|
106
|
+
|
107
|
+
def self.is_supported?(_platform)
|
108
|
+
true
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fastlane"
|
4
|
+
|
5
|
+
module FastLane
|
6
|
+
# A logger compatible with apadmi build tools that hooks into Fastlane's UI
|
7
|
+
class FastlaneLogger
|
8
|
+
def error(msg)
|
9
|
+
FastlaneCore::UI.error(msg)
|
10
|
+
end
|
11
|
+
|
12
|
+
def success(msg)
|
13
|
+
FastlaneCore::UI.success(msg)
|
14
|
+
end
|
15
|
+
|
16
|
+
def message(msg)
|
17
|
+
FastlaneCore::UI.message(msg)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fastlane/plugin/apadmi_grout/version"
|
4
|
+
|
5
|
+
module Fastlane
|
6
|
+
# Main Buildtools module
|
7
|
+
module ApadmiGrout
|
8
|
+
# Return all .rb files inside the "actions" and "utils" directory
|
9
|
+
def self.all_classes
|
10
|
+
Dir[File.expand_path("**/{actions,utils}/*.rb", File.dirname(__FILE__))]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# By default we want to import all available actions and helpers
|
16
|
+
# A plugin can contain any number of actions and plugins
|
17
|
+
Fastlane::ApadmiGrout.all_classes.each do |current|
|
18
|
+
require current
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,191 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fastlane-plugin-apadmi_grout
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sam
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-05-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: apadmi_grout
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: fastlane
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: minitest
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.12.1
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.12.1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-performance
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-require_tools
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description:
|
154
|
+
email:
|
155
|
+
- samdc@apadmi.com
|
156
|
+
executables: []
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files: []
|
159
|
+
files:
|
160
|
+
- CHANGELOG.md
|
161
|
+
- LICENSE
|
162
|
+
- lib/fastlane/plugin/apadmi_grout.rb
|
163
|
+
- lib/fastlane/plugin/apadmi_grout/actions/find_tickets_to_move_action.rb
|
164
|
+
- lib/fastlane/plugin/apadmi_grout/actions/generate_release_notes_action.rb
|
165
|
+
- lib/fastlane/plugin/apadmi_grout/actions/move_jira_tickets_action.rb
|
166
|
+
- lib/fastlane/plugin/apadmi_grout/utils/fastlane_logger.rb
|
167
|
+
- lib/fastlane/plugin/apadmi_grout/version.rb
|
168
|
+
homepage: https://bitbucket.org/apadmi/apadmi-grout-ruby/
|
169
|
+
licenses:
|
170
|
+
- MIT
|
171
|
+
metadata: {}
|
172
|
+
post_install_message:
|
173
|
+
rdoc_options: []
|
174
|
+
require_paths:
|
175
|
+
- lib
|
176
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '2.7'
|
181
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
requirements: []
|
187
|
+
rubygems_version: 3.1.2
|
188
|
+
signing_key:
|
189
|
+
specification_version: 4
|
190
|
+
summary: A fastlane wrapper for the apadmi build tools plugin
|
191
|
+
test_files: []
|