bricky 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
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