avmtrf1-tools 0.10.1 → 0.11.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/avmtrf1.rb +3 -18
- data/lib/avmtrf1/docker.rb +9 -0
- data/lib/avmtrf1/docker/image.rb +46 -0
- data/lib/avmtrf1/executables.rb +15 -0
- data/lib/avmtrf1/php.rb +9 -0
- data/lib/avmtrf1/php/docker_image.rb +52 -0
- data/lib/avmtrf1/template.rb +20 -0
- data/lib/avmtrf1/tools/runner.rb +3 -6
- data/lib/avmtrf1/tools/runner/php.rb +25 -0
- data/lib/avmtrf1/tools/runner/php/docker.rb +69 -0
- data/lib/avmtrf1/tools/version.rb +1 -1
- metadata +32 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80e87ac18f4765f2114777fb4758b71b8c10496b69c101b01877471d91b66dc5
|
4
|
+
data.tar.gz: 8ec4eaaacc86d8d31d27cd50e406a18eee0ceb8afcc8c3218727d32c09e9ab02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8620e482183ecaf7ab59111e1e75d017604fbbc78476b8ba3f0603bcd7ae2304462eec2be419d1fbdbdf0961771cf182b2f414c2eb878995423be319eaf3856
|
7
|
+
data.tar.gz: 0555a4cb36cdafa3abf6f33d1a51fe5fd9c71a28f4fd4c68a6209b95d4b3750bca1c9ea7614a2a840648e7a0ae020f6c325a6198191bae2138c4cd9f00365b8b
|
data/lib/avmtrf1.rb
CHANGED
@@ -1,22 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'eac_ruby_utils/require_sub'
|
4
|
+
|
3
5
|
module Avmtrf1
|
4
|
-
|
5
|
-
require 'avmtrf1/ad_user'
|
6
|
-
require 'avmtrf1/configs'
|
7
|
-
require 'avmtrf1/default_esosti'
|
8
|
-
require 'avmtrf1/default_jira'
|
9
|
-
require 'avmtrf1/default_redmine'
|
10
|
-
require 'avmtrf1/fs_cache'
|
11
|
-
require 'avmtrf1/git'
|
12
|
-
require 'avmtrf1/ini'
|
13
|
-
require 'avmtrf1/issues'
|
14
|
-
require 'avmtrf1/jira'
|
15
|
-
require 'avmtrf1/oracle'
|
16
|
-
require 'avmtrf1/patches'
|
17
|
-
require 'avmtrf1/red'
|
18
|
-
require 'avmtrf1/redmine'
|
19
|
-
require 'avmtrf1/rest_provider'
|
20
|
-
require 'avmtrf1/result'
|
21
|
-
require 'avmtrf1/tools'
|
6
|
+
::EacRubyUtils.require_sub(__FILE__)
|
22
7
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avmtrf1/executables'
|
5
|
+
require 'avmtrf1/template'
|
6
|
+
|
7
|
+
module Avmtrf1
|
8
|
+
module Docker
|
9
|
+
class Image
|
10
|
+
def build
|
11
|
+
on_build_dir do
|
12
|
+
template_dir.apply(self, build_dir)
|
13
|
+
run_docker_build
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def push
|
18
|
+
::Avmtrf1::Executables.docker.command.append(['push', tag]).system!
|
19
|
+
end
|
20
|
+
|
21
|
+
def read_entry(path, _options = {})
|
22
|
+
method = path.gsub('.', '_')
|
23
|
+
return send(method) if respond_to?(path, true)
|
24
|
+
|
25
|
+
raise "Method \"#{method}\" not found for entry \"#{path}\""
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
attr_reader :build_dir
|
31
|
+
|
32
|
+
def run_docker_build
|
33
|
+
::Avmtrf1::Executables.docker.command.append(
|
34
|
+
['build', '-t', tag, build_dir]
|
35
|
+
).system!
|
36
|
+
end
|
37
|
+
|
38
|
+
def on_build_dir
|
39
|
+
@build_dir = ::Dir.mktmpdir
|
40
|
+
yield
|
41
|
+
ensure
|
42
|
+
::FileUtils.rm_rf(@build_dir)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/avmtrf1/php.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'avmtrf1/docker/image'
|
6
|
+
|
7
|
+
module Avmtrf1
|
8
|
+
module Php
|
9
|
+
class DockerImage < ::Avmtrf1::Docker::Image
|
10
|
+
MCRYPT_INSTALL_GREATER_EQUAL_7_2 = <<~DOCKERFILE
|
11
|
+
RUN pecl install mcrypt
|
12
|
+
RUN echo extension=mcrypt.so > "$PHP_INI_DIR/conf.d/mcrypt.ini"
|
13
|
+
DOCKERFILE
|
14
|
+
|
15
|
+
MCRYPT_INSTALL_LESSER_7_2 = <<~DOCKERFILE
|
16
|
+
RUN docker-php-ext-install mcrypt
|
17
|
+
DOCKERFILE
|
18
|
+
|
19
|
+
enable_simple_cache
|
20
|
+
common_constructor :registry_name, :version
|
21
|
+
|
22
|
+
def tag
|
23
|
+
"#{registry_name}:php-#{version}"
|
24
|
+
end
|
25
|
+
|
26
|
+
def template_dir
|
27
|
+
::Avmtrf1.template('avmtrf1/php/docker_image')
|
28
|
+
end
|
29
|
+
|
30
|
+
def source_package_url
|
31
|
+
last_update_release.source_package_url
|
32
|
+
end
|
33
|
+
|
34
|
+
def mcrypt_install
|
35
|
+
if ::Gem::Version.new(version) >= ::Gem::Version.new('7.2')
|
36
|
+
MCRYPT_INSTALL_GREATER_EQUAL_7_2
|
37
|
+
else
|
38
|
+
MCRYPT_INSTALL_LESSER_7_2
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def last_update_release_uncached
|
45
|
+
result = ::Avmtrf1::Php::Release.all.select { |r| r.to_s.start_with?("#{version}.") }.max
|
46
|
+
return result if result
|
47
|
+
|
48
|
+
raise "No releases found for version \"#{version}\""
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/templates/directory'
|
4
|
+
require 'avm/templates/file'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
class << self
|
8
|
+
def templates_root
|
9
|
+
::File.expand_path('../../template', __dir__)
|
10
|
+
end
|
11
|
+
|
12
|
+
def template(subpath)
|
13
|
+
path = ::File.join(templates_root, subpath)
|
14
|
+
return ::Avm::Templates::Directory.new(path) if ::File.directory?(path)
|
15
|
+
return ::Avm::Templates::File.new(path) if ::File.file?(path)
|
16
|
+
|
17
|
+
raise "Template \"#{path}\" not found"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/avmtrf1/tools/runner.rb
CHANGED
@@ -2,16 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'aranha/selenium/driver_factory/base'
|
4
4
|
require 'eac_ruby_utils/console/docopt_runner'
|
5
|
-
require '
|
6
|
-
require 'avmtrf1/tools/runner/esosti'
|
7
|
-
require 'avmtrf1/tools/runner/forponto'
|
8
|
-
require 'avmtrf1/tools/runner/git'
|
9
|
-
require 'avmtrf1/tools/runner/oracle'
|
10
|
-
require 'avmtrf1/tools/runner/red'
|
5
|
+
require 'eac_ruby_utils/require_sub'
|
11
6
|
|
12
7
|
module Avmtrf1
|
13
8
|
module Tools
|
14
9
|
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
10
|
+
::EacRubyUtils.require_sub(__FILE__)
|
11
|
+
|
15
12
|
DOC = <<~DOCOPT
|
16
13
|
Utilidades para AVM-TRF1 (http://redmine.trf1.gov.br/projects/avm-trf1).
|
17
14
|
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
4
|
+
require 'eac_ruby_utils/require_sub'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
9
|
+
class Php < ::EacRubyUtils::Console::DocoptRunner
|
10
|
+
::EacRubyUtils.require_sub(__FILE__)
|
11
|
+
|
12
|
+
DOC = <<~DOCOPT
|
13
|
+
Utilidades para PHP.
|
14
|
+
|
15
|
+
Usage:
|
16
|
+
__PROGRAM__ [options] __SUBCOMMANDS__
|
17
|
+
__PROGRAM__ -h | --help
|
18
|
+
|
19
|
+
Options:
|
20
|
+
-h --help Mostra esta ajuda.
|
21
|
+
DOCOPT
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
require 'avmtrf1/php/docker_image'
|
6
|
+
|
7
|
+
module Avmtrf1
|
8
|
+
module Tools
|
9
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
10
|
+
class Php < ::EacRubyUtils::Console::DocoptRunner
|
11
|
+
class Docker < ::EacRubyUtils::Console::DocoptRunner
|
12
|
+
enable_console_speaker
|
13
|
+
|
14
|
+
DOC = <<~DOCOPT
|
15
|
+
Constrói imagens Docker para PHP.
|
16
|
+
|
17
|
+
Usage:
|
18
|
+
__PROGRAM__ [options] [<version>...]
|
19
|
+
__PROGRAM__ -h | --help
|
20
|
+
|
21
|
+
Options:
|
22
|
+
-h --help Mostra esta ajuda.
|
23
|
+
-d --default Adiciona as versões padrão.
|
24
|
+
-n --registry-name=<registry-name> Nome do registro.
|
25
|
+
-p --push Envia a imagem.
|
26
|
+
DOCOPT
|
27
|
+
|
28
|
+
def run
|
29
|
+
infov 'Versions to build', versions_to_s
|
30
|
+
versions.each do |version|
|
31
|
+
process_version(version)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def default_versions
|
36
|
+
::Avmtrf1.configs.read_entry('php.default_versions').split(',').map(&:strip)
|
37
|
+
.reject(&:blank?)
|
38
|
+
end
|
39
|
+
|
40
|
+
def versions_to_s
|
41
|
+
if versions.any?
|
42
|
+
versions.join(', ')
|
43
|
+
else
|
44
|
+
'-- NONE --'
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def versions
|
49
|
+
(
|
50
|
+
options.fetch('<version>') +
|
51
|
+
(options.fetch('--default') ? default_versions : [])
|
52
|
+
).uniq.sort
|
53
|
+
end
|
54
|
+
|
55
|
+
def process_version(version)
|
56
|
+
image = ::Avmtrf1::Php::DockerImage.new(registry_name, version)
|
57
|
+
infom "Building Docker image \"#{image.tag}\""
|
58
|
+
image.build
|
59
|
+
image.push if options.fetch('--push')
|
60
|
+
end
|
61
|
+
|
62
|
+
def registry_name
|
63
|
+
options.fetch('--registry-name') || ::Avmtrf1.configs.read_entry('docker.registry.name')
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avmtrf1-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo H. Bogoni
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha-parsers
|
@@ -16,54 +16,54 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.2'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
22
|
+
version: 0.2.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
29
|
+
version: '0.2'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
32
|
+
version: 0.2.1
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: aranha-selenium
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.1
|
39
|
+
version: '0.1'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.1.1
|
40
43
|
type: :runtime
|
41
44
|
prerelease: false
|
42
45
|
version_requirements: !ruby/object:Gem::Requirement
|
43
46
|
requirements:
|
44
47
|
- - "~>"
|
45
48
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.1
|
49
|
+
version: '0.1'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.1.1
|
47
53
|
- !ruby/object:Gem::Dependency
|
48
54
|
name: avm-tools
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
50
56
|
requirements:
|
51
57
|
- - "~>"
|
52
58
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.15.1
|
59
|
+
version: '0.20'
|
57
60
|
type: :runtime
|
58
61
|
prerelease: false
|
59
62
|
version_requirements: !ruby/object:Gem::Requirement
|
60
63
|
requirements:
|
61
64
|
- - "~>"
|
62
65
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0.
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 0.15.1
|
66
|
+
version: '0.20'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: curb
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0.6'
|
88
88
|
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.6.
|
90
|
+
version: 0.6.4
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -97,21 +97,21 @@ dependencies:
|
|
97
97
|
version: '0.6'
|
98
98
|
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version: 0.6.
|
100
|
+
version: 0.6.4
|
101
101
|
- !ruby/object:Gem::Dependency
|
102
102
|
name: eac_ruby_utils
|
103
103
|
requirement: !ruby/object:Gem::Requirement
|
104
104
|
requirements:
|
105
105
|
- - "~>"
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version: '0.
|
107
|
+
version: '0.16'
|
108
108
|
type: :runtime
|
109
109
|
prerelease: false
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
112
|
- - "~>"
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version: '0.
|
114
|
+
version: '0.16'
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: filesize
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,28 +174,28 @@ dependencies:
|
|
174
174
|
requirements:
|
175
175
|
- - "~>"
|
176
176
|
- !ruby/object:Gem::Version
|
177
|
-
version: 0.
|
177
|
+
version: 0.76.0
|
178
178
|
type: :development
|
179
179
|
prerelease: false
|
180
180
|
version_requirements: !ruby/object:Gem::Requirement
|
181
181
|
requirements:
|
182
182
|
- - "~>"
|
183
183
|
- !ruby/object:Gem::Version
|
184
|
-
version: 0.
|
184
|
+
version: 0.76.0
|
185
185
|
- !ruby/object:Gem::Dependency
|
186
186
|
name: rubocop-rspec
|
187
187
|
requirement: !ruby/object:Gem::Requirement
|
188
188
|
requirements:
|
189
189
|
- - "~>"
|
190
190
|
- !ruby/object:Gem::Version
|
191
|
-
version: 1.
|
191
|
+
version: 1.36.0
|
192
192
|
type: :development
|
193
193
|
prerelease: false
|
194
194
|
version_requirements: !ruby/object:Gem::Requirement
|
195
195
|
requirements:
|
196
196
|
- - "~>"
|
197
197
|
- !ruby/object:Gem::Version
|
198
|
-
version: 1.
|
198
|
+
version: 1.36.0
|
199
199
|
- !ruby/object:Gem::Dependency
|
200
200
|
name: ruby-oci8
|
201
201
|
requirement: !ruby/object:Gem::Requirement
|
@@ -230,6 +230,8 @@ files:
|
|
230
230
|
- lib/avmtrf1/default_esosti.rb
|
231
231
|
- lib/avmtrf1/default_jira.rb
|
232
232
|
- lib/avmtrf1/default_redmine.rb
|
233
|
+
- lib/avmtrf1/docker.rb
|
234
|
+
- lib/avmtrf1/docker/image.rb
|
233
235
|
- lib/avmtrf1/esosti.rb
|
234
236
|
- lib/avmtrf1/esosti/entities.rb
|
235
237
|
- lib/avmtrf1/esosti/entities/issue.rb
|
@@ -241,6 +243,7 @@ files:
|
|
241
243
|
- lib/avmtrf1/esosti/session/login.rb
|
242
244
|
- lib/avmtrf1/esosti/session/solicitacao.rb
|
243
245
|
- lib/avmtrf1/esosti/session/solicitacao/main.rb
|
246
|
+
- lib/avmtrf1/executables.rb
|
244
247
|
- lib/avmtrf1/forponto/parsers/espelho.rb
|
245
248
|
- lib/avmtrf1/forponto/parsers/espelho/day_node.rb
|
246
249
|
- lib/avmtrf1/forponto/parsers/espelho/methods_as_fields.rb
|
@@ -284,6 +287,8 @@ files:
|
|
284
287
|
- lib/avmtrf1/patches.rb
|
285
288
|
- lib/avmtrf1/patches/eac_launcher/git/base.rb
|
286
289
|
- lib/avmtrf1/patches/inifile.rb
|
290
|
+
- lib/avmtrf1/php.rb
|
291
|
+
- lib/avmtrf1/php/docker_image.rb
|
287
292
|
- lib/avmtrf1/red.rb
|
288
293
|
- lib/avmtrf1/red/client.rb
|
289
294
|
- lib/avmtrf1/red/client/authorization.xml.erb
|
@@ -300,6 +305,7 @@ files:
|
|
300
305
|
- lib/avmtrf1/rest_provider/entity.rb
|
301
306
|
- lib/avmtrf1/rest_provider/instance.rb
|
302
307
|
- lib/avmtrf1/result.rb
|
308
|
+
- lib/avmtrf1/template.rb
|
303
309
|
- lib/avmtrf1/tools.rb
|
304
310
|
- lib/avmtrf1/tools/runner.rb
|
305
311
|
- lib/avmtrf1/tools/runner/check_point.rb
|
@@ -312,6 +318,8 @@ files:
|
|
312
318
|
- lib/avmtrf1/tools/runner/git/push_large.rb
|
313
319
|
- lib/avmtrf1/tools/runner/oracle.rb
|
314
320
|
- lib/avmtrf1/tools/runner/oracle/source_get.rb
|
321
|
+
- lib/avmtrf1/tools/runner/php.rb
|
322
|
+
- lib/avmtrf1/tools/runner/php/docker.rb
|
315
323
|
- lib/avmtrf1/tools/runner/red.rb
|
316
324
|
- lib/avmtrf1/tools/version.rb
|
317
325
|
homepage: http://redmine.trf1.gov.br/projects/avm-trf1
|