1
+ require 'yaml'
2
+
1
3
class JT
2
4
class Docker
3
5
include Utilities
@@ -18,6 +20,14 @@ def docker(*args)
18
20
end
19
21
end
20
22
23
+ private def docker_config
24
+ @config ||= YAML . load_file ( File . join ( TRUFFLERUBY_DIR , 'tool' , 'docker-configs.yaml' ) )
25
+ end
26
+
27
+ private def docker_distros
28
+ docker_config . each_pair . select { |_name , details | details . key? ( 'base' ) } . map ( &:first ) . map { |distro | "--#{ distro } " }
29
+ end
30
+
21
31
private def docker_build ( *args )
22
32
if args . first . nil? || args . first . start_with? ( '--' )
23
33
image_name = 'truffleruby-test'
@@ -30,7 +40,7 @@ def docker(*args)
30
40
end
31
41
32
42
private def docker_test ( *args )
33
- distros = [ '--ol7' , '--ubuntu1804' , '--ubuntu1604' , '--fedora28' ]
43
+ distros = docker_distros
34
44
35
45
distros . each do |distro |
36
46
puts '**********************************'
@@ -50,8 +60,7 @@ def docker(*args)
50
60
end
51
61
52
62
private def dockerfile ( *args )
53
- require 'yaml'
54
- config = @config ||= YAML . load_file ( File . join ( TRUFFLERUBY_DIR , 'tool' , 'docker-configs.yaml' ) )
63
+ config = docker_config
55
64
56
65
distro = 'ol7'
57
66
install_method = nil
@@ -65,7 +74,7 @@ def docker(*args)
65
74
until args . empty?
66
75
arg = args . shift
67
76
case arg
68
- when '--ol7' , '--ubuntu1804' , '--ubuntu1604' , '--fedora28'
77
+ when * docker_distros
69
78
distro = arg [ 2 ..-1 ]
70
79
when '--graalvm'
71
80
install_method = :graalvm
0 commit comments