ctpl 0.0.5 → 0.0.6

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
- SHA256:
3
- metadata.gz: cce01d15081a519188eb07941e900875aca6c0b54009e1edadf9e9d2f112a972
4
- data.tar.gz: a1a6b508eba2bf20723b98aa8628033325972b10982c73b22182701727f0ae2f
2
+ SHA1:
3
+ metadata.gz: 310e68e2ad2eb3420fad89c919676ce09eee04fc
4
+ data.tar.gz: a2be68184e06bbf74349603bff7b9709a20419c8
5
5
  SHA512:
6
- metadata.gz: 27551a1db41da95b837c0b43cce721983b5dde160abf0d5fcc864bdcb53b6210a6e4c17a000cf434f59f72fd43f483b7c466b80a551869b74767a4610fd823d8
7
- data.tar.gz: 25392432a9b37a70a73d1926a45ef946640e37b57a7a53f773cd600aceebc0a28f1629fc7414d576f9663013abd432cb1703ae9b297bc080af28f9e7ee09aeba
6
+ metadata.gz: 2526b626c99d35562843692367ee53875443eff0bcd0a67cdb0c1005924222260be1fab9a260ff6a5cb01a0e87b8125b0381fbe50452d7f12249f097f220d711
7
+ data.tar.gz: f14a4259fbf045c369582e62cbf1b92fb9e30046ab880fd412e0bc0ec489cc026baa5f8dc62267e0b65b6da4964172cc9aa671a1342a8d655b99dd05196ec016
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -3,22 +3,27 @@ require 'yaml'
3
3
  class PipelineCompiler
4
4
  include Thor::Shell
5
5
 
6
- def initialize(mainPipelinePath, globalAliasesPath, partialsFolder)
6
+ def initialize(mainPipelinePath, globalAliasesPath, partialsFolder, verbose = false)
7
7
  loadGlobalAliases(globalAliasesPath)
8
8
  loadMainPipeline(mainPipelinePath)
9
9
  loadPartials(partialsFolder)
10
+ @verbose = verbose
10
11
  end
11
12
 
12
13
  def merge
13
14
  pipeline = {}
15
+ say_status 'ok', "Parsing main/global pipeline file", :white if @verbose
16
+
14
17
  pipeline = parseToYaml(@mainPipeline) unless @mainPipeline == ""
15
18
 
16
19
  # that is our one level merger for the special keys we support
17
20
  @partials.each do |filename, partialContent|
18
- say_status 'ok', "merging partial #{filename}", :white
21
+ say_status 'ok', "starting to handle partial: #{filename}", :white
19
22
  partialAsHashmap = parseToYaml(partialContent)
20
23
 
24
+ say_status 'step', File.basename(filename, '.yaml') + ": merging hashmaps jobs, resources, types and groups", :white if @verbose
21
25
  %w(jobs resources resource_types groups).each do |mergeKey|
26
+ say_status 'step', File.basename(filename, '.yaml') + ": merging #{mergeKey}", :white if @verbose
22
27
  if partialAsHashmap.key?(mergeKey)
23
28
  pipeline[mergeKey] = [] unless pipeline.key?(mergeKey)
24
29
  pipeline[mergeKey].concat partialAsHashmap[mergeKey]
@@ -28,6 +33,7 @@ class PipelineCompiler
28
33
 
29
34
  # now put all the others which should not be conflicting. We might do this manually per key to inform
30
35
  # when we have conflicts .. since this will override existing keys
36
+ say_status 'step', File.basename(filename, '.yaml') + ": merging all the rest of the partial", :white if @verbose
31
37
  pipeline.merge(partialAsHashmap)
32
38
  end
33
39
 
@@ -10,7 +10,7 @@ module Ctpl
10
10
  method_option :output, :aliases => 'o', :required => false, :type => :string, :default => './pipeline.yaml', :desc => "Optional, defaults to pipeline.yaml. Output path to save the merged yaml in"
11
11
  def compile
12
12
  baseFolder = options[:basefolder]
13
- merger = PipelineCompiler.new("#{baseFolder}/pipeline-template.yaml", "#{baseFolder}/aliases.yaml", baseFolder)
13
+ merger = PipelineCompiler.new("#{baseFolder}/pipeline-template.yaml", "#{baseFolder}/aliases.yaml", baseFolder, options[:verbose])
14
14
  p = merger.merge
15
15
  say_status 'ok', "Transforming back to yaml ", :white
16
16
  yaml = "# DO NOT CHANGE THIS FILE\n# Generated by ctp (https://github.com/EugenMayer/concourse-pipeline-templateer)\n# See '#{baseFolder}' for the source files\n" + p.to_yaml
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ctpl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugen Mayer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-26 00:00:00.000000000 Z
11
+ date: 2018-12-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  version: '0'
65
65
  requirements: []
66
66
  rubyforge_project:
67
- rubygems_version: 2.7.7
67
+ rubygems_version: 2.6.14.3
68
68
  signing_key:
69
69
  specification_version: 4
70
70
  summary: Implements an opinionated tool to template / split concourse pipeline files