jenkins_pipeline_builder 0.10.4 → 0.10.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjNhNjgyYWNjMzcxNTMyYTdhOWVjODdmMWE0NzViZDBhNzllYTkxMg==
4
+ YWU1ZGI4Y2VjNTc5MmEyMGMyYTA2YjViMDAzNjJlYWNkYWI1M2RkZA==
5
5
  data.tar.gz: !binary |-
6
- MDQ0Y2MzNjU0NzZmMzYxOGNkYTNjNmUzNjJmMGU5YWYyZTQ0ZmEwNw==
6
+ MzA4OGQ1MTYwODVlNGQzNzY4N2Q4NjNmMDkxYjY2OWNjMzczMmNjOA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MWIwMGRlMzAxNTFhNGI4YzhmNzFiZmE4MmJhZDE1NTNhYmU1ZjM0MDU3ZGU4
10
- YzA2NmI5NDBkNzdjYjQ2MjI5MzdkNWE5ZGY3NDU0MzkyZDA4N2RlODY3YTdj
11
- N2I4Y2NlN2E2MzNiZWE5NWI1Y2EzZWU2YmZlODUyZmU3ZTA2ZDk=
9
+ MjUyYzE2YjRmNGQxNzUzOWI3ZmJmN2NlYjVhZjU3Y2JhYjcxNGNmZGFmNDc2
10
+ NWE2MmJiYzNkNTVhMzI2NzcxZDExNWRjYTdiZTc4M2M1NDI1MmE3ZmJiNmFm
11
+ MjM3M2I5Y2U0NWJiNjc2OTllNDZkMmMwNDQzMmJiMDgzN2UwNmI=
12
12
  data.tar.gz: !binary |-
13
- MDFhZWE3OGFiNTNlODNjNzlhMjlmYzE4OGZlN2M5ZDJkNmZjMmQyOTlkNDVh
14
- Mjk2ZWEyMDFjZGJmMGE1ZDViMzFkZmQ4ZWM4NGE3NzlhNTExMmI5ZTQ1Yjhk
15
- MGJjMDhiOGM0NjU1OGNjNjU1NjM0YzVmNDkxMWQ2MDY2NzgzOTY=
13
+ MjJlMWRiN2ZjMGRhNDZiODdlYjJiODgzNTY5Zjk2MjEyZjUxZWFjODZkNWEw
14
+ ZjQ5YjU2NTQwMzJlNzNkY2M0N2E0NDRjMmIwYjUwNjZlMDM5NDQyZDdmMzQw
15
+ MmQyZDJmMmIyMDVjYTZjYWJhMjVjODMyZjk5MDc1Y2RiMGU1NDg=
@@ -229,14 +229,18 @@ module JenkinsPipelineBuilder
229
229
  end
230
230
  name = value[:name]
231
231
  if @job_collection.key?(name)
232
- if remote
232
+ existing_remote = @job_collection[name.to_s][:remote]
233
+ # skip if the existing item is local and the new item is remote
234
+ if remote && !existing_remote
235
+ next
236
+ # override if the existing item is remote and the new is local
237
+ elsif existing_remote && !remote
233
238
  logger.info "Duplicate item with name '#{name}' was detected from the remote folder."
234
239
  else
235
240
  fail "Duplicate item with name '#{name}' was detected."
236
241
  end
237
- else
238
- @job_collection[name.to_s] = { name: name.to_s, type: key, value: value }
239
242
  end
243
+ @job_collection[name.to_s] = { name: name.to_s, type: key, value: value, remote: remote }
240
244
  end
241
245
  end
242
246
 
@@ -317,7 +321,7 @@ module JenkinsPipelineBuilder
317
321
  logger.info 'No specific template specified'
318
322
  # Try to load the folder or the pipeline folder
319
323
  path = File.join(path, 'pipeline') if Dir.entries(path).include? 'pipeline'
320
- return load_collection_from_path(path)
324
+ return load_collection_from_path(path, true)
321
325
  end
322
326
 
323
327
  load_templates(path, source[:templates])
@@ -21,5 +21,5 @@
21
21
  #
22
22
 
23
23
  module JenkinsPipelineBuilder
24
- VERSION = '0.10.4'
24
+ VERSION = '0.10.5'
25
25
  end
@@ -0,0 +1,6 @@
1
+ - job_template:
2
+ name: '{{name}}-10'
3
+ description: 'Overridden stuff'
4
+ builders:
5
+ - shell_command: |
6
+ echo "Overridden stuff"
@@ -0,0 +1,6 @@
1
+ - job_template:
2
+ name: '{{name}}-10'
3
+ description: 'Overridden stuff'
4
+ builders:
5
+ - shell_command: |
6
+ echo "Overridden stuff"
@@ -0,0 +1,15 @@
1
+ - defaults:
2
+ name: global
3
+ description: 'Test pipeline for generator_spec.rb'
4
+
5
+ - dependencies:
6
+ - source:
7
+ url: 'spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/all_local/jobs.tar.gz'
8
+ templates:
9
+ - name: test_temp
10
+
11
+ - project:
12
+ name: TemplatePipeline
13
+ jobs:
14
+ - '{{name}}-10'
15
+ - '{{name}}-11'
@@ -0,0 +1,6 @@
1
+ - job_template:
2
+ name: '{{name}}-10'
3
+ description: 'Overridden stuff'
4
+ builders:
5
+ - shell_command: |
6
+ echo "Overridden stuff"
@@ -0,0 +1,15 @@
1
+ - defaults:
2
+ name: global
3
+ description: 'Test pipeline for generator_spec.rb'
4
+
5
+ - dependencies:
6
+ - source:
7
+ url: 'spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/jobs.tar.gz'
8
+ templates:
9
+ - name: test_temp
10
+
11
+ - project:
12
+ name: TemplatePipeline
13
+ jobs:
14
+ - '{{name}}-10'
15
+ - '{{name}}-11'
@@ -110,6 +110,17 @@ describe JenkinsPipelineBuilder::Generator do
110
110
  expect(@generator.module_registry.registry[:job][:wrappers].keys).to include :test_wrapper
111
111
  @generator.module_registry.registry[:job][:wrappers].delete(:test_wrapper)
112
112
  end
113
+
114
+ it 'overrides the remote dependencies with local ones' do
115
+ errors = bootstrap(fixture_path('local_override/remote_and_local'), 'TemplatePipeline')
116
+ expect(errors).to be_empty
117
+ expect(@generator.job_collection['{{name}}-10'][:value][:description]).to eq('Overridden stuff')
118
+ end
119
+
120
+ it 'fails to override when there are duplicate local items' do
121
+ expect { bootstrap(fixture_path('local_override/all_local'), 'TemplatePipeline') }.to raise_error(StandardError)
122
+ end
123
+
113
124
  # Things to check for:
114
125
  # Fail - Finds duplicate job names (load_job_collection)
115
126
  # Extension fails to register?
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: 0.10.4
4
+ version: 0.10.5
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: 2015-02-03 00:00:00.000000000 Z
12
+ date: 2015-02-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -372,6 +372,12 @@ files:
372
372
  - spec/lib/jenkins_pipeline_builder/extensions/publishers_spec.rb
373
373
  - spec/lib/jenkins_pipeline_builder/extensions/wrappers_spec.rb
374
374
  - spec/lib/jenkins_pipeline_builder/extensions_spec.rb
375
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/all_local/10.yaml
376
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/all_local/10_2.yaml
377
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/all_local/project.yaml
378
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/10.yaml
379
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/jobs.tar.gz
380
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/project.yaml
375
381
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-10-SampleJob.yaml
376
382
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-40-PullRequestGenerator.yaml
377
383
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/project.yaml
@@ -430,6 +436,12 @@ test_files:
430
436
  - spec/lib/jenkins_pipeline_builder/extensions/publishers_spec.rb
431
437
  - spec/lib/jenkins_pipeline_builder/extensions/wrappers_spec.rb
432
438
  - spec/lib/jenkins_pipeline_builder/extensions_spec.rb
439
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/all_local/10.yaml
440
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/all_local/10_2.yaml
441
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/all_local/project.yaml
442
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/10.yaml
443
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/jobs.tar.gz
444
+ - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/project.yaml
433
445
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-10-SampleJob.yaml
434
446
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-40-PullRequestGenerator.yaml
435
447
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/project.yaml