cfhighlander 0.2.1.alpha.32 → 0.2.1.alpha.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/cfhighlander.rb +13 -13
- data/hl_ext/mapping_helper.rb +6 -4
- data/lib/{highlander.compiler.rb → cfhighlander.compiler.rb} +3 -3
- data/lib/{highlander.dsl.base.rb → cfhighlander.dsl.base.rb} +2 -2
- data/lib/{highlander.dsl.component.rb → cfhighlander.dsl.component.rb} +11 -11
- data/lib/{highlander.dsl.params.rb → cfhighlander.dsl.params.rb} +2 -2
- data/lib/{highlander.dsl.rb → cfhighlander.dsl.rb} +13 -13
- data/lib/{highlander.factory.rb → cfhighlander.factory.rb} +9 -7
- data/lib/{highlander.factory.templatefinder.rb → cfhighlander.factory.templatefinder.rb} +29 -12
- data/lib/{highlander.helper.rb → cfhighlander.helper.rb} +1 -1
- data/lib/{highlander.mapproviders.rb → cfhighlander.mapproviders.rb} +1 -1
- data/lib/{highlander.model.component.rb → cfhighlander.model.component.rb} +9 -3
- data/lib/{highlander.model.templatemeta.rb → cfhighlander.model.templatemeta.rb} +1 -1
- data/lib/{highlander.publisher.rb → cfhighlander.publisher.rb} +2 -2
- data/lib/{highlander.validator.rb → cfhighlander.validator.rb} +1 -1
- data/lib/util/zip.util.rb +1 -1
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57345cb7494a630f82ccc0be2eab077f1362a5d5bf3bea22619ad17e43f7297c
|
4
|
+
data.tar.gz: aefc4bebf4b709dd299c5f7a79c266674a4697f9ef64bd1b87d11ea0c031ec30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cea97fa74dcf7bec3d87d559499a674cc1a4546502c7a14f589f6bbfef73dbe74a1f8d2ebb21d7f0ee69438fd35b222590d01f3e35d95e922430ea2d2f09ccc0
|
7
|
+
data.tar.gz: d16b3eaab44a8a08754768106de95c7d412c8a449902f4ca9279e536422f164c9667deb95f74fcb5c012f4b34e8a2a46bdc435cfe6db9ead84830c89fb3b702b
|
data/bin/cfhighlander.rb
CHANGED
@@ -9,10 +9,10 @@
|
|
9
9
|
|
10
10
|
require 'thor'
|
11
11
|
require 'rubygems'
|
12
|
-
require_relative '../lib/
|
13
|
-
require_relative '../lib/
|
14
|
-
require_relative '../lib/
|
15
|
-
require_relative '../lib/
|
12
|
+
require_relative '../lib/cfhighlander.compiler'
|
13
|
+
require_relative '../lib/cfhighlander.factory'
|
14
|
+
require_relative '../lib/cfhighlander.publisher'
|
15
|
+
require_relative '../lib/cfhighlander.validator'
|
16
16
|
|
17
17
|
class HighlanderCli < Thor
|
18
18
|
|
@@ -25,12 +25,12 @@ class HighlanderCli < Thor
|
|
25
25
|
def configcompile(template_name)
|
26
26
|
|
27
27
|
# find and load component
|
28
|
-
component_loader =
|
28
|
+
component_loader = Cfhighlander::Factory::ComponentFactory.new
|
29
29
|
component = component_loader.loadComponentFromTemplate(template_name)
|
30
30
|
component.load
|
31
31
|
|
32
32
|
# compile cfndsl template
|
33
|
-
component_compiler =
|
33
|
+
component_compiler = Cfhighlander::Compiler::ComponentCompiler.new(component)
|
34
34
|
component_compiler.writeConfig(true)
|
35
35
|
end
|
36
36
|
|
@@ -50,7 +50,7 @@ class HighlanderCli < Thor
|
|
50
50
|
component = build_component(options, component_name)
|
51
51
|
|
52
52
|
# compile cfndsl template
|
53
|
-
component_compiler =
|
53
|
+
component_compiler = Cfhighlander::Compiler::ComponentCompiler.new(component)
|
54
54
|
component_compiler.silent_mode = options[:quiet]
|
55
55
|
out_format = options[:format]
|
56
56
|
component_compiler.compileCfnDsl out_format
|
@@ -75,12 +75,12 @@ class HighlanderCli < Thor
|
|
75
75
|
component = build_component(options, component_name)
|
76
76
|
|
77
77
|
# compile cloud formation
|
78
|
-
component_compiler =
|
78
|
+
component_compiler = Cfhighlander::Compiler::ComponentCompiler.new(component)
|
79
79
|
component_compiler.silent_mode = options[:quiet]
|
80
80
|
out_format = options[:format]
|
81
81
|
component_compiler.compileCloudFormation out_format
|
82
82
|
if options[:validate]
|
83
|
-
component_validator =
|
83
|
+
component_validator = Cfhighlander::Cloudformation::Validator.new(component)
|
84
84
|
component_validator.validate(component_compiler.cfn_template_paths, out_format)
|
85
85
|
end
|
86
86
|
component_compiler
|
@@ -103,7 +103,7 @@ class HighlanderCli < Thor
|
|
103
103
|
|
104
104
|
def cfpublish(component_name)
|
105
105
|
compiler = cfcompile(component_name)
|
106
|
-
publisher =
|
106
|
+
publisher = Cfhighlander::Publisher::ComponentPublisher.new(compiler.component, false)
|
107
107
|
publisher.publishFiles(compiler.cfn_template_paths + compiler.lambda_src_paths)
|
108
108
|
end
|
109
109
|
|
@@ -123,14 +123,14 @@ class HighlanderCli < Thor
|
|
123
123
|
distribution_prefix = options[:dstprefix]
|
124
124
|
|
125
125
|
# find and load component
|
126
|
-
component_loader =
|
126
|
+
component_loader = Cfhighlander::Factory::ComponentFactory.new
|
127
127
|
component = component_loader.loadComponentFromTemplate(template_name)
|
128
128
|
component.version = component_version
|
129
129
|
component.distribution_bucket = distribution_bucket unless distribution_bucket.nil?
|
130
130
|
component.distribution_prefix = distribution_prefix unless distribution_prefix.nil?
|
131
131
|
component.load
|
132
132
|
|
133
|
-
publisher =
|
133
|
+
publisher = Cfhighlander::Publisher::ComponentPublisher.new(component, true)
|
134
134
|
publisher.publishComponent
|
135
135
|
end
|
136
136
|
|
@@ -144,7 +144,7 @@ def build_component(options, template_name)
|
|
144
144
|
distribution_prefix = options[:dstprefix]
|
145
145
|
|
146
146
|
# find and load component
|
147
|
-
component_loader =
|
147
|
+
component_loader = Cfhighlander::Factory::ComponentFactory.new
|
148
148
|
component = component_loader.loadComponentFromTemplate(template_name)
|
149
149
|
component.version = component_version unless component_version.nil?
|
150
150
|
component.distribution_bucket = distribution_bucket unless distribution_bucket.nil?
|
data/hl_ext/mapping_helper.rb
CHANGED
@@ -1,14 +1,16 @@
|
|
1
|
-
require_relative '../lib/
|
1
|
+
require_relative '../lib/cfhighlander.mapproviders'
|
2
2
|
|
3
3
|
# Return mapping provider as class
|
4
|
-
def mappings_provider(provider_name)
|
4
|
+
def mappings_provider(provider_name, is_legacy = false)
|
5
5
|
return nil if provider_name.nil?
|
6
6
|
provider = nil
|
7
|
-
|
7
|
+
module_name = is_legacy ? 'Highlander': 'Cfhighlander'
|
8
|
+
providers = Object.const_get(module_name).const_get('MapProviders')
|
8
9
|
begin
|
9
10
|
providers.const_get(provider_name)
|
10
11
|
rescue NameError => e
|
11
|
-
if e.to_s.include?
|
12
|
+
if e.to_s.include? "uninitialized constant #{module_name}::MapProviders::"
|
13
|
+
return mappings_provider(provider_name, true) unless is_legacy
|
12
14
|
return nil
|
13
15
|
end
|
14
16
|
STDERR.puts(e.to_s)
|
@@ -12,7 +12,7 @@ require 'highline/import'
|
|
12
12
|
require 'zip'
|
13
13
|
require_relative './util/zip.util'
|
14
14
|
|
15
|
-
module
|
15
|
+
module Cfhighlander
|
16
16
|
|
17
17
|
module Compiler
|
18
18
|
|
@@ -50,7 +50,7 @@ module Highlander
|
|
50
50
|
end
|
51
51
|
|
52
52
|
@component.highlander_dsl.components.each do |sub_component|
|
53
|
-
sub_component_compiler =
|
53
|
+
sub_component_compiler = Cfhighlander::Compiler::ComponentCompiler.new(sub_component.component_loaded)
|
54
54
|
sub_component_compiler.component_name = sub_component.name
|
55
55
|
@sub_components << sub_component_compiler
|
56
56
|
end
|
@@ -281,7 +281,7 @@ module Highlander
|
|
281
281
|
end
|
282
282
|
end
|
283
283
|
File.delete full_destination_path if File.exist? full_destination_path
|
284
|
-
zip_generator =
|
284
|
+
zip_generator = Cfhighlander::Util::ZipFileGenerator.new(lambda_source_dir, full_destination_path)
|
285
285
|
zip_generator.write
|
286
286
|
|
287
287
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
module
|
2
|
+
module Cfhighlander
|
3
3
|
|
4
4
|
module Dsl
|
5
5
|
class DslBase
|
@@ -15,7 +15,7 @@ module Highlander
|
|
15
15
|
raise StandardError, "#{self} no config!"
|
16
16
|
end
|
17
17
|
return @config["#{method}"] unless @config["#{method}"].nil?
|
18
|
-
raise StandardError, "#{self}Unknown method or variable #{method} in
|
18
|
+
raise StandardError, "#{self} Unknown method or variable #{method} in Cfhighlander template"
|
19
19
|
end
|
20
20
|
|
21
21
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require_relative './
|
2
|
-
require_relative './
|
3
|
-
require_relative './
|
1
|
+
require_relative './cfhighlander.helper'
|
2
|
+
require_relative './cfhighlander.dsl.base'
|
3
|
+
require_relative './cfhighlander.factory'
|
4
4
|
|
5
|
-
module
|
5
|
+
module Cfhighlander
|
6
6
|
|
7
7
|
module Dsl
|
8
8
|
|
@@ -65,7 +65,7 @@ module Highlander
|
|
65
65
|
build_distribution_url
|
66
66
|
|
67
67
|
# load component
|
68
|
-
factory =
|
68
|
+
factory = Cfhighlander::Factory::ComponentFactory.new(@component_sources)
|
69
69
|
@component_loaded = factory.loadComponentFromTemplate(
|
70
70
|
@template,
|
71
71
|
@template_version,
|
@@ -116,7 +116,7 @@ module Highlander
|
|
116
116
|
def load_parameters
|
117
117
|
component_dsl = @component_loaded.highlander_dsl
|
118
118
|
component_dsl.parameters.param_list.each do |component_param|
|
119
|
-
param =
|
119
|
+
param = Cfhighlander::Dsl::SubcomponentParameter.new
|
120
120
|
param.name = component_param.name
|
121
121
|
param.cfndsl_value = SubcomponentParamValueResolver.resolveValue(
|
122
122
|
@parent,
|
@@ -135,16 +135,16 @@ module Highlander
|
|
135
135
|
|
136
136
|
# check if there are values defined on component itself
|
137
137
|
if sub_component.param_values.key?(param.name)
|
138
|
-
return
|
138
|
+
return Cfhighlander::Helper.parameter_cfndsl_value(sub_component.param_values[param.name])
|
139
139
|
end
|
140
140
|
|
141
|
-
if param.class ==
|
141
|
+
if param.class == Cfhighlander::Dsl::StackParam
|
142
142
|
return self.resolveStackParamValue(component, sub_component, param)
|
143
|
-
elsif param.class ==
|
143
|
+
elsif param.class == Cfhighlander::Dsl::ComponentParam
|
144
144
|
return self.resolveComponentParamValue(component, sub_component, param)
|
145
|
-
elsif param.class ==
|
145
|
+
elsif param.class == Cfhighlander::Dsl::MappingParam
|
146
146
|
return self.resolveMappingParamValue(component, sub_component, param)
|
147
|
-
elsif param.class ==
|
147
|
+
elsif param.class == Cfhighlander::Dsl::OutputParam
|
148
148
|
return self.resolveOutputParamValue(component, sub_component, param)
|
149
149
|
else
|
150
150
|
raise "#{param.class} not resolvable to parameter value"
|
@@ -8,11 +8,11 @@ Dir["#{extensions_folder}/*.rb"].each { |f|
|
|
8
8
|
|
9
9
|
# require libraries
|
10
10
|
|
11
|
-
require_relative './
|
12
|
-
require_relative './
|
13
|
-
require_relative './
|
11
|
+
require_relative './cfhighlander.dsl.base'
|
12
|
+
require_relative './cfhighlander.dsl.params'
|
13
|
+
require_relative './cfhighlander.dsl.component'
|
14
14
|
|
15
|
-
module
|
15
|
+
module Cfhighlander
|
16
16
|
|
17
17
|
module Dsl
|
18
18
|
|
@@ -83,10 +83,10 @@ module Highlander
|
|
83
83
|
|
84
84
|
|
85
85
|
def Component(template:, name: template, param_values: {}, config: {}, export_config: {}, &block)
|
86
|
-
puts "
|
86
|
+
puts "INFO: Requested subcomponent #{name} with template #{template}"
|
87
87
|
|
88
88
|
# load component
|
89
|
-
component =
|
89
|
+
component = Cfhighlander::Dsl::Subcomponent.new(self,
|
90
90
|
name,
|
91
91
|
template,
|
92
92
|
param_values,
|
@@ -185,10 +185,10 @@ module Highlander
|
|
185
185
|
.param_list.each do |param|
|
186
186
|
|
187
187
|
# add stack parameters
|
188
|
-
if param.class ==
|
188
|
+
if param.class == Cfhighlander::Dsl::StackParam
|
189
189
|
# sub-component stack param becomes top-level component param
|
190
190
|
param_name = param.is_global ? param.name : "#{component.name}#{param.name}"
|
191
|
-
stack_param =
|
191
|
+
stack_param = Cfhighlander::Dsl::ComponentParam.new(
|
192
192
|
param_name,
|
193
193
|
param.type,
|
194
194
|
param.default_value,
|
@@ -198,7 +198,7 @@ module Highlander
|
|
198
198
|
end unless component.param_values.key? param.name
|
199
199
|
|
200
200
|
# for map parameters add maps
|
201
|
-
if param.class ==
|
201
|
+
if param.class == Cfhighlander::Dsl::MappingParam
|
202
202
|
if not param.mapProvider.nil?
|
203
203
|
maps = param.mapProvider.getMaps(component.component_loaded.config)
|
204
204
|
maps.each do |name, map|
|
@@ -220,7 +220,7 @@ module Highlander
|
|
220
220
|
}
|
221
221
|
|
222
222
|
@dependson_components_templates.each do |template|
|
223
|
-
component =
|
223
|
+
component = Cfhighlander::Dsl::Subcomponent.new(self,
|
224
224
|
template,
|
225
225
|
template,
|
226
226
|
{},
|
@@ -303,11 +303,11 @@ module Highlander
|
|
303
303
|
if (not config_receiver_component.export_config.nil?) and (config_receiver_component.export_config.key? component.template)
|
304
304
|
allow_from_component_name = config_receiver_component.export_config[component.template]
|
305
305
|
if allow_from_component_name == component.name
|
306
|
-
puts("Exporting key #{global_export_key} from component #{component.name} to #{cname}")
|
306
|
+
puts("INFO: Exporting key #{global_export_key} from component #{component.name} to #{cname}")
|
307
307
|
co[global_export_key] = cl.config[global_export_key]
|
308
308
|
end
|
309
309
|
else
|
310
|
-
puts("Exporting key #{global_export_key} from component #{component.name} to #{cname}")
|
310
|
+
puts("INFO: Exporting key #{global_export_key} from component #{component.name} to #{cname}")
|
311
311
|
co[global_export_key] = cl.config[global_export_key]
|
312
312
|
end
|
313
313
|
end
|
@@ -400,7 +400,7 @@ module Highlander
|
|
400
400
|
end
|
401
401
|
|
402
402
|
def HighlanderComponent(&block)
|
403
|
-
instance =
|
403
|
+
instance = Cfhighlander::Dsl::HighlanderTemplate.new
|
404
404
|
|
405
405
|
puts "Processing higlander component #{@name}\n\tLocation:#{@highlander_dsl_path}" +
|
406
406
|
"\n\tConfig:#{@config}"
|
@@ -1,11 +1,11 @@
|
|
1
|
-
require_relative './
|
2
|
-
require_relative './
|
3
|
-
require_relative './
|
1
|
+
require_relative './cfhighlander.dsl'
|
2
|
+
require_relative './cfhighlander.factory.templatefinder'
|
3
|
+
require_relative './cfhighlander.model.component'
|
4
4
|
require 'fileutils'
|
5
5
|
require 'git'
|
6
6
|
|
7
7
|
|
8
|
-
module
|
8
|
+
module Cfhighlander
|
9
9
|
|
10
10
|
module Factory
|
11
11
|
|
@@ -14,18 +14,20 @@ module Highlander
|
|
14
14
|
attr_accessor :component_sources
|
15
15
|
|
16
16
|
def initialize(component_sources = [])
|
17
|
-
@template_finder =
|
17
|
+
@template_finder = Cfhighlander::Factory::TemplateFinder.new(component_sources)
|
18
|
+
@component_sources = component_sources
|
18
19
|
end
|
19
20
|
|
20
21
|
# Find component and given list of sources
|
21
|
-
# @return [
|
22
|
+
# @return [Cfhighlander::Factory::Component]
|
22
23
|
def loadComponentFromTemplate(template_name, template_version = nil, component_name = nil)
|
23
24
|
|
24
25
|
template_meta = @template_finder.findTemplate(template_name, template_version)
|
25
26
|
|
26
|
-
raise StandardError, "highlander template #{template_name}@#{
|
27
|
+
raise StandardError, "highlander template #{template_name}@#{template_version} not located" +
|
27
28
|
" in sources #{@component_sources}" if template_meta.nil?
|
28
29
|
|
30
|
+
component_name = template_name if component_name.nil?
|
29
31
|
return buildComponentFromLocation(template_meta, component_name)
|
30
32
|
|
31
33
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
|
1
|
+
LOCAL_CFHIGHLANDER_CACHE_LOCATION = "#{ENV['HOME']}/.cfhighlander/components"
|
2
2
|
|
3
|
-
require_relative './
|
3
|
+
require_relative './cfhighlander.model.templatemeta'
|
4
4
|
|
5
|
-
module
|
5
|
+
module Cfhighlander
|
6
6
|
|
7
7
|
module Factory
|
8
8
|
|
@@ -13,7 +13,7 @@ module Highlander
|
|
13
13
|
## Then search for cached $HOME/.highlander/components
|
14
14
|
## Then search in sources given by dsl
|
15
15
|
default_locations = [
|
16
|
-
|
16
|
+
LOCAL_CFHIGHLANDER_CACHE_LOCATION,
|
17
17
|
File.expand_path('components'),
|
18
18
|
File.expand_path('.')
|
19
19
|
]
|
@@ -27,6 +27,7 @@ module Highlander
|
|
27
27
|
def findTemplateDefault(template_name, component_version)
|
28
28
|
default_lookup_url = 'https://github.com/theonestack'
|
29
29
|
default_lookup_url = ENV['HIGHLANDER_DEFAULT_COMPONENT_GIT_LOOKUP'] if ENV.key? 'HIGHLANDER_DEFAULT_COMPONENT_GIT_LOOKUP'
|
30
|
+
default_lookup_url = ENV['CFHIGHLANDER_DEFAULT_COMPONENT_GIT_LOOKUP'] if ENV.key? 'CFHIGHLANDER_DEFAULT_COMPONENT_GIT_LOOKUP'
|
30
31
|
|
31
32
|
git_url = "#{default_lookup_url}/hl-component-#{template_name}"
|
32
33
|
|
@@ -35,7 +36,7 @@ module Highlander
|
|
35
36
|
else
|
36
37
|
branch = component_version
|
37
38
|
end
|
38
|
-
local_path = "#{
|
39
|
+
local_path = "#{LOCAL_CFHIGHLANDER_CACHE_LOCATION}/#{template_name}/#{component_version}"
|
39
40
|
return findTemplateGit(local_path, template_name, component_version, git_url, branch)
|
40
41
|
|
41
42
|
end
|
@@ -53,6 +54,13 @@ module Highlander
|
|
53
54
|
if not Dir.glob("#{cache_path}*.highlander.rb").empty?
|
54
55
|
# if cache exists, just return from cache
|
55
56
|
component_name = Dir.glob("#{cache_path}*.highlander.rb")[0].gsub(cache_path, '').gsub('.highlander.rb', '')
|
57
|
+
STDERR.puts("DEPRECATED: #{component_name}: Use *.cfhighlander.rb template file name pattern")
|
58
|
+
return component_name, cache_path
|
59
|
+
end
|
60
|
+
|
61
|
+
if not Dir.glob("#{cache_path}*.cfhighlander.rb").empty?
|
62
|
+
# if cache exists, just return from cache
|
63
|
+
component_name = Dir.glob("#{cache_path}*.cfhighlander.rb")[0].gsub(cache_path, '').gsub('.highlander.rb', '')
|
56
64
|
return component_name, cache_path
|
57
65
|
end
|
58
66
|
|
@@ -71,20 +79,20 @@ module Highlander
|
|
71
79
|
end
|
72
80
|
end
|
73
81
|
|
74
|
-
def findTemplateS3(s3_location, component_name, component_version)
|
82
|
+
def findTemplateS3(s3_location, component_name, component_version, use_legacy_extension = true)
|
75
83
|
parts = s3_location.split('/')
|
76
84
|
bucket = parts[2]
|
77
85
|
prefix = parts[3]
|
78
86
|
s3_key = "#{prefix}/#{component_name}/#{component_version}/#{component_name}.highlander.rb"
|
79
87
|
s3_prefix = "#{prefix}/#{component_name}/#{component_version}/"
|
80
|
-
local_destination = "#{
|
88
|
+
local_destination = "#{LOCAL_CFHIGHLANDER_CACHE_LOCATION}/#{component_name}/#{component_version}"
|
81
89
|
begin
|
82
90
|
s3 = Aws::S3::Client.new({ region: s3_bucket_region(bucket) })
|
83
91
|
FileUtils.mkdir_p local_destination unless Dir.exist? local_destination
|
84
92
|
|
85
93
|
hl_content = s3.get_object({ bucket: bucket,
|
86
94
|
key: s3_key,
|
87
|
-
response_target: "#{local_destination}/#{component_name}
|
95
|
+
response_target: "#{local_destination}/#{component_name}.#{use_legacy_extension ? 'highlander' : 'cfhighlander'}.rb"
|
88
96
|
})
|
89
97
|
# if code execution got so far we consider file exists and download it locally
|
90
98
|
component_files = s3.list_objects_v2({ bucket: bucket, prefix: s3_prefix })
|
@@ -98,9 +106,15 @@ module Highlander
|
|
98
106
|
s3.get_object({ bucket: bucket, key: s3_object.key, response_target: destination_file })
|
99
107
|
print " [OK] \n"
|
100
108
|
}
|
109
|
+
if use_legacy_extension
|
110
|
+
STDERR.puts "DEPRECATED: s3 load #{component_name} with *.highlander.rb template file name pattern"
|
111
|
+
end
|
101
112
|
return local_destination
|
102
113
|
rescue => e
|
103
114
|
# this handles both nonexisting key and bucket
|
115
|
+
if use_legacy_extension
|
116
|
+
return findTemplateS3(s3_location, component_name, component_version, false)
|
117
|
+
end
|
104
118
|
puts("#{component_name} not found in s3://#{bucket}/#{prefix}")
|
105
119
|
STDERR.puts(e.to_s) unless e.message.include? 'does not exist'
|
106
120
|
return nil
|
@@ -134,7 +148,7 @@ module Highlander
|
|
134
148
|
|
135
149
|
|
136
150
|
if not git_url.nil?
|
137
|
-
local_path = "#{
|
151
|
+
local_path = "#{LOCAL_CFHIGHLANDER_CACHE_LOCATION}/#{template_location.gsub(':', '_').gsub(/\/+/, '/')}/#{template_version}"
|
138
152
|
template_name, location = findTemplateGit(local_path, template_location, template_version, git_url, branch)
|
139
153
|
if location.nil?
|
140
154
|
raise "Could not resolve component #{template_location}@#{template_version}"
|
@@ -196,15 +210,18 @@ module Highlander
|
|
196
210
|
candidate = "#{source}/#{template_name}"
|
197
211
|
candidate = "#{candidate}/#{template_version}" unless template_version.nil?
|
198
212
|
candidate_hl_path = "#{candidate}/#{template_name}.highlander.rb"
|
213
|
+
candidate_cfhl_path = "#{candidate}/#{template_name}.cfhighlander.rb"
|
199
214
|
candidate2_hl_path = "#{source}/#{template_name}.highlander.rb"
|
215
|
+
candidate2_cfhl_path = "#{source}/#{template_name}.cfhighlander.rb"
|
200
216
|
puts "TRACE: Trying to load #{template_full_name} from #{candidate} ... "
|
201
|
-
if File.exist?(candidate_hl_path)
|
217
|
+
if (File.exist?(candidate_hl_path) or File.exist?(candidate_cfhl_path))
|
202
218
|
return build_meta(template_name, template_version_s, candidate)
|
203
219
|
end
|
220
|
+
|
204
221
|
puts "TRACE: Trying to load #{template_full_name} from #{source} ... "
|
205
222
|
# if component version is latest it is allowed to search in path
|
206
223
|
# with no version component in it
|
207
|
-
if File.exist?(candidate2_hl_path)
|
224
|
+
if (File.exist?(candidate2_hl_path) or File.exist?(candidate2_cfhl_path))
|
208
225
|
return build_meta(template_name, 'latest', source)
|
209
226
|
end unless template_version_s != 'latest'
|
210
227
|
end
|
@@ -218,7 +235,7 @@ module Highlander
|
|
218
235
|
end
|
219
236
|
|
220
237
|
def build_meta(template_name, template_version, template_location)
|
221
|
-
return
|
238
|
+
return Cfhighlander::Model::TemplateMetadata.new(
|
222
239
|
template_name: template_name,
|
223
240
|
template_version: template_version,
|
224
241
|
template_location: template_location)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
|
3
|
-
module
|
3
|
+
module Cfhighlander
|
4
4
|
|
5
5
|
module Model
|
6
6
|
|
@@ -39,7 +39,7 @@ module Highlander
|
|
39
39
|
def load_config()
|
40
40
|
@config = {} if @config.nil?
|
41
41
|
Dir["#{@component_dir}/*.config.yaml"].each do |config_file|
|
42
|
-
puts "Loading config for #{@name}
|
42
|
+
puts "INFO Loading config for #{@name}: read file:#{config_file} "
|
43
43
|
partial_config = YAML.load(File.read(config_file))
|
44
44
|
unless partial_config.nil?
|
45
45
|
@config.extend(partial_config)
|
@@ -64,8 +64,14 @@ module Highlander
|
|
64
64
|
raise StandardError, 'http(s) sources not supported yet'
|
65
65
|
end
|
66
66
|
|
67
|
+
legacy_cfhighlander_path = "#{@component_dir}/#{@template.template_name}.highlander.rb"
|
68
|
+
if File.exist? legacy_cfhighlander_path
|
69
|
+
STDERR.puts "DEPRECATED: #{legacy_cfhighlander_path} - Use *.cfhiglander.rb"
|
70
|
+
@highlander_dsl_path = legacy_cfhighlander_path
|
71
|
+
else
|
72
|
+
@highlander_dsl_path = "#{@component_dir}/#{@template.template_name}.cfhighlander.rb"
|
73
|
+
end
|
67
74
|
|
68
|
-
@highlander_dsl_path = "#{@component_dir}/#{@template.template_name}.highlander.rb"
|
69
75
|
@cfndsl_path = "#{@component_dir}/#{@template.template_name}.cfndsl.rb"
|
70
76
|
candidate_mappings_path = "#{@component_dir}/*.mappings.yaml"
|
71
77
|
candidate_dynamic_mappings_path = "#{@component_dir}/#{@template.template_name}.mappings.rb"
|
data/lib/util/zip.util.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfhighlander
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.1.alpha.
|
4
|
+
version: 0.2.1.alpha.34
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikola Tosic
|
@@ -243,19 +243,19 @@ files:
|
|
243
243
|
- hl_ext/common_helper.rb
|
244
244
|
- hl_ext/mapping_helper.rb
|
245
245
|
- hl_ext/vpc.rb
|
246
|
-
- lib/
|
247
|
-
- lib/
|
248
|
-
- lib/
|
249
|
-
- lib/
|
250
|
-
- lib/
|
251
|
-
- lib/
|
252
|
-
- lib/
|
253
|
-
- lib/
|
254
|
-
- lib/
|
255
|
-
- lib/
|
256
|
-
- lib/
|
257
|
-
- lib/
|
258
|
-
- lib/
|
246
|
+
- lib/cfhighlander.compiler.rb
|
247
|
+
- lib/cfhighlander.dsl.base.rb
|
248
|
+
- lib/cfhighlander.dsl.component.rb
|
249
|
+
- lib/cfhighlander.dsl.params.rb
|
250
|
+
- lib/cfhighlander.dsl.rb
|
251
|
+
- lib/cfhighlander.factory.rb
|
252
|
+
- lib/cfhighlander.factory.templatefinder.rb
|
253
|
+
- lib/cfhighlander.helper.rb
|
254
|
+
- lib/cfhighlander.mapproviders.rb
|
255
|
+
- lib/cfhighlander.model.component.rb
|
256
|
+
- lib/cfhighlander.model.templatemeta.rb
|
257
|
+
- lib/cfhighlander.publisher.rb
|
258
|
+
- lib/cfhighlander.validator.rb
|
259
259
|
- lib/util/zip.util.rb
|
260
260
|
- templates/cfndsl.component.template.erb
|
261
261
|
homepage: https://github.com/theonestack/cfhighlander/blob/master/README.md
|