avm-eac_generic_base0 0.15.3 → 0.16.0
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 +4 -4
- data/lib/avm/eac_generic_base0/sources/docker/runner.rb +50 -2
- data/lib/avm/eac_generic_base0/version.rb +1 -1
- metadata +15 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5b7f5696fed0e59b9974e10ef88818f49ef9ae1074e60b9eb141c93901e2fd6a
|
|
4
|
+
data.tar.gz: 9cbc42e5e3bb5a2cc68a1f973ad4ce11101cfe1adca0ae8cbee6e6c234be390f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7e327749e77cd046225e8ea2248c8270bb325f5a94d9c33b3a82e8351b5e0459951c4543f061e013df516680f45c8fc7966a29c687b93b4c043143629234cdac
|
|
7
|
+
data.tar.gz: 5c9687f741c53b0b25e0c999aa5936021536587d193d3f586babfd535eef44d8dc69edd24d59c9557ffbff5b5c58fe0a1a235d8201617db8c0b0f23dfc115565
|
|
@@ -14,15 +14,21 @@ module Avm
|
|
|
14
14
|
desc 'Run a Docker container with source mapped.'
|
|
15
15
|
arg_opt '-c', '--command-arg', 'Arguments for [COMMAND] [ARG...].', optional: true,
|
|
16
16
|
repeat: true
|
|
17
|
+
bool_opt '-n', '--new', 'Force the creation of a new container.'
|
|
17
18
|
end
|
|
18
19
|
|
|
20
|
+
# @return [void]
|
|
19
21
|
def run
|
|
20
22
|
start_banner
|
|
21
|
-
|
|
23
|
+
new_container? ? run_container : start_container
|
|
22
24
|
end
|
|
23
25
|
|
|
26
|
+
# @return [void]
|
|
24
27
|
def start_banner
|
|
25
28
|
infov 'Image', docker_image
|
|
29
|
+
infov 'Container name', container_name
|
|
30
|
+
infov 'Container exist?', container_exist?
|
|
31
|
+
infov 'New container?', new_container?
|
|
26
32
|
infov 'Command', ::Shellwords.join(command_args)
|
|
27
33
|
end
|
|
28
34
|
|
|
@@ -38,6 +44,22 @@ module Avm
|
|
|
38
44
|
end
|
|
39
45
|
end
|
|
40
46
|
|
|
47
|
+
# @return [Boolean]
|
|
48
|
+
memoize def container_exist?
|
|
49
|
+
docker_container.exist?
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Name that identifies the container associated with the source, so it can be
|
|
53
|
+
# found and reused on the next run.
|
|
54
|
+
#
|
|
55
|
+
# @return [String]
|
|
56
|
+
def container_name
|
|
57
|
+
[
|
|
58
|
+
self.class.name.parameterize,
|
|
59
|
+
runner_context.call(:subject).path.to_s.parameterize
|
|
60
|
+
].join('_')
|
|
61
|
+
end
|
|
62
|
+
|
|
41
63
|
def default_command_args
|
|
42
64
|
bash_command_args
|
|
43
65
|
end
|
|
@@ -45,13 +67,39 @@ module Avm
|
|
|
45
67
|
def docker_container
|
|
46
68
|
docker_image.container
|
|
47
69
|
.volume(runner_context.call(:subject).path, CONTAINER_SOURCE_PATH)
|
|
48
|
-
.interactive(true).tty(true).command_args(command_args)
|
|
70
|
+
.interactive(true).tty(true).command_args(command_args).name(container_name)
|
|
49
71
|
end
|
|
50
72
|
|
|
51
73
|
# @return [EacDocker::Images::Base]
|
|
52
74
|
def docker_image
|
|
53
75
|
raise_abstract_method __method__
|
|
54
76
|
end
|
|
77
|
+
|
|
78
|
+
# @return [Boolean]
|
|
79
|
+
def new_container?
|
|
80
|
+
parsed.new? || !container_exist?
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Create and run a new container.
|
|
84
|
+
#
|
|
85
|
+
# @return [void]
|
|
86
|
+
def run_container
|
|
87
|
+
if container_exist?
|
|
88
|
+
infom "Remove existing container \"#{container_name}\"..."
|
|
89
|
+
docker_container.remove.execute!
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
infom "Creating container \"#{container_name}\"..."
|
|
93
|
+
docker_container.run_command.system!
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Start the existing container associated with the source.
|
|
97
|
+
#
|
|
98
|
+
# @return [void]
|
|
99
|
+
def start_container
|
|
100
|
+
infom "Starting existing container \"#{container_name}\"..."
|
|
101
|
+
docker_container.start_command.system!
|
|
102
|
+
end
|
|
55
103
|
end
|
|
56
104
|
end
|
|
57
105
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: avm-eac_generic_base0
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.16.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Put here the authors
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: avm
|
|
@@ -16,44 +15,48 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.
|
|
18
|
+
version: '0.102'
|
|
19
|
+
- - ">="
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: 0.102.4
|
|
20
22
|
type: :runtime
|
|
21
23
|
prerelease: false
|
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
25
|
requirements:
|
|
24
26
|
- - "~>"
|
|
25
27
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.
|
|
28
|
+
version: '0.102'
|
|
29
|
+
- - ">="
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: 0.102.4
|
|
27
32
|
- !ruby/object:Gem::Dependency
|
|
28
33
|
name: eac_ruby_utils
|
|
29
34
|
requirement: !ruby/object:Gem::Requirement
|
|
30
35
|
requirements:
|
|
31
36
|
- - "~>"
|
|
32
37
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.
|
|
38
|
+
version: '0.134'
|
|
34
39
|
type: :runtime
|
|
35
40
|
prerelease: false
|
|
36
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
42
|
requirements:
|
|
38
43
|
- - "~>"
|
|
39
44
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.
|
|
45
|
+
version: '0.134'
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
|
42
47
|
name: eac_ruby_gem_support
|
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
|
44
49
|
requirements:
|
|
45
50
|
- - "~>"
|
|
46
51
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0.
|
|
52
|
+
version: '0.15'
|
|
48
53
|
type: :development
|
|
49
54
|
prerelease: false
|
|
50
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
56
|
requirements:
|
|
52
57
|
- - "~>"
|
|
53
58
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0.
|
|
55
|
-
description:
|
|
56
|
-
email:
|
|
59
|
+
version: '0.15'
|
|
57
60
|
executables: []
|
|
58
61
|
extensions: []
|
|
59
62
|
extra_rdoc_files: []
|
|
@@ -69,10 +72,8 @@ files:
|
|
|
69
72
|
- lib/avm/eac_generic_base0/version.rb
|
|
70
73
|
- locale/en.yml
|
|
71
74
|
- locale/pt-BR.yml
|
|
72
|
-
homepage:
|
|
73
75
|
licenses: []
|
|
74
76
|
metadata: {}
|
|
75
|
-
post_install_message:
|
|
76
77
|
rdoc_options: []
|
|
77
78
|
require_paths:
|
|
78
79
|
- lib
|
|
@@ -87,8 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
87
88
|
- !ruby/object:Gem::Version
|
|
88
89
|
version: '0'
|
|
89
90
|
requirements: []
|
|
90
|
-
rubygems_version: 3.
|
|
91
|
-
signing_key:
|
|
91
|
+
rubygems_version: 3.6.9
|
|
92
92
|
specification_version: 4
|
|
93
93
|
summary: Put here de description.
|
|
94
94
|
test_files: []
|