jenkins_pipeline_builder 1.9.0 → 1.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 699fc75c52077b21b3605886db6c2f86875d0f3450b47cd328d65b1b03f17a8e
4
- data.tar.gz: d3b3f3297bf7db62ba36b54f135c10d8b89b0944356c7fce8f7c2ea0a2c95db5
3
+ metadata.gz: 87a9576e5619c1b5f897d41be693ca14caa9ffdbe9f49e8b1b94c623e03a7ae0
4
+ data.tar.gz: 78cf57dd67b78112906402f21ffdc4ed503ff5d97810f265dade01dc9f94c405
5
5
  SHA512:
6
- metadata.gz: 1bf713e4afde2e501a4d799232424f58e14b87cfeb139da16ad8590c1e964b3af59143aa4e5acd473481f587fbc54ac49a17bc613a45813ed8479d2778efed34
7
- data.tar.gz: 882c2a069fdbb8dcb102237b23c6eb211bdffec37c86b9bbd88c99cd692888ddc1c30459a2bfb60b1217c16ac80b31e81abbc876a006ea9d47aa2e74db88579b
6
+ metadata.gz: 3988410416f186c7a0296d737d83a4d52858fff7eeae45860490cd569ad6e95ade748981b53f9c7ab97eab993005dc1b0cbcdd7a68922532f19dc213ea3f674d
7
+ data.tar.gz: afa5ff7d3301d5b423c0fa7162e131cf40bdfe1a0c77cbc8ba8e592ed2bb8bfac52af44347ea8f4251a94a0f397a2ba38bf72a455911e582d58b5df5130fdd9b
data/.rubocop.yml CHANGED
@@ -15,7 +15,7 @@ Metrics/ClassLength:
15
15
  #######
16
16
  # Finalized settings
17
17
 
18
- Metrics/LineLength:
18
+ Layout/LineLength:
19
19
  Max: 120
20
20
  Exclude:
21
21
  - 'spec/lib/jenkins_pipeline_builder/compiler_spec.rb'
@@ -32,7 +32,7 @@ Style/Next:
32
32
  - 'lib/jenkins_pipeline_builder/extensions/**/*'
33
33
 
34
34
  # Configuration parameters: EnforcedStyle, SupportedStyles.
35
- Style/VariableName:
35
+ Naming/VariableName:
36
36
  Exclude:
37
37
  - 'lib/jenkins_pipeline_builder/extensions/**/*'
38
38
 
@@ -43,4 +43,20 @@ Style/FrozenStringLiteralComment:
43
43
  Enabled: false
44
44
 
45
45
  Style/SafeNavigation:
46
- Enabled: false
46
+ Enabled: false
47
+
48
+ Lint/RaiseException:
49
+ Enabled: true
50
+
51
+ Lint/StructNewOverride:
52
+ Enabled: true
53
+
54
+ Style/HashEachMethods:
55
+ Enabled: true
56
+
57
+ Style/HashTransformKeys:
58
+ Enabled: true
59
+
60
+ Style/HashTransformValues:
61
+ Enabled: true
62
+
data/Dockerfile ADDED
@@ -0,0 +1,30 @@
1
+ FROM centos:centos7
2
+
3
+ ENV RUBY_DIR /ruby
4
+ ENV RUBY_VERSION 2.3.3
5
+ ENV RUBY_INSTALL $RUBY_DIR/$RUBY_VERSION
6
+ ENV BUNDLER_VERSION 1.13.3
7
+
8
+ RUN yum update -y && \
9
+ yum install -y make gcc-c++ which wget tar git mysql-devel \
10
+ gcc patch readline-devel zlib-devel \
11
+ libyaml-devel libffi-devel openssl-devel \
12
+ gdbm-devel ncurses-devel libxml-devel bzip2 libxml2-devel
13
+
14
+ RUN cd /usr/src && \
15
+ git clone https://github.com/rbenv/ruby-build.git && \
16
+ ./ruby-build/install.sh && \
17
+ mkdir -p $RUBY_INSTALL && \
18
+ /usr/local/bin/ruby-build $RUBY_VERSION $RUBY_INSTALL && \
19
+ $RUBY_INSTALL/bin/gem install bundler -v $BUNDLER_VERSION && \
20
+ rm -rf /usr/src/ruby-build
21
+
22
+ ENV PATH $RUBY_INSTALL/bin:$PATH
23
+
24
+ WORKDIR /src
25
+
26
+ RUN gem install jenkins_pipeline_builder
27
+
28
+ RUN mkdir -p /srv
29
+ WORKDIR /srv
30
+ ENTRYPOINT ["/bin/bash", "-l" ]
@@ -18,8 +18,6 @@ automating Job & Pipeline creation from the YAML files checked-in with your appl
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] = 'true'
22
-
23
21
  spec.add_dependency 'activesupport', '~> 4.2.6'
24
22
  spec.add_dependency 'jenkins_api_client', '~> 1.0.0'
25
23
  spec.add_dependency 'minitar'
@@ -28,8 +26,8 @@ automating Job & Pipeline creation from the YAML files checked-in with your appl
28
26
  spec.add_dependency 'thor', '>= 0.18.0'
29
27
 
30
28
  spec.add_development_dependency 'bump'
31
- spec.add_development_dependency 'byebug'
32
- spec.add_development_dependency 'equivalent-xml'
29
+ spec.add_development_dependency 'byebug', '= 11.0.1' # last version with compatibility with ruby 2.3.x
30
+ spec.add_development_dependency 'equivalent-xml', '= 0.6.0' # last version with compatibility with ruby 2.3.x
33
31
  spec.add_development_dependency 'gem-release'
34
32
  spec.add_development_dependency 'json'
35
33
  spec.add_development_dependency 'kwalify'
@@ -37,8 +35,8 @@ automating Job & Pipeline creation from the YAML files checked-in with your appl
37
35
  spec.add_development_dependency 'rake'
38
36
  spec.add_development_dependency 'rspec', '~> 3.0'
39
37
  spec.add_development_dependency 'rspec_junit_formatter'
40
- spec.add_development_dependency 'rubocop'
41
- spec.add_development_dependency 'simplecov'
38
+ spec.add_development_dependency 'rubocop', '= 0.81' # last version with compatibility with ruby 2.3.x
39
+ spec.add_development_dependency 'simplecov', '= 0.17.1' # last version with compatibility with ruby 2.3.x
42
40
  spec.add_development_dependency 'simplecov-rcov'
43
41
  spec.add_development_dependency 'webmock', '~> 1.0'
44
42
  spec.add_development_dependency 'yard'
@@ -83,7 +83,7 @@ require 'jenkins_pipeline_builder/extensions'
83
83
  require 'jenkins_pipeline_builder/extension_dsl'
84
84
  require 'jenkins_pipeline_builder/extension_set'
85
85
  require 'jenkins_pipeline_builder/extensions/helpers/extension_helper'
86
- Dir[File.join(File.dirname(__FILE__), 'jenkins_pipeline_builder/extensions/helpers/**/*.rb')].each do |file|
86
+ Dir[File.join(File.dirname(__FILE__), 'jenkins_pipeline_builder/extensions/helpers/**/*.rb')].sort.each do |file|
87
87
  require file
88
88
  end
89
89
 
@@ -23,7 +23,7 @@
23
23
  module JenkinsPipelineBuilder
24
24
  module CLI
25
25
  class List < Thor
26
- JenkinsPipelineBuilder.registry.entries.keys.each do |entry|
26
+ JenkinsPipelineBuilder.registry.entries.each_key do |entry|
27
27
  desc entry, "List all #{entry}"
28
28
  define_method(entry) do
29
29
  entries = JenkinsPipelineBuilder.registry.registry[:job][entry]
@@ -34,7 +34,7 @@ module JenkinsPipelineBuilder
34
34
  bag = {}
35
35
  return unless item.is_a?(Hash)
36
36
 
37
- item.keys.each do |k|
37
+ item.each_key do |k|
38
38
  val = item[k]
39
39
  next unless val.is_a? String
40
40
 
@@ -37,7 +37,7 @@ module JenkinsPipelineBuilder
37
37
  parameters: []
38
38
  }.freeze
39
39
 
40
- EXT_METHODS.keys.each do |method_name|
40
+ EXT_METHODS.each_key do |method_name|
41
41
  define_method method_name do |value = nil|
42
42
  return instance_variable_get("@#{method_name}") if value.nil?
43
43
 
@@ -90,7 +90,7 @@ module JenkinsPipelineBuilder
90
90
 
91
91
  def errors
92
92
  errors = {}
93
- EXT_METHODS.keys.each do |name|
93
+ EXT_METHODS.each_key do |name|
94
94
  errors[name] = 'Must be set' if send(name).nil?
95
95
  end
96
96
  errors
@@ -1,5 +1,5 @@
1
1
  class ParametersHelper < ExtensionHelper
2
- # rubocop:disable CyclomaticComplexity
2
+ # rubocop:disable Metrics/CyclomaticComplexity
3
3
  def param_type(param)
4
4
  case param[:type]
5
5
  when 'string'
@@ -18,5 +18,5 @@ class ParametersHelper < ExtensionHelper
18
18
  'hudson.model.StringParameterDefinition'
19
19
  end
20
20
  end
21
- # rubocop:enable CyclomaticComplexity
21
+ # rubocop:enable Metrics/CyclomaticComplexity
22
22
  end
@@ -56,7 +56,6 @@ module JenkinsPipelineBuilder
56
56
  publish(project_name || job_collection.projects.first[:name])
57
57
  end
58
58
 
59
- # rubocop:disable Metrics/AbcSize
60
59
  def pull_request(path, project_name, base_branch_only = false)
61
60
  logger.info "Pull Request Generator Running from path #{path}"
62
61
  load_job_collection path unless job_collection.loaded?
@@ -73,7 +72,6 @@ module JenkinsPipelineBuilder
73
72
  end
74
73
  errors.empty?
75
74
  end
76
- # rubocop:enable Metrics/AbcSize
77
75
 
78
76
  def file(path, project_name)
79
77
  logger.info "Generating files from path #{path}"
@@ -75,8 +75,8 @@ module JenkinsPipelineBuilder
75
75
  hash.each do |section|
76
76
  load_section section, remote
77
77
  end
78
- rescue StandardError => err
79
- raise CustomErrors::ParseError.new err.message, path
78
+ rescue StandardError => e
79
+ raise CustomErrors::ParseError.new e.message, path
80
80
  end
81
81
 
82
82
  def load_section(section, remote)
@@ -122,7 +122,7 @@ module JenkinsPipelineBuilder
122
122
 
123
123
  logger.info "Loading extensions from folder #{path}"
124
124
  logger.info Dir.glob("#{path}/*.rb").inspect
125
- Dir.glob("#{path}/**/*.rb").each do |file|
125
+ Dir.glob("#{path}/**/*.rb").sort.each do |file|
126
126
  logger.info "Loaded #{file}"
127
127
  require file
128
128
  end
@@ -33,12 +33,16 @@ module JenkinsPipelineBuilder
33
33
  def self.symbolize_keys_deep!(to_symbolize)
34
34
  return unless to_symbolize.is_a?(Hash)
35
35
 
36
+ # This lint is disabled here because each_key requires that you not add or remove keys
37
+ # during iteration, which apparently this block does...
38
+ # rubocop:disable Style/HashEachMethods
36
39
  to_symbolize.keys.each do |k|
37
40
  ks = k.respond_to?(:to_sym) ? k.to_sym : k
38
41
  to_symbolize[ks] = to_symbolize.delete k # Preserve order even when k == ks
39
42
  symbolize_keys_deep! to_symbolize[ks] if to_symbolize[ks].is_a? Hash
40
43
  to_symbolize[ks].each { |item| symbolize_keys_deep!(item) } if to_symbolize[ks].is_a?(Array)
41
44
  end
45
+ # rubocop:enable Style/HashEachMethods
42
46
  end
43
47
 
44
48
  def self.symbolize_with_empty_hash!(array_of_maybe_str)
@@ -21,5 +21,5 @@
21
21
  #
22
22
 
23
23
  module JenkinsPipelineBuilder
24
- VERSION = '1.9.0'.freeze
24
+ VERSION = '1.9.1'.freeze
25
25
  end
@@ -329,9 +329,9 @@ describe 'builders' do
329
329
 
330
330
  begin
331
331
  JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
332
- rescue RuntimeError => boom
333
- puts "Caught error #{boom}"
334
- error = boom.to_s
332
+ rescue RuntimeError => e
333
+ puts "Caught error #{e}"
334
+ error = e.to_s
335
335
  end
336
336
  builder = @n_xml.root.children.first
337
337
  expect(builder.name).to match 'hudson.plugins.groovy.SystemGroovy'
@@ -407,8 +407,8 @@ describe 'builders' do
407
407
  )
408
408
  begin
409
409
  JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
410
- rescue RuntimeError => err
411
- puts 'Runtime Error: ' + err.to_s
410
+ rescue RuntimeError => e
411
+ puts 'Runtime Error: ' + e.to_s
412
412
  end
413
413
  builder = @n_xml.root.children.first
414
414
  expect(builder.name).to match 'jenkins.plugins.nodejs.NodeJsCommandInterpreter'
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.9.0
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Moochnick
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-01-18 00:00:00.000000000 Z
12
+ date: 2020-05-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -113,30 +113,30 @@ dependencies:
113
113
  name: byebug
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ">="
116
+ - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: '0'
118
+ version: 11.0.1
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">="
123
+ - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: 11.0.1
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: equivalent-xml
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - ">="
130
+ - - '='
131
131
  - !ruby/object:Gem::Version
132
- version: '0'
132
+ version: 0.6.0
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ">="
137
+ - - '='
138
138
  - !ruby/object:Gem::Version
139
- version: '0'
139
+ version: 0.6.0
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: gem-release
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -239,30 +239,30 @@ dependencies:
239
239
  name: rubocop
240
240
  requirement: !ruby/object:Gem::Requirement
241
241
  requirements:
242
- - - ">="
242
+ - - '='
243
243
  - !ruby/object:Gem::Version
244
- version: '0'
244
+ version: '0.81'
245
245
  type: :development
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
- - - ">="
249
+ - - '='
250
250
  - !ruby/object:Gem::Version
251
- version: '0'
251
+ version: '0.81'
252
252
  - !ruby/object:Gem::Dependency
253
253
  name: simplecov
254
254
  requirement: !ruby/object:Gem::Requirement
255
255
  requirements:
256
- - - ">="
256
+ - - '='
257
257
  - !ruby/object:Gem::Version
258
- version: '0'
258
+ version: 0.17.1
259
259
  type: :development
260
260
  prerelease: false
261
261
  version_requirements: !ruby/object:Gem::Requirement
262
262
  requirements:
263
- - - ">="
263
+ - - '='
264
264
  - !ruby/object:Gem::Version
265
- version: '0'
265
+ version: 0.17.1
266
266
  - !ruby/object:Gem::Dependency
267
267
  name: simplecov-rcov
268
268
  requirement: !ruby/object:Gem::Requirement
@@ -339,6 +339,7 @@ files:
339
339
  - ".ruby-version"
340
340
  - ".simplecov"
341
341
  - ".travis.yml"
342
+ - Dockerfile
342
343
  - Gemfile
343
344
  - LICENSE
344
345
  - README.md
@@ -483,7 +484,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
483
484
  - !ruby/object:Gem::Version
484
485
  version: '0'
485
486
  requirements: []
486
- rubygems_version: 3.0.2
487
+ rubyforge_project:
488
+ rubygems_version: 2.7.7
487
489
  signing_key:
488
490
  specification_version: 4
489
491
  summary: This gem is will boostrap your Jenkins pipelines