bricky 0.0.6 → 0.0.7

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTc3YzJiMTFhZWE0ZDg4Y2UwNWE3YTA2MmJlNWM0YWNlNzYzZDk1Yg==
4
+ MTQ2ODNjMDgwNWViODIxN2I3ZGM4ZWRlNjhhNDc0ZGJhYjA2YzY3Zg==
5
5
  data.tar.gz: !binary |-
6
- NzYyM2M4NjQ5ZDg3OGQ0Yzk2NjI5NmMzZDJmZjNhMGYzYWNkYWE5NQ==
6
+ MzJjNjAxZGQ3OWI2YTc2Yzg1NDdlZTk5ZjgwYjEwNmZhYzU5ODU4Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWFmNTNiODJjMWRhNDljZTk3NzU3MmFiMjIyYTU3NWZiYzI5NWZhNzFkMzI4
10
- ZTEyZjU4YjRiNzA3OWVhZWM0MDhmYjZlMzcxNGViYTQ4NDc1OTdmODA3YjJm
11
- N2E4MDhiYTkzMzJhY2Y2MmY5ZDU0ZTRiYzZmOWY2YmZiOWQ2ZGE=
9
+ OGJmYWU3ZDlkNjQ1YTQxYjhhNzIyMDg1MDE2YmI5MTExN2Q4MjYxMDMwOTU4
10
+ NDQ5ZGE0YTlmN2I3MTA2YTMzNzg3ZjljM2ZiMjgwYjY5YTFhYjI2NGE5Mjhi
11
+ MDE1ZDM5Y2JjMzEwMWM3YTllODA3ODhjOTMyYTYwYjE2ZTFlOTU=
12
12
  data.tar.gz: !binary |-
13
- YmYwYzlkZWZhYTQ3M2Y1YzllYTFiNzY3YmUxNWJlYzRhMzEyMjM4Y2JkYTNj
14
- MGQ0NTQ4YzRmYTU3Mjg2MDY3NTc4NmI1ZDgzNTZiNjdkZmVlOTkyMWU2YmMx
15
- OTBjZTlkMDI1ZWIyZjM5NWVhODc0ZTdjZGZmNDUxZTU0Y2ZiZjE=
13
+ MWIwODkwMWFmMTQwZDUzZTQ3ODViZDE1ZGI0YTQ4YjEzNmYyODgzNzk4OGQz
14
+ Zjg3OTAyYTI3OWYyMDJmODY5NTMwNzE3Nzg1OTBhYjg1ZmE4NTVmODE2OGE1
15
+ Njc4MjRkYmEyNDBmZDVlN2E5YzMxMjI5OTlmNDg1MjU4ZjA3M2Q=
@@ -8,7 +8,7 @@ execute() {
8
8
  info 'Vendor project with Bundler'
9
9
  pushd /opt/workspace/source
10
10
  gem install bundler --conservative --no-ri --no-rdoc
11
- bundle install --deployment --without=development:test
11
+ bundle install --deployment --without=$BRICKS_BUNDLE_WITHOUT
12
12
  popd
13
13
  }
14
14
 
@@ -1,3 +1,3 @@
1
1
  FROM <%= self.image %>
2
- RUN useradd -u <%= self.uid %> builder
2
+ RUN useradd -u <%= self.uid %> -m -d /home/builder builder
3
3
  RUN mkdir -p /opt/workspace && chown -R builder. /opt
@@ -6,5 +6,6 @@ bricky:
6
6
  source: .
7
7
  bundle:
8
8
  cache: true
9
+ without: development:test
9
10
  debian:
10
11
  build: bricky/build
@@ -10,6 +10,9 @@ module Bricky
10
10
  def entrypoint
11
11
  end
12
12
 
13
+ def environments
14
+ end
15
+
13
16
  private
14
17
  def bricks_path
15
18
  Bricky.config.bricks_path
@@ -14,13 +14,17 @@ module Bricky
14
14
  "/bricks/bundle/builder"
15
15
  end
16
16
 
17
+ def environments
18
+ ["-e BRICKS_BUNDLE_WITHOUT=#{config.fetch('without', 'development:test')}"]
19
+ end
20
+
17
21
  private
18
22
  def cached
19
23
  ["-v #{local_path}:/opt/workspace/source/vendor/bundle"]
20
24
  end
21
25
 
22
26
  def local_path
23
- path = "/tmp/bricky/cache/#{digest}"
27
+ path = "#{Bricky.config.tmp_path}/cache/#{digest}"
24
28
  FileUtils::mkdir_p(path)
25
29
  path
26
30
  end
@@ -2,8 +2,11 @@ module Bricky
2
2
  module Bricks
3
3
  class Helper < Base
4
4
  def arguments
5
- ["-v #{bricks_path}/helper:/bricks/helper",
6
- "-e BRICKS_HOME=/bricks/helper"]
5
+ ["-v #{bricks_path}/helper:/bricks/helper"]
6
+ end
7
+
8
+ def environments
9
+ ["-e BRICKS_HOME=/bricks/helper"]
7
10
  end
8
11
  end
9
12
  end
data/lib/bricky/bricks.rb CHANGED
@@ -11,9 +11,9 @@ module Bricky
11
11
  extend self
12
12
 
13
13
  def resolve
14
- Bricky.config.bricks.collect do |name, config|
15
- resolve_and_initialize(name, config)
16
- end.uniq << Bricky::Bricks::Helper.new({})
14
+ default_bricks + Bricky.config.bricks.collect do |name, config|
15
+ resolve_and_initialize(name, config)
16
+ end.uniq
17
17
  end
18
18
 
19
19
  def resolve_and_initialize(name, config)
@@ -21,5 +21,10 @@ module Bricky
21
21
  return Bricky::Bricks::Debian.new(config) if name.eql? "debian"
22
22
  return Bricky::Bricks::Mounts.new(config) if name.eql? "mounts"
23
23
  end
24
+
25
+ private
26
+ def default_bricks
27
+ [Bricky::Bricks::Helper.new({})]
28
+ end
24
29
  end
25
30
  end
@@ -37,7 +37,7 @@ module Bricky
37
37
  end
38
38
 
39
39
  def create_hack_image(image)
40
- hack_path = FileUtils::mkdir_p("/tmp/bricky/containers/#{Bricky.config.name}").first
40
+ hack_path = FileUtils::mkdir_p("#{Bricky.config.tmp_path}/containers/#{Bricky.config.name}").first
41
41
  File.open("#{hack_path}/Dockerfile", "w") { |file| file.write(parse_hack_template(image)) }
42
42
  hack_path
43
43
  end
@@ -25,14 +25,17 @@ module Bricky
25
25
 
26
26
  def command(image)
27
27
  bricks = Bricky::Bricks.resolve
28
+ envs = bricks.collect(&:environments).uniq.join(" ")
28
29
  arguments = bricks.collect(&:arguments).uniq.join(" ")
29
30
  entrypoints = bricks.collect(&:entrypoint).compact.uniq.join(" && ")
30
31
 
31
- "docker run #{arguments} -i -t #{image.name} /bin/bash -l -c '#{entrypoints}'"
32
+ "docker run #{envs} #{arguments} -i -t #{image.name} /bin/bash -l -c '#{entrypoints}'"
32
33
  end
33
34
 
34
35
  def format(command)
35
- command.split("-v ").join("\n\t -v ").split("-i ").join("\n\t -i ")
36
+ ["-v ", "-i ", "-e "].inject(command) do |result, param|
37
+ result.split(param).join("\n\t #{param}")
38
+ end
36
39
  end
37
40
  end
38
41
  end
data/lib/bricky/config.rb CHANGED
@@ -22,6 +22,10 @@ module Bricky
22
22
  File.expand_path("#{base_path}/etc/hacker", __FILE__)
23
23
  end
24
24
 
25
+ def tmp_path
26
+ "#{ENV['HOME']}/.bricky"
27
+ end
28
+
25
29
  private
26
30
  def base_path
27
31
  "../../.."
@@ -1,3 +1,3 @@
1
1
  module Bricky
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bricky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - andrerocker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-08 00:00:00.000000000 Z
11
+ date: 2015-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  version: '0'
136
136
  requirements: []
137
137
  rubyforge_project:
138
- rubygems_version: 2.4.3
138
+ rubygems_version: 2.4.4
139
139
  signing_key:
140
140
  specification_version: 4
141
141
  summary: a new way to build and package applications