aws-cfn-compiler 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/aws-cfn-compiler.gemspec +2 -1
- data/aws-cfn-compiler.iml +41 -25
- data/lib/aws/cfn/compiler/mixins/compile.rb +15 -1
- data/lib/aws/cfn/compiler/mixins/load.rb +10 -2
- data/lib/aws/cfn/compiler/mixins/options.rb +1 -1
- data/lib/aws/cfn/compiler/mixins/parse.rb +20 -2
- data/lib/aws/cfn/compiler/version.rb +1 -1
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjY0MjBiNmNjZTVlZThkZmNmNzJiNmFlMzIxNjU0MGM2MGQ3OTg2MA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTIyMTEzODg3NGExMmU0MTZjNjVmMTkyZTNlMGY2YzRlYmJmNDgwYQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YjA2OWZiODA0ODYzNjgyODc1ZDNmYjFiOGE2MGI0N2ExMGI3MDM5ZWEyZTQ5
|
10
|
+
YjY4NGRlMGU4ODE5NzkyNGEwZmJmOTE0OGViMmI1MmM5YzgwZmI2ODMxMDk4
|
11
|
+
MDJiMTI2NjhmZTFlMDI5MTIzOGU4ZWU1MjM3ZTViOTZiODVhYzA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTY4ZGU4ZDYzMzYxM2MxNWYyMjgwOWE4ZDJlMWZhYTQwMzgxNmRiMmM2NDlk
|
14
|
+
NzFiZmRiMWRjODFkZmQzYmYyODdlN2Q1ZGExM2JkMjUxYzlkZWE3OGY2ZjA1
|
15
|
+
ZDJkYTZmYWMyOTQ3MWE1OGZhOTZiMjFmODM2ZmVmMmM5YzkyYTg=
|
data/aws-cfn-compiler.gemspec
CHANGED
@@ -24,7 +24,8 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_dependency 'slop'
|
25
25
|
spec.add_dependency 'inifile'
|
26
26
|
spec.add_dependency 'semverse', '>= 1.1.0'
|
27
|
-
spec.add_dependency 'aws-cfn-dsl', '>= 0.9.
|
27
|
+
spec.add_dependency 'aws-cfn-dsl', '>= 0.9.4'
|
28
|
+
spec.add_dependency 'mixlib-cli', '> 0'
|
28
29
|
spec.add_dependency 'dldinternet-mixlib-cli', '>= 0.2.0'
|
29
30
|
spec.add_dependency 'dldinternet-mixlib-logging', '>= 0.4.0'
|
30
31
|
|
data/aws-cfn-compiler.iml
CHANGED
@@ -6,41 +6,57 @@
|
|
6
6
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
7
7
|
<exclude-output />
|
8
8
|
<content url="file://$MODULE_DIR$" />
|
9
|
-
<orderEntry type="jdk" jdkName="RVM: ruby-1.9.3-p547 [aws-cfn-
|
9
|
+
<orderEntry type="jdk" jdkName="RVM: ruby-1.9.3-p547 [aws-cfn-compile]" jdkType="RUBY_SDK" />
|
10
10
|
<orderEntry type="sourceFolder" forTests="false" />
|
11
11
|
<orderEntry type="module" module-name="aws-cfn-dsl" />
|
12
|
+
<orderEntry type="module" module-name="cloudformation-ruby-dsl" />
|
12
13
|
<orderEntry type="module-library">
|
13
|
-
<library name="
|
14
|
+
<library name="dldinternet-mixlib-cli (v0.2.0, /Users/cdelange/Dropbox/DLDInternet/ws/gems-ws/dldinternet-mixlib-cli) [path][gem]">
|
14
15
|
<CLASSES>
|
15
|
-
<root url="file://$MODULE_DIR$/../
|
16
|
-
<root url="file://$MODULE_DIR$/../
|
17
|
-
<root url="file://$MODULE_DIR$/../
|
18
|
-
<root url="file://$MODULE_DIR$/../
|
16
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/bin" />
|
17
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/lib" />
|
18
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/pkg" />
|
19
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/.idea" />
|
19
20
|
</CLASSES>
|
20
21
|
<JAVADOC />
|
21
22
|
<SOURCES>
|
22
|
-
<root url="file://$MODULE_DIR$/../
|
23
|
-
<root url="file://$MODULE_DIR$/../
|
24
|
-
<root url="file://$MODULE_DIR$/../
|
25
|
-
<root url="file://$MODULE_DIR$/../
|
23
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/bin" />
|
24
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/lib" />
|
25
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/pkg" />
|
26
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-cli/.idea" />
|
26
27
|
</SOURCES>
|
27
28
|
</library>
|
28
29
|
</orderEntry>
|
29
|
-
<orderEntry type="module
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
30
|
+
<orderEntry type="module-library">
|
31
|
+
<library name="dldinternet-mixlib-logging (v0.4.0, /Users/cdelange/Dropbox/DLDInternet/ws/gems-ws/dldinternet-mixlib-logging) [path][gem]">
|
32
|
+
<CLASSES>
|
33
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/bin" />
|
34
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/lib" />
|
35
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/pkg" />
|
36
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/.idea" />
|
37
|
+
</CLASSES>
|
38
|
+
<JAVADOC />
|
39
|
+
<SOURCES>
|
40
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/bin" />
|
41
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/lib" />
|
42
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/pkg" />
|
43
|
+
<root url="file://$MODULE_DIR$/../dldinternet-mixlib-logging/.idea" />
|
44
|
+
</SOURCES>
|
45
|
+
</library>
|
46
|
+
</orderEntry>
|
47
|
+
<orderEntry type="library" scope="PROVIDED" name="awesome_print (v1.2.0, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
48
|
+
<orderEntry type="library" scope="PROVIDED" name="detabulator (v0.1.0, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
49
|
+
<orderEntry type="library" scope="PROVIDED" name="inifile (v2.0.2, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
50
|
+
<orderEntry type="library" scope="PROVIDED" name="json (v1.8.1, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
51
|
+
<orderEntry type="library" scope="PROVIDED" name="json_pure (v1.8.1, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
52
|
+
<orderEntry type="library" scope="PROVIDED" name="little-plugger (v1.1.3, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
53
|
+
<orderEntry type="library" scope="PROVIDED" name="logging (v1.8.2, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
54
|
+
<orderEntry type="library" scope="PROVIDED" name="mixlib-cli (v1.5.0, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
55
|
+
<orderEntry type="library" scope="PROVIDED" name="multi_json (v1.10.1, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
56
|
+
<orderEntry type="library" scope="PROVIDED" name="psych (v2.0.5, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
57
|
+
<orderEntry type="library" scope="PROVIDED" name="rake (v10.3.2, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
58
|
+
<orderEntry type="library" scope="PROVIDED" name="semverse (v1.1.0, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
59
|
+
<orderEntry type="library" scope="PROVIDED" name="slop (v3.5.0, RVM: ruby-1.9.3-p547 [aws-cfn-compile]) [gem]" level="application" />
|
44
60
|
</component>
|
45
61
|
</module>
|
46
62
|
|
@@ -33,8 +33,22 @@ module Aws
|
|
33
33
|
when :DescriptionString
|
34
34
|
v = nil
|
35
35
|
begin
|
36
|
-
|
36
|
+
dependson = meta(:DependsOn)
|
37
37
|
rescue
|
38
|
+
dependson = ''
|
39
|
+
end
|
40
|
+
begin
|
41
|
+
required = meta(:Require)['Template'].map { |e| e.keys }.flatten
|
42
|
+
rescue
|
43
|
+
required = ''
|
44
|
+
end
|
45
|
+
if dependson or required
|
46
|
+
# noinspection RubyHashKeysTypesInspection
|
47
|
+
parents = {}
|
48
|
+
dependson.each { |i| parents[i] = true }
|
49
|
+
required.each { |i| parents[i] = true }
|
50
|
+
parents = "Parents: [#{parents.keys.join(',')}] "
|
51
|
+
else
|
38
52
|
parents = ''
|
39
53
|
end
|
40
54
|
# noinspection RubyExpressionInStringInspection
|
@@ -91,6 +91,10 @@ module Aws
|
|
91
91
|
break
|
92
92
|
end
|
93
93
|
end
|
94
|
+
unless path
|
95
|
+
@logger.error " !! error: Cannot calculate brick dirname in #{dir} for #{rsrc} with brick path: \n\t#{@config[:brick_path_list].join("\n\t")} \n"
|
96
|
+
abort!
|
97
|
+
end
|
94
98
|
patn = path
|
95
99
|
unless @config[:expandedpaths]
|
96
100
|
patn = short_path(path,3)
|
@@ -104,8 +108,12 @@ module Aws
|
|
104
108
|
end
|
105
109
|
|
106
110
|
def short_path(path,n=2)
|
107
|
-
|
108
|
-
|
111
|
+
if path
|
112
|
+
patn = path.split(File::SEPARATOR)[0-n..-1]
|
113
|
+
patn = patn.join(File::SEPARATOR)
|
114
|
+
else
|
115
|
+
path
|
116
|
+
end
|
109
117
|
end
|
110
118
|
end
|
111
119
|
end
|
@@ -45,7 +45,7 @@ module Aws
|
|
45
45
|
@optional[:directory] = true
|
46
46
|
setup_config
|
47
47
|
|
48
|
-
set_config_path_option(@config[:stack_path],'STACK_PATH'
|
48
|
+
set_config_path_option(@config[:stack_path],'STACK_PATH','.',:stack_path_list,'stack path')
|
49
49
|
set_config_path_option(@config[:brick_path],'BRICK_PATH',@config[:directory],:brick_path_list,'brick path',:stack_path_list)
|
50
50
|
|
51
51
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'rubygems/dependency'
|
2
2
|
require 'semverse'
|
3
3
|
require 'awesome_print'
|
4
|
+
require 'aws/cfn/dsl/version'
|
5
|
+
require 'aws/cfn/decompiler/version'
|
4
6
|
|
5
7
|
module Aws
|
6
8
|
module Cfn
|
@@ -24,7 +26,7 @@ module Aws
|
|
24
26
|
end
|
25
27
|
end
|
26
28
|
rescue Exception => e
|
27
|
-
|
29
|
+
abort! e
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
@@ -44,13 +46,29 @@ module Aws
|
|
44
46
|
version,constraint = case name
|
45
47
|
when /Compiler/
|
46
48
|
[Aws::Cfn::Compiler::VERSION,constraint]
|
49
|
+
when /^(DeCompiler|Decompiler)/
|
50
|
+
[Aws::Cfn::DeCompiler::VERSION,constraint]
|
51
|
+
when /^(Dsl|DSL)/
|
52
|
+
[Aws::Cfn::Dsl::VERSION,constraint]
|
53
|
+
when /Gems/
|
54
|
+
constraint.map { |h|
|
55
|
+
h.map { |k,v|
|
56
|
+
ver = eval "#{k}::VERSION"
|
57
|
+
semver = ::Semverse::Version.new(ver)
|
58
|
+
raise "The constraint failed: #{k} #{v} (Found #{ver})" unless ::Semverse::Constraint.new(v).satisfies?(semver)
|
59
|
+
}
|
60
|
+
}
|
61
|
+
return
|
62
|
+
when /Template/
|
63
|
+
@logger.warn "Template constraint check supported but not implemented in version #{VERSION}: #{constraint}"
|
64
|
+
return
|
47
65
|
# when /MinVersion/
|
48
66
|
# [Aws::Cfn::Compiler::VERSION,">= #{constraint}"]
|
49
67
|
else
|
50
68
|
raise "#{name} constraint not supported"
|
51
69
|
end
|
52
70
|
|
53
|
-
raise "The constraint failed: #{name} #{constraint}" unless ::Semverse::Constraint.new(constraint).satisfies?(::Semverse::Version.new(version))
|
71
|
+
raise "The constraint failed: #{name} #{constraint} (Found #{version})" unless ::Semverse::Constraint.new(constraint).satisfies?(::Semverse::Version.new(version))
|
54
72
|
|
55
73
|
end
|
56
74
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-cfn-compiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PKinney
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -106,14 +106,28 @@ dependencies:
|
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.9.
|
109
|
+
version: 0.9.4
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - ! '>='
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.9.
|
116
|
+
version: 0.9.4
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: mixlib-cli
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ! '>'
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
type: :runtime
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ! '>'
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
117
131
|
- !ruby/object:Gem::Dependency
|
118
132
|
name: dldinternet-mixlib-cli
|
119
133
|
requirement: !ruby/object:Gem::Requirement
|