docks 0.0.1 → 0.0.2
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.
- data/VERSION +1 -1
- data/bin/docks_build +7 -0
- data/bin/docks_parse +6 -0
- data/docks.gemspec +6 -2
- data/lib/docks.rb +5 -1
- data/lib/docks/build.rb +19 -0
- data/lib/docks/list.rb +7 -2
- data/spec/data/{Basic.dock → basic/Dockerfile} +0 -0
- data/spec/docks_spec.rb +1 -1
- data/spec/spec_helper.rb +7 -0
- metadata +9 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/bin/docks_build
ADDED
data/bin/docks_parse
ADDED
data/docks.gemspec
CHANGED
@@ -5,13 +5,14 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "docks"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mike Harris"]
|
12
12
|
s.date = "2013-07-10"
|
13
13
|
s.description = "docks"
|
14
14
|
s.email = "mharris717@gmail.com"
|
15
|
+
s.executables = ["docks_build", "docks_parse"]
|
15
16
|
s.extra_rdoc_files = [
|
16
17
|
"LICENSE.txt",
|
17
18
|
"README.rdoc"
|
@@ -25,14 +26,17 @@ Gem::Specification.new do |s|
|
|
25
26
|
"README.rdoc",
|
26
27
|
"Rakefile",
|
27
28
|
"VERSION",
|
29
|
+
"bin/docks_build",
|
30
|
+
"bin/docks_parse",
|
28
31
|
"defs/mharris717.yml",
|
29
32
|
"dockerfiles/rubybuild_rails",
|
30
33
|
"docks.gemspec",
|
31
34
|
"lib/docks.rb",
|
35
|
+
"lib/docks/build.rb",
|
32
36
|
"lib/docks/line.rb",
|
33
37
|
"lib/docks/list.rb",
|
34
38
|
"lib/docks/parser.rb",
|
35
|
-
"spec/data/
|
39
|
+
"spec/data/basic/Dockerfile",
|
36
40
|
"spec/docks_spec.rb",
|
37
41
|
"spec/spec_helper.rb"
|
38
42
|
]
|
data/lib/docks.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
require 'mharris_ext'
|
3
3
|
require 'open-uri'
|
4
|
+
require 'fileutils'
|
4
5
|
|
5
|
-
%w(list parser line).each do |f|
|
6
|
+
%w(list parser line build).each do |f|
|
6
7
|
load File.expand_path(File.dirname(__FILE__))+"/docks/#{f}.rb"
|
7
8
|
end
|
8
9
|
|
@@ -12,5 +13,8 @@ module Docks
|
|
12
13
|
parser = Parser.new(:filename => file, :list => List.new)
|
13
14
|
parser.to_s
|
14
15
|
end
|
16
|
+
def build(file,ops_str)
|
17
|
+
Build.new(:filename => file, :ops_str => ops_str).build!
|
18
|
+
end
|
15
19
|
end
|
16
20
|
end
|
data/lib/docks/build.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Docks
|
2
|
+
class Build
|
3
|
+
include FromHash
|
4
|
+
attr_accessor :filename, :ops_str
|
5
|
+
fattr(:temp_dir) do
|
6
|
+
res = "/tmp/docks_#{rand(100000000000000)}"
|
7
|
+
FileUtils.mkdir res
|
8
|
+
res
|
9
|
+
end
|
10
|
+
def build!
|
11
|
+
parsed = Docks.parsed(filename)
|
12
|
+
File.create "#{temp_dir}/Dockerfile",parsed
|
13
|
+
|
14
|
+
cmd = "docker build #{ops_str} #{temp_dir}"
|
15
|
+
puts cmd
|
16
|
+
exec cmd unless ops_str.to_s =~ /--mock/
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/docks/list.rb
CHANGED
@@ -15,12 +15,17 @@ module Docks
|
|
15
15
|
handle_yaml_hash(from_yaml)
|
16
16
|
end
|
17
17
|
|
18
|
+
def get_remote_path(path)
|
19
|
+
dir = "https://raw.github.com/mharris717/docks/master/dockerfiles"
|
20
|
+
"#{dir}/#{path}"
|
21
|
+
end
|
22
|
+
|
18
23
|
def expand_dock_path(path)
|
19
24
|
if path =~ /http/i
|
20
25
|
path
|
21
26
|
else
|
22
|
-
|
23
|
-
|
27
|
+
|
28
|
+
get_remote_path path
|
24
29
|
end
|
25
30
|
end
|
26
31
|
|
File without changes
|
data/spec/docks_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -10,3 +10,10 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
10
10
|
RSpec.configure do |config|
|
11
11
|
|
12
12
|
end
|
13
|
+
|
14
|
+
Docks::List.class_eval do
|
15
|
+
def get_remote_path(path)
|
16
|
+
dir = File.expand_path(File.dirname(__FILE__)+"/../dockerfiles")
|
17
|
+
"#{dir}/#{path}"
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -93,7 +93,9 @@ dependencies:
|
|
93
93
|
version: 1.8.4
|
94
94
|
description: docks
|
95
95
|
email: mharris717@gmail.com
|
96
|
-
executables:
|
96
|
+
executables:
|
97
|
+
- docks_build
|
98
|
+
- docks_parse
|
97
99
|
extensions: []
|
98
100
|
extra_rdoc_files:
|
99
101
|
- LICENSE.txt
|
@@ -107,14 +109,17 @@ files:
|
|
107
109
|
- README.rdoc
|
108
110
|
- Rakefile
|
109
111
|
- VERSION
|
112
|
+
- bin/docks_build
|
113
|
+
- bin/docks_parse
|
110
114
|
- defs/mharris717.yml
|
111
115
|
- dockerfiles/rubybuild_rails
|
112
116
|
- docks.gemspec
|
113
117
|
- lib/docks.rb
|
118
|
+
- lib/docks/build.rb
|
114
119
|
- lib/docks/line.rb
|
115
120
|
- lib/docks/list.rb
|
116
121
|
- lib/docks/parser.rb
|
117
|
-
- spec/data/
|
122
|
+
- spec/data/basic/Dockerfile
|
118
123
|
- spec/docks_spec.rb
|
119
124
|
- spec/spec_helper.rb
|
120
125
|
homepage: http://github.com/mharris717/docks
|
@@ -132,7 +137,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
137
|
version: '0'
|
133
138
|
segments:
|
134
139
|
- 0
|
135
|
-
hash: -
|
140
|
+
hash: -63376217560962158
|
136
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
142
|
none: false
|
138
143
|
requirements:
|