jenkins_pipeline_builder 1.9.0 → 1.9.1

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: 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