cloudspin-stack-artefact 0.1.2 → 0.1.3

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: 41d00f91b5c0d23dd7a947b9c7985a4b78ab105338e10d4a07bb26f358518bcc
4
- data.tar.gz: ddfb0ec1e0760fc5c4fd2349f09d6b5e249252d323dff79038fa6cefc854e7b6
2
+ SHA1:
3
+ metadata.gz: 0c4f9e942673f52f01c89912bd3486816f5d9715
4
+ data.tar.gz: be8029274463f48b7094ea1d418c5d5d5595029f
5
5
  SHA512:
6
- metadata.gz: a9dcfe3d98d039d33fbc2977db4801d3c8736cd1cf1bdc71d9cfbc4c43ea4e1bf796ca854d2b4ed08f26017530d2977c3209653fdc8064754dd0bd7544a1921b
7
- data.tar.gz: b58165951fd182789c5e2c312f7dc65cee87b223518ced92ded129bbe9105814e75809fabf923b88288f792abc6daa04a3beee57846060a8ceb9b24a9ec2f336
6
+ metadata.gz: b90c97a527bb8374018167388e298502a113bbee411adaf31fde3409a090f308ed5687983b28db5552f577ac67ae14688e8fa23a769968d7d4b5734ca86115fd
7
+ data.tar.gz: 14f9e715e25e80272576bdf65c234985581297ae8aa2d65ea2ab27e7bc9991244461862a14b84bf3ae560ac8bc2114dc78bbe6d8600b8371ae85c2e303a54c3c
@@ -25,8 +25,8 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.add_dependency 'cloudspin-stack'
27
27
  spec.add_dependency 'thor'
28
+ spec.add_development_dependency 'rake'
28
29
 
29
- spec.add_development_dependency 'bundler', '~> 1.16'
30
- spec.add_development_dependency 'rake', '~> 10.0'
31
- spec.add_development_dependency 'rspec', '~> 3.0'
30
+ spec.add_development_dependency 'bundler'
31
+ spec.add_development_dependency 'rspec'
32
32
  end
@@ -17,6 +17,7 @@ module Cloudspin
17
17
  attr_reader :stack_definition_version
18
18
  attr_reader :dist_folder
19
19
  attr_reader :folders_to_package
20
+ attr_reader :files_to_package
20
21
 
21
22
  def initialize(stack_definition:,
22
23
  dist_folder:)
@@ -27,6 +28,7 @@ module Cloudspin
27
28
  @folders_to_package = {
28
29
  stack_definition.terraform_source_path => 'src'
29
30
  }
31
+ @files_to_package = []
30
32
  end
31
33
 
32
34
  def build
@@ -37,12 +39,21 @@ module Cloudspin
37
39
  mkpath File.dirname(artefact_contents_folder + '/' + destination)
38
40
  cp_r(source, artefact_contents_folder + '/' + destination)
39
41
  }
42
+ files_to_package.each { |file|
43
+ puts "Copying #{file} to #{artefact_contents_folder + '/' + file}"
44
+ cp(file, artefact_contents_folder + '/' + file)
45
+ }
40
46
  end
41
47
 
42
- def add_folder_to_package(source_folder, artefact_subfolder:)
48
+ def add_folder_to_package(source_folder, artefact_subfolder: nil)
49
+ artefact_subfolder ||= File.basename(source_folder)
43
50
  @folders_to_package[source_folder] = artefact_subfolder
44
51
  end
45
52
 
53
+ def add_file_to_package(source_file)
54
+ @files_to_package << source_file
55
+ end
56
+
46
57
  def package
47
58
  puts "Create #{artefact_path} from #{artefact_contents_folder}"
48
59
  rm_f(artefact_path)
@@ -19,7 +19,12 @@ module Cloudspin
19
19
  :desc => 'The artefact will be created in this folder'
20
20
 
21
21
  desc 'build', 'Assemble the files to be packaged'
22
+ option :inspec_folder,
23
+ :aliases => '-i',
24
+ :banner => 'PATH',
25
+ :default => './inspec'
22
26
  def build
27
+ add_folder(options[:inspec_folder])
23
28
  builder.build
24
29
  end
25
30
 
@@ -41,12 +46,18 @@ module Cloudspin
41
46
 
42
47
  no_commands do
43
48
  def builder
44
- Cloudspin::Stack::Artefact::Builder.new(stack_definition: stack_definition,
45
- dist_folder: options[:dist_folder])
49
+ @builder ||= Cloudspin::Stack::Artefact::Builder.new(
50
+ stack_definition: stack_definition,
51
+ dist_folder: options[:dist_folder]
52
+ )
53
+ end
54
+
55
+ def add_folder(folder = nil)
56
+ builder.add_folder_to_package(folder) if Dir.exists?(folder)
46
57
  end
47
58
 
48
59
  def stack_definition
49
- Cloudspin::Stack::Definition.from_file(options[:terraform_source] + '/stack.yaml')
60
+ @definition ||= Cloudspin::Stack::Definition.from_file(options[:terraform_source] + '/stack.yaml')
50
61
  end
51
62
  end
52
63
 
@@ -1,7 +1,7 @@
1
1
  module Cloudspin
2
2
  module Stack
3
3
  module Artefact
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
6
6
  end
7
7
  end
@@ -12,7 +12,9 @@ module Cloudspin
12
12
 
13
13
  def define
14
14
  desc 'Assemble files to be packaged'
15
- task :build do |t, args|
15
+ task :build, [:inspec_folder, :config_file] do |t, args|
16
+ add_folder(args[:inspec_folder] || './inspec')
17
+ add_file(args[:config_file] || './spin-default.yaml')
16
18
  builder.build
17
19
  end
18
20
 
@@ -22,13 +24,23 @@ module Cloudspin
22
24
  end
23
25
  end
24
26
 
27
+ def add_folder(folder)
28
+ builder.add_folder_to_package(folder) if Dir.exists?(folder)
29
+ end
30
+
31
+ def add_file(filename)
32
+ builder.add_file_to_package(filename) if File.exists?(filename)
33
+ end
34
+
25
35
  def builder
26
- Cloudspin::Stack::Artefact::Builder.new(stack_definition: stack_definition,
27
- dist_folder: @dist_folder)
36
+ @builder ||= Cloudspin::Stack::Artefact::Builder.new(
37
+ stack_definition: stack_definition,
38
+ dist_folder: @dist_folder
39
+ )
28
40
  end
29
41
 
30
42
  def stack_definition
31
- Cloudspin::Stack::Definition.from_file(@definition_folder + '/stack.yaml')
43
+ @definition ||= Cloudspin::Stack::Definition.from_file(@definition_folder + '/stack.yaml')
32
44
  end
33
45
 
34
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudspin-stack-artefact
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - 'kief '
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-24 00:00:00.000000000 Z
11
+ date: 2018-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cloudspin-stack
@@ -39,47 +39,47 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '1.16'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '1.16'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '3.0'
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '3.0'
82
+ version: '0'
83
83
  description:
84
84
  email:
85
85
  - cloudspin@kief.com
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  version: '0'
127
127
  requirements: []
128
128
  rubyforge_project:
129
- rubygems_version: 2.7.6
129
+ rubygems_version: 2.6.14
130
130
  signing_key:
131
131
  specification_version: 4
132
132
  summary: Classes to manage cloudspin stack artefacts