bricky 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/lib/bricky/command.rb +22 -8
- data/lib/bricky/commands/base.rb +13 -0
- data/lib/bricky/commands/bootstrap.rb +1 -1
- data/lib/bricky/commands/builder.rb +1 -7
- data/lib/bricky/commands/install.rb +17 -9
- data/lib/bricky/requirements.rb +23 -0
- data/lib/bricky/setup.rb +4 -1
- data/lib/bricky/version.rb +1 -1
- metadata +6 -5
- data/lib/bricky/package.rb +0 -21
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjZmNGY2NGQwMzE4NDlhYzcxZmQxMWRiZjM0ZTU4MGNmMjcyYjdlMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTA0ODM2ZGQwYzZiMWUxOTI2OWZkOTNlYmU3MzkyNTExNzZlY2Q2Zg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjBiYWFiNzM1YTk4NmEyM2M3ZmI1ZDFhY2Q3OTFmM2NmZDU3YjI1ODA4ZmEx
|
10
|
+
MTY0N2RlNTQ1ZTMwMjJjOGNlYjAyYzkwOGE0YTUwMjMwNjAxM2VjYjYxYzY1
|
11
|
+
ZTkxZDg4NjYyZTEzNWI3OGVmZTYxMTgyMzY4MTE5N2Y2ZDI3MjM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NDcyN2UxYzNjMTNjMTYxOWFlZmE0MTQzZWY0YmQ4Zjk2MWEwMzYwZTQ4OTNj
|
14
|
+
MWM0MGYxNDA5ZDA3ZmQ4Nzg1YWNmMGM4OTNmZjNiNjI2YzRjN2E5MzRkMGZl
|
15
|
+
MzY0YTM1NTc3MDRiNzEyMjc5NjhlNjQ2MmE0YTY0ODVkNWJhMDM=
|
data/lib/bricky/command.rb
CHANGED
@@ -2,29 +2,43 @@ require "thor"
|
|
2
2
|
require "ostruct"
|
3
3
|
require "colorize"
|
4
4
|
|
5
|
+
require "bricky/requirements"
|
6
|
+
require "bricky/commands/base"
|
5
7
|
require "bricky/commands/install"
|
6
8
|
require "bricky/commands/builder"
|
7
9
|
require "bricky/commands/bootstrap"
|
8
10
|
|
9
11
|
module Bricky
|
10
12
|
class Command < Thor
|
11
|
-
desc :install, "
|
13
|
+
desc :install, "install configuration files"
|
12
14
|
def install
|
13
|
-
|
14
|
-
command.execute
|
15
|
+
dispatch(:install)
|
15
16
|
end
|
16
17
|
|
17
|
-
desc :bootstrap, "bootstrap
|
18
|
+
desc :bootstrap, "bootstrap builder images"
|
18
19
|
def bootstrap
|
19
|
-
|
20
|
-
|
20
|
+
requirements.check_and_execute do
|
21
|
+
dispatch(:bootstrap)
|
22
|
+
end
|
21
23
|
end
|
22
24
|
|
23
25
|
desc :builder, "build project"
|
24
26
|
method_option :shell, :type => :boolean, :aliases => "-s"
|
25
27
|
def builder
|
26
|
-
|
27
|
-
|
28
|
+
requirements.check_and_execute do
|
29
|
+
dispatch(:builder)
|
30
|
+
end
|
28
31
|
end
|
32
|
+
|
33
|
+
private
|
34
|
+
def requirements
|
35
|
+
Bricky::Requirements.new
|
36
|
+
end
|
37
|
+
|
38
|
+
def dispatch(name)
|
39
|
+
clazz = Kernel.const_get("Bricky::Commands::#{name.to_s.capitalize}")
|
40
|
+
command = clazz.new(options)
|
41
|
+
command.execute
|
42
|
+
end
|
29
43
|
end
|
30
44
|
end
|
@@ -2,13 +2,7 @@ require "bricky/bricks"
|
|
2
2
|
|
3
3
|
module Bricky
|
4
4
|
module Commands
|
5
|
-
class Builder
|
6
|
-
attr_accessor :options
|
7
|
-
|
8
|
-
def initialize(options)
|
9
|
-
@options = options
|
10
|
-
end
|
11
|
-
|
5
|
+
class Builder < Base
|
12
6
|
def execute
|
13
7
|
puts "Building Project".colorize(:light_blue)
|
14
8
|
build(Bricky::Image.new("builder"))
|
@@ -1,16 +1,24 @@
|
|
1
1
|
module Bricky
|
2
2
|
module Commands
|
3
|
-
class Install <
|
4
|
-
include Thor::Actions
|
5
|
-
|
3
|
+
class Install < Base
|
6
4
|
def execute
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
installer = InstallThor.new
|
6
|
+
installer.execute
|
7
|
+
end
|
8
|
+
|
9
|
+
# Inner class :( just to work with thor
|
10
|
+
class InstallThor < Thor::Group
|
11
|
+
include Thor::Actions
|
12
|
+
|
13
|
+
def execute
|
14
|
+
puts "Setup bricky configuration files".colorize(:light_blue)
|
15
|
+
directory "bricky"
|
16
|
+
copy_file "Brickyfile"
|
17
|
+
end
|
11
18
|
|
12
|
-
|
13
|
-
|
19
|
+
def self.source_root
|
20
|
+
File.expand_path("../../../../etc/templates", __FILE__)
|
21
|
+
end
|
14
22
|
end
|
15
23
|
end
|
16
24
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Bricky
|
2
|
+
class Requirements
|
3
|
+
def check_and_execute
|
4
|
+
if pending_requirements
|
5
|
+
print "Make sure you have the following requirements: "
|
6
|
+
puts requirements.join(',').colorize(:red)
|
7
|
+
else
|
8
|
+
yield
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
def requirements
|
14
|
+
["docker"]
|
15
|
+
end
|
16
|
+
|
17
|
+
def pending_requirements
|
18
|
+
requirements.detect do |command|
|
19
|
+
not system("which #{command} > /dev/null 2>&1")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/bricky/setup.rb
CHANGED
@@ -9,10 +9,13 @@ module Bricky
|
|
9
9
|
|
10
10
|
private
|
11
11
|
def self.from_brickyfile
|
12
|
-
configuration = "#{Dir.pwd}/Brickyfile"
|
13
12
|
if File.exists?(configuration)
|
14
13
|
eval(open("#{Dir.pwd}/Brickyfile").read)
|
15
14
|
end
|
16
15
|
end
|
16
|
+
|
17
|
+
def self.configuration
|
18
|
+
"#{Dir.pwd}/Brickyfile"
|
19
|
+
end
|
17
20
|
end
|
18
21
|
end
|
data/lib/bricky/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bricky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- andrerocker
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.7.7
|
83
|
-
description:
|
83
|
+
description: a smart way to build software packages
|
84
84
|
email:
|
85
85
|
- andre.souza@gmail.com
|
86
86
|
executables:
|
@@ -108,15 +108,16 @@ files:
|
|
108
108
|
- lib/bricky/bricks/mounts.rb
|
109
109
|
- lib/bricky/bricks/ruby.rb
|
110
110
|
- lib/bricky/command.rb
|
111
|
+
- lib/bricky/commands/base.rb
|
111
112
|
- lib/bricky/commands/bootstrap.rb
|
112
113
|
- lib/bricky/commands/builder.rb
|
113
114
|
- lib/bricky/commands/install.rb
|
114
115
|
- lib/bricky/config.rb
|
115
116
|
- lib/bricky/image.rb
|
116
|
-
- lib/bricky/
|
117
|
+
- lib/bricky/requirements.rb
|
117
118
|
- lib/bricky/setup.rb
|
118
119
|
- lib/bricky/version.rb
|
119
|
-
homepage: http://
|
120
|
+
homepage: http://github.com/andrerocker/bricky
|
120
121
|
licenses:
|
121
122
|
- MIT
|
122
123
|
metadata: {}
|
@@ -139,5 +140,5 @@ rubyforge_project:
|
|
139
140
|
rubygems_version: 2.4.4
|
140
141
|
signing_key:
|
141
142
|
specification_version: 4
|
142
|
-
summary: a
|
143
|
+
summary: a smart way to build software packages
|
143
144
|
test_files: []
|
data/lib/bricky/package.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
module Bricky
|
2
|
-
class Package
|
3
|
-
attr_accessor :image
|
4
|
-
|
5
|
-
def initialize(image)
|
6
|
-
self.image = image
|
7
|
-
end
|
8
|
-
|
9
|
-
project_path = File.expand_path(".")
|
10
|
-
builded_path = File.expand_path(Bricky.config.package.build)
|
11
|
-
cachedz_path = File.expand_path(Bricky.config.package.cache)
|
12
|
-
|
13
|
-
def script
|
14
|
-
"#{script_path}/#{image.name}"
|
15
|
-
end
|
16
|
-
|
17
|
-
def script_path
|
18
|
-
"#{Bricky.config.full_scripts_path}/#{Bricky.config.package.output}"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|