jenkins_pipeline_builder 1.5.2 → 1.6.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 +4 -4
- data/.rubocop.yml +8 -0
- data/.rubocop_todo.yml +59 -0
- data/Rakefile +1 -1
- data/jenkins_pipeline_builder.gemspec +15 -15
- data/lib/jenkins_pipeline_builder/cli/helper.rb +4 -4
- data/lib/jenkins_pipeline_builder/compiler.rb +3 -5
- data/lib/jenkins_pipeline_builder/extension_set.rb +8 -8
- data/lib/jenkins_pipeline_builder/extensions.rb +6 -4
- data/lib/jenkins_pipeline_builder/extensions/build_steps.rb +16 -14
- data/lib/jenkins_pipeline_builder/extensions/builders.rb +50 -46
- data/lib/jenkins_pipeline_builder/extensions/job_attributes.rb +25 -25
- data/lib/jenkins_pipeline_builder/extensions/promotion_conditions.rb +7 -7
- data/lib/jenkins_pipeline_builder/extensions/publishers.rb +36 -24
- data/lib/jenkins_pipeline_builder/extensions/wrappers.rb +1 -1
- data/lib/jenkins_pipeline_builder/generator.rb +4 -5
- data/lib/jenkins_pipeline_builder/job.rb +2 -2
- data/lib/jenkins_pipeline_builder/job_collection.rb +6 -4
- data/lib/jenkins_pipeline_builder/pull_request_generator.rb +4 -2
- data/lib/jenkins_pipeline_builder/remote_dependencies.rb +1 -3
- data/lib/jenkins_pipeline_builder/version.rb +1 -1
- data/spec/lib/jenkins_pipeline_builder/cli/helper_spec.rb +5 -5
- data/spec/lib/jenkins_pipeline_builder/extension_set_spec.rb +1 -1
- data/spec/lib/jenkins_pipeline_builder/extensions/job_attributes_spec.rb +1 -1
- data/spec/lib/jenkins_pipeline_builder/extensions/registered_spec.rb +1 -0
- data/spec/lib/jenkins_pipeline_builder/extensions/wrappers_spec.rb +4 -0
- data/spec/lib/jenkins_pipeline_builder/generator_spec.rb +1 -1
- data/spec/lib/jenkins_pipeline_builder/module_registry_spec.rb +3 -3
- metadata +57 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4d433fdb4421e7ff066fd49444c45abe2d2b29df62228b95b9d0933b0dce7f6
|
4
|
+
data.tar.gz: 2586bd749811dd2848490e146b926e42c7332526282c53ff43c5f706ad49a8fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0969f829a1b73b76c1954ea323352f66d346b90b307705016d28d8b1a74987580f4baaea75dc2ba8f5c59b4e7c41039307c2a4b96019cc0a30c8ab51db861940
|
7
|
+
data.tar.gz: 6a02902dc545bdd9e2086503818b0cf9095edbe0964a290140bbe1bd718bb3c0748de2763d5b290f7af05927efafa9299418d1145e843fe1f81f78c9cb5f3302
|
data/.rubocop.yml
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.1.5
|
3
|
+
|
4
|
+
inherit_from: .rubocop_todo.yml
|
5
|
+
|
1
6
|
#######
|
2
7
|
# WIP These should all go back to defaults at some point
|
3
8
|
Metrics/AbcSize:
|
@@ -33,3 +38,6 @@ Style/VariableName:
|
|
33
38
|
|
34
39
|
Style/SymbolProc:
|
35
40
|
IgnoredMethods: new
|
41
|
+
|
42
|
+
Style/FrozenStringLiteralComment:
|
43
|
+
Enabled: false
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2017-12-13 09:51:35 -0500 using RuboCop version 0.52.0.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 6
|
10
|
+
Lint/UriEscapeUnescape:
|
11
|
+
Exclude:
|
12
|
+
- 'lib/jenkins_pipeline_builder/promotion.rb'
|
13
|
+
|
14
|
+
# Offense count: 1
|
15
|
+
Lint/Void:
|
16
|
+
Exclude:
|
17
|
+
- 'lib/jenkins_pipeline_builder.rb'
|
18
|
+
|
19
|
+
# Offense count: 132
|
20
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
21
|
+
Metrics/BlockLength:
|
22
|
+
Max: 420
|
23
|
+
|
24
|
+
# Offense count: 5
|
25
|
+
# Cop supports --auto-correct.
|
26
|
+
# Configuration parameters: AutoCorrect.
|
27
|
+
Performance/HashEachMethods:
|
28
|
+
Exclude:
|
29
|
+
- 'lib/jenkins_pipeline_builder/cli/list.rb'
|
30
|
+
- 'lib/jenkins_pipeline_builder/compiler.rb'
|
31
|
+
- 'lib/jenkins_pipeline_builder/extensions.rb'
|
32
|
+
- 'lib/jenkins_pipeline_builder/utils.rb'
|
33
|
+
|
34
|
+
# Offense count: 1
|
35
|
+
# Configuration parameters: MinBodyLength.
|
36
|
+
Style/GuardClause:
|
37
|
+
Exclude:
|
38
|
+
- 'lib/jenkins_pipeline_builder/pull_request_generator.rb'
|
39
|
+
|
40
|
+
# Offense count: 1
|
41
|
+
Style/MultipleComparison:
|
42
|
+
Exclude:
|
43
|
+
- 'lib/jenkins_pipeline_builder/extensions/publishers.rb'
|
44
|
+
|
45
|
+
# Offense count: 3
|
46
|
+
# Cop supports --auto-correct.
|
47
|
+
# Configuration parameters: AutoCorrect, EnforcedStyle.
|
48
|
+
# SupportedStyles: predicate, comparison
|
49
|
+
Style/NumericPredicate:
|
50
|
+
Exclude:
|
51
|
+
- 'spec/**/*'
|
52
|
+
- 'lib/jenkins_pipeline_builder/compiler.rb'
|
53
|
+
- 'lib/jenkins_pipeline_builder/module_registry.rb'
|
54
|
+
- 'lib/jenkins_pipeline_builder/remote_dependencies.rb'
|
55
|
+
|
56
|
+
Layout/EmptyLinesAroundArguments:
|
57
|
+
Exclude:
|
58
|
+
- 'lib/jenkins_pipeline_builder/extensions/triggers.rb'
|
59
|
+
|
data/Rakefile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'jenkins_pipeline_builder/version'
|
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = 'jenkins_pipeline_builder'
|
8
8
|
spec.version = JenkinsPipelineBuilder::VERSION
|
9
9
|
spec.authors = ['Igor Moochnick', 'Joseph Henrich']
|
10
|
-
spec.email = %w
|
10
|
+
spec.email = %w[igor.moochnick@gmail.com crimsonknave@gmail.com]
|
11
11
|
spec.description = 'This is a simple and easy-to-use Jenkins Pipeline generator with features focused on
|
12
12
|
automating Job & Pipeline creation from the YAML files checked-in with your application source code'
|
13
13
|
spec.summary = 'This gem is will boostrap your Jenkins pipelines'
|
@@ -21,27 +21,27 @@ automating Job & Pipeline creation from the YAML files checked-in with your appl
|
|
21
21
|
|
22
22
|
ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] = 'true'
|
23
23
|
|
24
|
-
spec.add_dependency '
|
24
|
+
spec.add_dependency 'activesupport', '~> 4.2.6'
|
25
25
|
spec.add_dependency 'jenkins_api_client', '~> 1.0.0'
|
26
|
+
spec.add_dependency 'minitar'
|
26
27
|
spec.add_dependency 'mixlib-shellout', '= 2.2.7' # maintaining backwards compatibility with ruby 2.1.5
|
28
|
+
spec.add_dependency 'nokogiri', '~> 1.6.0'
|
27
29
|
spec.add_dependency 'thor', '>= 0.18.0'
|
28
|
-
spec.add_dependency 'activesupport', '~> 4.2.6'
|
29
|
-
spec.add_dependency 'minitar'
|
30
30
|
|
31
|
-
spec.add_development_dependency 'rake'
|
32
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
33
31
|
spec.add_development_dependency 'bump'
|
34
|
-
spec.add_development_dependency 'json'
|
35
|
-
spec.add_development_dependency 'gem-release'
|
36
32
|
spec.add_development_dependency 'byebug'
|
37
|
-
spec.add_development_dependency 'simplecov'
|
38
|
-
spec.add_development_dependency 'simplecov-rcov'
|
39
|
-
spec.add_development_dependency 'kwalify'
|
40
33
|
spec.add_development_dependency 'equivalent-xml'
|
41
|
-
spec.add_development_dependency '
|
42
|
-
spec.add_development_dependency '
|
34
|
+
spec.add_development_dependency 'gem-release'
|
35
|
+
spec.add_development_dependency 'json'
|
36
|
+
spec.add_development_dependency 'kwalify'
|
43
37
|
spec.add_development_dependency 'pry'
|
38
|
+
spec.add_development_dependency 'rake'
|
39
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
44
40
|
spec.add_development_dependency 'rspec_junit_formatter'
|
41
|
+
spec.add_development_dependency 'rubocop'
|
42
|
+
spec.add_development_dependency 'simplecov'
|
43
|
+
spec.add_development_dependency 'simplecov-rcov'
|
45
44
|
spec.add_development_dependency 'webmock', '~> 1.0'
|
46
|
-
spec.add_development_dependency '
|
45
|
+
spec.add_development_dependency 'yard'
|
46
|
+
spec.add_development_dependency 'yard-thor'
|
47
47
|
end
|
@@ -38,7 +38,7 @@ module JenkinsPipelineBuilder
|
|
38
38
|
attr_accessor :jenkins_api_creds
|
39
39
|
end
|
40
40
|
|
41
|
-
DEFAULT_FILE_FORMATS = %w
|
41
|
+
DEFAULT_FILE_FORMATS = %w[rb json yml yaml].freeze
|
42
42
|
|
43
43
|
# Sets up the credentials and initializes the Jenkins Pipeline Builder
|
44
44
|
#
|
@@ -68,7 +68,7 @@ module JenkinsPipelineBuilder
|
|
68
68
|
else
|
69
69
|
msg = 'Credentials are not set. Please pass them as parameters or'
|
70
70
|
msg << ' set them in the default credentials file'
|
71
|
-
|
71
|
+
warn msg
|
72
72
|
exit 1
|
73
73
|
end
|
74
74
|
end
|
@@ -87,12 +87,12 @@ module JenkinsPipelineBuilder
|
|
87
87
|
self.jenkins_api_creds = {}.with_indifferent_access.merge options
|
88
88
|
if jenkins_api_creds[:server] =~ Resolv::AddressRegex
|
89
89
|
jenkins_api_creds[:server_ip] = jenkins_api_creds.delete :server
|
90
|
-
elsif jenkins_api_creds[:server] =~ URI.
|
90
|
+
elsif jenkins_api_creds[:server] =~ URI::DEFAULT_PARSER.make_regexp
|
91
91
|
jenkins_api_creds[:server_url] = jenkins_api_creds.delete :server
|
92
92
|
else
|
93
93
|
msg = "server given (#{jenkins_api_creds[:server]}) is neither a URL nor an IP."
|
94
94
|
msg << ' Please pass either a valid IP address or valid URI'
|
95
|
-
|
95
|
+
warn msg
|
96
96
|
exit 1
|
97
97
|
end
|
98
98
|
end
|
@@ -47,7 +47,7 @@ module JenkinsPipelineBuilder
|
|
47
47
|
def compile_job(item, settings = {})
|
48
48
|
new_item = compile(item, settings)
|
49
49
|
[true, new_item]
|
50
|
-
rescue => e
|
50
|
+
rescue StandardError => e
|
51
51
|
return [false, [e.message]]
|
52
52
|
end
|
53
53
|
|
@@ -70,9 +70,7 @@ module JenkinsPipelineBuilder
|
|
70
70
|
if enable_block_present? item
|
71
71
|
enabled_switch = resolve_value(item[:enabled], settings)
|
72
72
|
return {} if enabled_switch == 'false'
|
73
|
-
if enabled_switch != 'true'
|
74
|
-
raise "Invalid value for #{item[:enabled]}: #{enabled_switch}"
|
75
|
-
end
|
73
|
+
raise "Invalid value for #{item[:enabled]}: #{enabled_switch}" if enabled_switch != 'true'
|
76
74
|
if item[:parameters].is_a? Hash
|
77
75
|
item = item.merge item[:parameters]
|
78
76
|
item.delete :parameters
|
@@ -92,7 +90,7 @@ module JenkinsPipelineBuilder
|
|
92
90
|
|
93
91
|
def compile_string(item, settings)
|
94
92
|
resolve_value(item, settings)
|
95
|
-
rescue => e
|
93
|
+
rescue StandardError => e
|
96
94
|
raise "Failed to resolve #{item} because: #{e.message}"
|
97
95
|
end
|
98
96
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
module JenkinsPipelineBuilder
|
2
2
|
class ExtensionSet
|
3
|
-
SET_METHODS = [
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
SET_METHODS = %i[
|
4
|
+
name
|
5
|
+
plugin_id
|
6
|
+
jenkins_name
|
7
|
+
description
|
8
|
+
announced
|
9
|
+
type
|
10
10
|
].freeze
|
11
11
|
|
12
12
|
SET_METHODS.each do |method_name|
|
@@ -113,7 +113,7 @@ module JenkinsPipelineBuilder
|
|
113
113
|
yield block
|
114
114
|
end
|
115
115
|
|
116
|
-
[
|
116
|
+
%i[after before].each do |method_name|
|
117
117
|
define_method method_name do |version: '0', &block|
|
118
118
|
if @min_version
|
119
119
|
version = @min_version
|
@@ -59,10 +59,12 @@ module JenkinsPipelineBuilder
|
|
59
59
|
def execute(value, n_xml)
|
60
60
|
errors = check_parameters value
|
61
61
|
raise ArgumentError, errors.join("\n") if errors.any?
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
62
|
+
unless path
|
63
|
+
raise ArgumentError, %(Extension #{name} has no valid path
|
64
|
+
Check ModuleRegistry#entries and the definition of the extension
|
65
|
+
Note: job_attributes have no implicit path and must be set in the builder
|
66
|
+
).squeeze(' ')
|
67
|
+
end
|
66
68
|
|
67
69
|
n_builders = n_xml.xpath(path).first
|
68
70
|
n_builders.instance_exec(value, &before) if before
|
@@ -54,27 +54,29 @@ build_step do
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
else
|
57
|
-
configs(class: 'empty-list')
|
57
|
+
configs(class: 'empty-list'){}
|
58
58
|
end
|
59
59
|
|
60
60
|
projects state[:name]
|
61
61
|
condition 'ALWAYS'
|
62
62
|
triggerWithNoParameters false
|
63
63
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
64
|
+
if state.block_condition?
|
65
|
+
block do
|
66
|
+
buildStepFailureThreshold do
|
67
|
+
state.generate_for_threshold(self,
|
68
|
+
state.resolve_block_condition(:build_step_failure_threshold) || :failure)
|
69
|
+
end
|
70
|
+
unstableThreshold do
|
71
|
+
state.generate_for_threshold(self,
|
72
|
+
state.resolve_block_condition(:unstable_threshold) || :unstable)
|
73
|
+
end
|
74
|
+
failureThreshold do
|
75
|
+
state.generate_for_threshold(self,
|
76
|
+
state.resolve_block_condition(:failure_threshold) || :failure)
|
77
|
+
end
|
76
78
|
end
|
77
|
-
end
|
79
|
+
end
|
78
80
|
|
79
81
|
buildAllNodesWithLabel false
|
80
82
|
end
|
@@ -117,11 +117,11 @@ builder do
|
|
117
117
|
description 'Jenkins plugin for building Maven 2/3 jobs via a special project type.'
|
118
118
|
jenkins_name 'Invoke Maven 3'
|
119
119
|
announced false
|
120
|
-
parameters [
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
120
|
+
parameters %i[
|
121
|
+
mavenName
|
122
|
+
rootPom
|
123
|
+
goals
|
124
|
+
options
|
125
125
|
]
|
126
126
|
|
127
127
|
xml do |helper|
|
@@ -170,13 +170,13 @@ builder do
|
|
170
170
|
description 'This plugin lets you trigger new builds when your build has completed, with various ways of specifying parameters for the new build.'
|
171
171
|
jenkins_name 'Trigger/call builds on other projects'
|
172
172
|
announced false
|
173
|
-
parameters [
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
173
|
+
parameters %i[
|
174
|
+
data
|
175
|
+
project
|
176
|
+
trigger_with_no_parameters
|
177
|
+
fail
|
178
|
+
mark_fail
|
179
|
+
mark_unstable
|
180
180
|
]
|
181
181
|
|
182
182
|
xml do |helper|
|
@@ -359,13 +359,17 @@ builder do
|
|
359
359
|
raise 'Configuration invalid. At least one of \'script\' and \'file\' keys must be specified'
|
360
360
|
end
|
361
361
|
|
362
|
-
|
363
|
-
|
364
|
-
|
362
|
+
if params.key? :script
|
363
|
+
scriptSource('class' => 'hudson.plugins.groovy.StringScriptSource') do
|
364
|
+
command params[:script]
|
365
|
+
end
|
366
|
+
end
|
365
367
|
|
366
|
-
|
367
|
-
|
368
|
-
|
368
|
+
if params.key? :file
|
369
|
+
scriptSource('class' => 'hudson.plugins.groovy.FileScriptSource') do
|
370
|
+
scriptFile params[:file]
|
371
|
+
end
|
372
|
+
end
|
369
373
|
|
370
374
|
bindings params[:bindings]
|
371
375
|
classpath params[:classpath]
|
@@ -394,27 +398,27 @@ builder do
|
|
394
398
|
description 'Jenkins plugin for checkmarx security audit'
|
395
399
|
jenkins_name 'Trigger a checkmarx security audit of your build'
|
396
400
|
announced false
|
397
|
-
parameters [
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
401
|
+
parameters %i[
|
402
|
+
serverUrl
|
403
|
+
useOwnServerCredentials
|
404
|
+
username
|
405
|
+
password
|
406
|
+
incremental
|
407
|
+
isThisBuildIncremental
|
408
|
+
projectName
|
409
|
+
groupId
|
410
|
+
skipSCMTriggers
|
411
|
+
waitForResultsEnabled
|
412
|
+
vulnerabilityThresholdEnabled
|
413
|
+
highThreshold
|
414
|
+
mediumThreshold
|
415
|
+
lowThreshold
|
416
|
+
preset
|
417
|
+
presetSpecified
|
418
|
+
generatePdfReport
|
419
|
+
excludeFolders
|
420
|
+
fullScansScheduled
|
421
|
+
filterPattern
|
418
422
|
]
|
419
423
|
|
420
424
|
xml do |params|
|
@@ -450,13 +454,13 @@ builder do
|
|
450
454
|
description 'The plugin allows you to trigger SonarQube analysis from Jenkins using a Post-build action to trigger the analysis with MavenQuickly benefit from Sonar, the open source platform for Continuous Inspection of code quality.'
|
451
455
|
jenkins_name 'SonarQube Plugin'
|
452
456
|
announced false
|
453
|
-
parameters [
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
457
|
+
parameters %i[
|
458
|
+
sonarInstallation
|
459
|
+
taskToRun
|
460
|
+
jdk
|
461
|
+
pathToProjectProperties
|
462
|
+
projectProperties
|
463
|
+
jvmOptions
|
460
464
|
]
|
461
465
|
|
462
466
|
xml do |params|
|
@@ -130,17 +130,17 @@ job_attribute do
|
|
130
130
|
announced false
|
131
131
|
|
132
132
|
version '0' do
|
133
|
-
parameters [
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
133
|
+
parameters %i[
|
134
|
+
remote_name
|
135
|
+
refspec
|
136
|
+
local_branch
|
137
|
+
recursive_update
|
138
|
+
wipe_workspace
|
139
|
+
excluded_users
|
140
|
+
skip_tag
|
141
|
+
remote_url
|
142
|
+
excluded_regions
|
143
|
+
included_regions
|
144
144
|
]
|
145
145
|
|
146
146
|
# XML preprocessing
|
@@ -183,19 +183,19 @@ job_attribute do
|
|
183
183
|
end
|
184
184
|
|
185
185
|
version '2.0' do
|
186
|
-
parameters [
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
186
|
+
parameters %i[
|
187
|
+
changelog_to_branch
|
188
|
+
credentials_id
|
189
|
+
excluded_regions
|
190
|
+
excluded_users
|
191
|
+
included_regions
|
192
|
+
local_branch
|
193
|
+
recursive_update
|
194
|
+
refspec
|
195
|
+
remote_name
|
196
|
+
remote_url
|
197
|
+
skip_tag
|
198
|
+
wipe_workspace
|
199
199
|
]
|
200
200
|
|
201
201
|
before do |params|
|
@@ -408,7 +408,7 @@ job_attribute do
|
|
408
408
|
announced false
|
409
409
|
|
410
410
|
xml path: '//concurrentBuild' do |params|
|
411
|
-
|
411
|
+
params == true ? 'true' : 'false'
|
412
412
|
end
|
413
413
|
end
|
414
414
|
|
@@ -30,10 +30,10 @@ end
|
|
30
30
|
promotion_condition do
|
31
31
|
name :parameterized_self_promotion
|
32
32
|
plugin_id 'promoted-builds'
|
33
|
-
parameters [
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
parameters %i[
|
34
|
+
parameter_name
|
35
|
+
parameter_value
|
36
|
+
even_if_unstable
|
37
37
|
]
|
38
38
|
|
39
39
|
xml do |params|
|
@@ -50,9 +50,9 @@ end
|
|
50
50
|
promotion_condition do
|
51
51
|
name :downstream_pass
|
52
52
|
plugin_id 'promoted-builds'
|
53
|
-
parameters [
|
54
|
-
|
55
|
-
|
53
|
+
parameters %i[
|
54
|
+
jobs
|
55
|
+
even_if_unstable
|
56
56
|
]
|
57
57
|
|
58
58
|
xml do |params|
|
@@ -294,11 +294,9 @@ publisher do
|
|
294
294
|
groovyScript params[:groovy_script]
|
295
295
|
behavior params[:behavior] || '0'
|
296
296
|
runFormMatrixParent 'false'
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
path path[:path] || '/'
|
301
|
-
end
|
297
|
+
params[:additional_classpaths] && params[:additional_classpaths].each do |path|
|
298
|
+
send('org.jvnet.hudson.plugins.groovypostbuild.GroovyScriptPath') do
|
299
|
+
path path[:path] || '/'
|
302
300
|
end
|
303
301
|
end
|
304
302
|
end
|
@@ -543,16 +541,14 @@ publisher do
|
|
543
541
|
xml do |params|
|
544
542
|
send('htmlpublisher.HtmlPublisher', 'plugin' => 'htmlpublisher') do
|
545
543
|
send('reportTargets') do
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
wrapperName 'htmlpublisher-wrapper.html'
|
555
|
-
end
|
544
|
+
params[:report_targets] && params[:report_targets].each do |target|
|
545
|
+
send('htmlpublisher.HtmlPublisherTarget') do
|
546
|
+
reportName target[:report_title] || 'HTML Report'
|
547
|
+
reportDir target[:report_dir] || ''
|
548
|
+
reportFiles target[:index_pages] || 'index.html'
|
549
|
+
keepAll target[:keep_past] || false
|
550
|
+
allowMissing target[:allow_missing] || false
|
551
|
+
wrapperName 'htmlpublisher-wrapper.html'
|
556
552
|
end
|
557
553
|
end
|
558
554
|
end
|
@@ -592,15 +588,13 @@ publisher do
|
|
592
588
|
xml do |params|
|
593
589
|
send('xunit', 'plugin' => 'xunit') do
|
594
590
|
send('types') do
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
stopProcessingIfError type[:stop_processing_error] || true
|
603
|
-
end
|
591
|
+
params[:types] && params[:types].each do |type|
|
592
|
+
send(type[:type]) do
|
593
|
+
pattern type[:pattern]
|
594
|
+
skipNoTestFiles type[:skip_no_test_files] || false
|
595
|
+
failIfNotNew type[:fail_if_not_new] || true
|
596
|
+
deleteOutputFiles type[:delete_output_files] || true
|
597
|
+
stopProcessingIfError type[:stop_processing_error] || true
|
604
598
|
end
|
605
599
|
end
|
606
600
|
end
|
@@ -682,3 +676,21 @@ publisher do
|
|
682
676
|
end
|
683
677
|
end
|
684
678
|
end
|
679
|
+
|
680
|
+
publisher do
|
681
|
+
name :github_pr_coverage_status_reporter
|
682
|
+
plugin_id 'github-pr-coverage-status'
|
683
|
+
description 'Code coverage icon for GitHub pull requests'
|
684
|
+
jenkins_name 'GitHub Pull Request Coverage Status'
|
685
|
+
announced false
|
686
|
+
|
687
|
+
xml do |action|
|
688
|
+
if action == 'compare'
|
689
|
+
send('com.github.terma.jenkins.githubprcoveragestatus.CompareCoverageAction')
|
690
|
+
elsif action == 'master'
|
691
|
+
send('com.github.terma.jenkins.githubprcoveragestatus.MasterCoverageAction')
|
692
|
+
else
|
693
|
+
raise 'Invalid plugin configuration. github_pr_coverage_status_reporter value must be "compare" or "master"'
|
694
|
+
end
|
695
|
+
end
|
696
|
+
end
|
@@ -26,7 +26,7 @@ wrapper do
|
|
26
26
|
announced false
|
27
27
|
jenkins_name 'Color ANSI Console Output'
|
28
28
|
description 'This plugin adds support for ANSI escape sequences, including color, to Console Output.'
|
29
|
-
|
29
|
+
|
30
30
|
xml do |_|
|
31
31
|
send('hudson.plugins.ansicolor.AnsiColorBuildWrapper') do
|
32
32
|
colorMapName 'xterm'
|
@@ -131,7 +131,7 @@ module JenkinsPipelineBuilder
|
|
131
131
|
errors = {}
|
132
132
|
project_body = project[:value]
|
133
133
|
|
134
|
-
%i
|
134
|
+
%i[jobs views promotions].each do |key|
|
135
135
|
next unless project_body[key]
|
136
136
|
|
137
137
|
Utils.symbolize_with_empty_hash!(project_body[key])
|
@@ -193,9 +193,7 @@ module JenkinsPipelineBuilder
|
|
193
193
|
|
194
194
|
errors = publish_jobs(compiled_project[:value][:jobs])
|
195
195
|
|
196
|
-
if compiled_project[:value][:views]
|
197
|
-
publish_views(compiled_project[:value][:views])
|
198
|
-
end
|
196
|
+
publish_views(compiled_project[:value][:views]) if compiled_project[:value][:views]
|
199
197
|
|
200
198
|
if compiled_project[:value][:promotions]
|
201
199
|
publish_promotions(compiled_project[:value][:promotions], compiled_project[:value][:jobs])
|
@@ -212,9 +210,10 @@ module JenkinsPipelineBuilder
|
|
212
210
|
# Converts a list of jobs that might have a list of promoted_builds to
|
213
211
|
# A hash of promoted_builds names => associated job names
|
214
212
|
promotion_job_pairs = jobs.each_with_object({}) do |j, acc|
|
213
|
+
next unless j[:result][:promoted_builds]
|
215
214
|
j[:result][:promoted_builds].each do |promotion_name|
|
216
215
|
acc[promotion_name] = j[:result][:name]
|
217
|
-
end
|
216
|
+
end
|
218
217
|
end
|
219
218
|
|
220
219
|
promotions.each do |promotion|
|
@@ -39,7 +39,7 @@ module JenkinsPipelineBuilder
|
|
39
39
|
|
40
40
|
private
|
41
41
|
|
42
|
-
[
|
42
|
+
%i[free_style pull_request_generator].each do |method_name|
|
43
43
|
define_method "update_#{method_name}" do
|
44
44
|
@xml
|
45
45
|
end
|
@@ -50,7 +50,7 @@ module JenkinsPipelineBuilder
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def job_methods
|
53
|
-
%w
|
53
|
+
%w[job_dsl multi_project build_flow free_style pull_request_generator]
|
54
54
|
end
|
55
55
|
|
56
56
|
def local_output(xml)
|
@@ -89,10 +89,12 @@ module JenkinsPipelineBuilder
|
|
89
89
|
return
|
90
90
|
end
|
91
91
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
92
|
+
unless value.is_a? Hash
|
93
|
+
raise TypeError, %(Expected Hash received #{value.class}.
|
94
|
+
Verify that the pipeline section is made up of a single {key: Hash/Object} pair
|
95
|
+
See the definition for:
|
96
|
+
\t#{section}).squeeze(' ')
|
97
|
+
end
|
96
98
|
|
97
99
|
name = value[:name]
|
98
100
|
process_collection! name, key, value, remote
|
@@ -52,8 +52,10 @@ module JenkinsPipelineBuilder
|
|
52
52
|
job[:scm_params] ||= {}
|
53
53
|
job[:scm_params][:refspec] = "refs/pull/#{pr}/head:refs/remotes/origin/pr/#{pr}/head"
|
54
54
|
job[:scm_params][:changelog_to_branch] ||= {}
|
55
|
-
|
56
|
-
|
55
|
+
if Gem::Version.new(2.0) < git_version
|
56
|
+
job[:scm_params][:changelog_to_branch]
|
57
|
+
.merge!(remote: 'origin', branch: "pr/#{pr}/head")
|
58
|
+
end
|
57
59
|
end
|
58
60
|
|
59
61
|
def active_prs(git_url, git_org, git_repo)
|
@@ -77,9 +77,7 @@ module JenkinsPipelineBuilder
|
|
77
77
|
else
|
78
78
|
path = File.join(path, template[:name]) unless template[:name] == 'default'
|
79
79
|
# If we are looking for the newest version or no version was set
|
80
|
-
if use_newest_version? template, path
|
81
|
-
template[:version] = highest_template_version path
|
82
|
-
end
|
80
|
+
template[:version] = highest_template_version path if use_newest_version? template, path
|
83
81
|
path = File.join(path, template[:version]) unless template[:version].nil?
|
84
82
|
path = File.join(path, 'pipeline')
|
85
83
|
end
|
@@ -43,7 +43,7 @@ describe JenkinsPipelineBuilder::CLI::Helper do
|
|
43
43
|
|
44
44
|
it 'should puts an error to stdout and exit if server is invalid' do
|
45
45
|
options[:server] = 'not_valid_at_all'
|
46
|
-
expect(
|
46
|
+
expect(described_class).to receive(:warn).with(/server given \(not_valid_at_all\)/)
|
47
47
|
expect { described_class.setup(options) }.to raise_error(SystemExit, 'exit')
|
48
48
|
end
|
49
49
|
end
|
@@ -99,7 +99,7 @@ describe JenkinsPipelineBuilder::CLI::Helper do
|
|
99
99
|
|
100
100
|
it 'should puts and error to stdout and exit if no credentials are passed' do
|
101
101
|
allow(File).to receive(:exist?).and_return(false)
|
102
|
-
expect(
|
102
|
+
expect(described_class).to receive(:warn).with(/Credentials are not set/)
|
103
103
|
expect { described_class.setup({}) }.to raise_error(SystemExit, 'exit')
|
104
104
|
end
|
105
105
|
end
|
@@ -123,10 +123,10 @@ describe JenkinsPipelineBuilder::CLI::Helper do
|
|
123
123
|
it "loads a default file ending in .#{suffix}" do
|
124
124
|
file_suffixes.each do |ending|
|
125
125
|
expect(File).to receive(:exist?).with("#{default_creds_base}.#{ending}")
|
126
|
-
|
126
|
+
.and_return ending == suffix
|
127
127
|
end
|
128
128
|
expect(File).to receive(:expand_path).with("#{default_creds_base}.#{suffix}")
|
129
|
-
|
129
|
+
.and_return "#{creds_file_base}.#{suffix}"
|
130
130
|
|
131
131
|
described_class.setup({})
|
132
132
|
end
|
@@ -140,7 +140,7 @@ describe JenkinsPipelineBuilder::CLI::Helper do
|
|
140
140
|
# Stub the existence of the used and extraneous 'found' files
|
141
141
|
file_suffixes.each do |suffix|
|
142
142
|
expect(File).to receive(:exist?).with("#{default_creds_base}.#{suffix}")
|
143
|
-
|
143
|
+
.and_return suffix == used_suffix || suffix == found_suffix
|
144
144
|
end
|
145
145
|
expect(JenkinsPipelineBuilder.logger).to receive(:warn)
|
146
146
|
.with(/'#{default_creds_base}\.#{used_suffix}' but '#{default_creds_base}\.#{found_suffix}' found\./)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path('../spec_helper', __FILE__)
|
2
2
|
|
3
3
|
describe JenkinsPipelineBuilder::ExtensionSet do
|
4
|
-
subject(:set) { JenkinsPipelineBuilder::ExtensionSet.new('foo')
|
4
|
+
subject(:set) { JenkinsPipelineBuilder::ExtensionSet.new('foo'){} }
|
5
5
|
|
6
6
|
before :each do
|
7
7
|
set.name 'example'
|
@@ -87,7 +87,7 @@ describe 'job_attributes' do
|
|
87
87
|
|
88
88
|
context 'choice parameter' do
|
89
89
|
let(:params) do
|
90
|
-
{ parameters: [{ type: 'choice', values: [
|
90
|
+
{ parameters: [{ type: 'choice', values: %i[foo bar], name: :foo, description: :desc, default: :default }] }
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'generates correct config' do
|
@@ -39,6 +39,10 @@ describe 'wrappers' do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'fails parameters are passed' do
|
42
|
+
# This test is pending because the ansicolor wrapper has a property `parameters false` which is intended to
|
43
|
+
# indicate that the plugin does not take any parameters. This does not work as expected, however, after
|
44
|
+
# updating code to meet updated Rubocop standards
|
45
|
+
pending
|
42
46
|
params = { wrappers: { ansicolor: { config: false } } }
|
43
47
|
expect do
|
44
48
|
JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
|
@@ -252,7 +252,7 @@ describe JenkinsPipelineBuilder::Generator do
|
|
252
252
|
describe '#projects' do
|
253
253
|
it 'returns a list of projects' do
|
254
254
|
path = File.expand_path('../fixtures/generator_tests/multi_project', __FILE__)
|
255
|
-
expect(@generator.projects(path)).to eq %w
|
255
|
+
expect(@generator.projects(path)).to eq %w[SamplePipeline1 SamplePipeline2 SamplePipeline3]
|
256
256
|
end
|
257
257
|
end
|
258
258
|
|
@@ -97,7 +97,7 @@ describe JenkinsPipelineBuilder::ModuleRegistry do
|
|
97
97
|
end
|
98
98
|
|
99
99
|
it 'calls the xml block when executing the item' do
|
100
|
-
@ext.xml ->
|
100
|
+
@ext.xml ->(_) { raise XmlException, 'foo' }
|
101
101
|
|
102
102
|
expect do
|
103
103
|
JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
|
@@ -105,7 +105,7 @@ describe JenkinsPipelineBuilder::ModuleRegistry do
|
|
105
105
|
end
|
106
106
|
|
107
107
|
it 'calls the before block' do
|
108
|
-
@ext.before ->
|
108
|
+
@ext.before ->(_) { raise BeforeException, 'foo' }
|
109
109
|
|
110
110
|
expect do
|
111
111
|
JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
|
@@ -113,7 +113,7 @@ describe JenkinsPipelineBuilder::ModuleRegistry do
|
|
113
113
|
end
|
114
114
|
|
115
115
|
it 'calls the after block' do
|
116
|
-
@ext.after ->
|
116
|
+
@ext.after ->(_) { raise AfterException, 'foo' }
|
117
117
|
|
118
118
|
expect do
|
119
119
|
JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jenkins_pipeline_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Moochnick
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-12-
|
12
|
+
date: 2017-12-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 4.2.6
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 4.2.6
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: jenkins_api_client
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,63 +40,63 @@ dependencies:
|
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: 1.0.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: minitar
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: '0'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: '0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: mixlib-shellout
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - '='
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: 2.2.7
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - '='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: 2.2.7
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: nokogiri
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
76
|
+
version: 1.6.0
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
83
|
+
version: 1.6.0
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
85
|
+
name: thor
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
90
|
+
version: 0.18.0
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
97
|
+
version: 0.18.0
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
99
|
+
name: bump
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - ">="
|
@@ -110,21 +110,7 @@ dependencies:
|
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - "~>"
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '3.0'
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - "~>"
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '3.0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: bump
|
113
|
+
name: byebug
|
128
114
|
requirement: !ruby/object:Gem::Requirement
|
129
115
|
requirements:
|
130
116
|
- - ">="
|
@@ -138,7 +124,7 @@ dependencies:
|
|
138
124
|
- !ruby/object:Gem::Version
|
139
125
|
version: '0'
|
140
126
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
127
|
+
name: equivalent-xml
|
142
128
|
requirement: !ruby/object:Gem::Requirement
|
143
129
|
requirements:
|
144
130
|
- - ">="
|
@@ -166,7 +152,7 @@ dependencies:
|
|
166
152
|
- !ruby/object:Gem::Version
|
167
153
|
version: '0'
|
168
154
|
- !ruby/object:Gem::Dependency
|
169
|
-
name:
|
155
|
+
name: json
|
170
156
|
requirement: !ruby/object:Gem::Requirement
|
171
157
|
requirements:
|
172
158
|
- - ">="
|
@@ -180,7 +166,7 @@ dependencies:
|
|
180
166
|
- !ruby/object:Gem::Version
|
181
167
|
version: '0'
|
182
168
|
- !ruby/object:Gem::Dependency
|
183
|
-
name:
|
169
|
+
name: kwalify
|
184
170
|
requirement: !ruby/object:Gem::Requirement
|
185
171
|
requirements:
|
186
172
|
- - ">="
|
@@ -194,7 +180,7 @@ dependencies:
|
|
194
180
|
- !ruby/object:Gem::Version
|
195
181
|
version: '0'
|
196
182
|
- !ruby/object:Gem::Dependency
|
197
|
-
name:
|
183
|
+
name: pry
|
198
184
|
requirement: !ruby/object:Gem::Requirement
|
199
185
|
requirements:
|
200
186
|
- - ">="
|
@@ -208,7 +194,7 @@ dependencies:
|
|
208
194
|
- !ruby/object:Gem::Version
|
209
195
|
version: '0'
|
210
196
|
- !ruby/object:Gem::Dependency
|
211
|
-
name:
|
197
|
+
name: rake
|
212
198
|
requirement: !ruby/object:Gem::Requirement
|
213
199
|
requirements:
|
214
200
|
- - ">="
|
@@ -222,21 +208,21 @@ dependencies:
|
|
222
208
|
- !ruby/object:Gem::Version
|
223
209
|
version: '0'
|
224
210
|
- !ruby/object:Gem::Dependency
|
225
|
-
name:
|
211
|
+
name: rspec
|
226
212
|
requirement: !ruby/object:Gem::Requirement
|
227
213
|
requirements:
|
228
|
-
- - "
|
214
|
+
- - "~>"
|
229
215
|
- !ruby/object:Gem::Version
|
230
|
-
version: '0'
|
216
|
+
version: '3.0'
|
231
217
|
type: :development
|
232
218
|
prerelease: false
|
233
219
|
version_requirements: !ruby/object:Gem::Requirement
|
234
220
|
requirements:
|
235
|
-
- - "
|
221
|
+
- - "~>"
|
236
222
|
- !ruby/object:Gem::Version
|
237
|
-
version: '0'
|
223
|
+
version: '3.0'
|
238
224
|
- !ruby/object:Gem::Dependency
|
239
|
-
name:
|
225
|
+
name: rspec_junit_formatter
|
240
226
|
requirement: !ruby/object:Gem::Requirement
|
241
227
|
requirements:
|
242
228
|
- - ">="
|
@@ -250,7 +236,7 @@ dependencies:
|
|
250
236
|
- !ruby/object:Gem::Version
|
251
237
|
version: '0'
|
252
238
|
- !ruby/object:Gem::Dependency
|
253
|
-
name:
|
239
|
+
name: rubocop
|
254
240
|
requirement: !ruby/object:Gem::Requirement
|
255
241
|
requirements:
|
256
242
|
- - ">="
|
@@ -264,7 +250,7 @@ dependencies:
|
|
264
250
|
- !ruby/object:Gem::Version
|
265
251
|
version: '0'
|
266
252
|
- !ruby/object:Gem::Dependency
|
267
|
-
name:
|
253
|
+
name: simplecov
|
268
254
|
requirement: !ruby/object:Gem::Requirement
|
269
255
|
requirements:
|
270
256
|
- - ">="
|
@@ -278,7 +264,7 @@ dependencies:
|
|
278
264
|
- !ruby/object:Gem::Version
|
279
265
|
version: '0'
|
280
266
|
- !ruby/object:Gem::Dependency
|
281
|
-
name:
|
267
|
+
name: simplecov-rcov
|
282
268
|
requirement: !ruby/object:Gem::Requirement
|
283
269
|
requirements:
|
284
270
|
- - ">="
|
@@ -306,19 +292,33 @@ dependencies:
|
|
306
292
|
- !ruby/object:Gem::Version
|
307
293
|
version: '1.0'
|
308
294
|
- !ruby/object:Gem::Dependency
|
309
|
-
name:
|
295
|
+
name: yard
|
310
296
|
requirement: !ruby/object:Gem::Requirement
|
311
297
|
requirements:
|
312
|
-
- -
|
298
|
+
- - ">="
|
313
299
|
- !ruby/object:Gem::Version
|
314
|
-
version: 0
|
300
|
+
version: '0'
|
315
301
|
type: :development
|
316
302
|
prerelease: false
|
317
303
|
version_requirements: !ruby/object:Gem::Requirement
|
318
304
|
requirements:
|
319
|
-
- -
|
305
|
+
- - ">="
|
306
|
+
- !ruby/object:Gem::Version
|
307
|
+
version: '0'
|
308
|
+
- !ruby/object:Gem::Dependency
|
309
|
+
name: yard-thor
|
310
|
+
requirement: !ruby/object:Gem::Requirement
|
311
|
+
requirements:
|
312
|
+
- - ">="
|
320
313
|
- !ruby/object:Gem::Version
|
321
|
-
version: 0
|
314
|
+
version: '0'
|
315
|
+
type: :development
|
316
|
+
prerelease: false
|
317
|
+
version_requirements: !ruby/object:Gem::Requirement
|
318
|
+
requirements:
|
319
|
+
- - ">="
|
320
|
+
- !ruby/object:Gem::Version
|
321
|
+
version: '0'
|
322
322
|
description: |-
|
323
323
|
This is a simple and easy-to-use Jenkins Pipeline generator with features focused on
|
324
324
|
automating Job & Pipeline creation from the YAML files checked-in with your application source code
|
@@ -334,6 +334,7 @@ files:
|
|
334
334
|
- ".gitignore"
|
335
335
|
- ".rspec"
|
336
336
|
- ".rubocop.yml"
|
337
|
+
- ".rubocop_todo.yml"
|
337
338
|
- ".ruby-gemset"
|
338
339
|
- ".ruby-version"
|
339
340
|
- ".simplecov"
|