avmtrf1-tools 0.39.0 → 0.39.1

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.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avmtrf1/docker/image_runner.rb +2 -2
  3. data/lib/avmtrf1/php/docker_images/base.rb +27 -0
  4. data/lib/avmtrf1/php/docker_images/factory.rb +32 -0
  5. data/lib/avmtrf1/php/docker_images/v5.rb +25 -0
  6. data/lib/avmtrf1/php/docker_images/v7.rb +26 -0
  7. data/lib/avmtrf1/php/docker_images/v7_v4.rb +29 -0
  8. data/lib/avmtrf1/php/docker_images.rb +11 -0
  9. data/lib/avmtrf1/tools/runner/php/docker.rb +4 -1
  10. data/lib/avmtrf1/tools/version.rb +1 -1
  11. data/template/avmtrf1/php/{docker_image → docker_images/base}/Dockerfile.template +1 -2
  12. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/apache_foreground.sh +0 -0
  13. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/apache_user.sh +0 -0
  14. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/config_banner.sh +0 -0
  15. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/init.sh +0 -0
  16. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/laravel.sh +0 -0
  17. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/lib.sh +0 -0
  18. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/pear.sh +0 -0
  19. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/php_composer.sh +0 -0
  20. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/php_values.sh +0 -0
  21. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/setup_apache_site.sh +0 -0
  22. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/start.sh +0 -0
  23. data/template/avmtrf1/php/{docker_image → docker_images/base}/aux/templates/apache_site.conf +0 -0
  24. metadata +21 -16
  25. data/lib/avmtrf1/php/docker_image.rb +0 -39
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd64d76397e3809b07f574cdf7452b7b3140e0ab17dd70c212e19449a81668e4
4
- data.tar.gz: 5b345d3e854d87d99e03dc662f9fa9ca5f467d5dc62974eec4f08cf86b4e1212
3
+ metadata.gz: bbb146491f1e709ff475103267c4b962cab6299d7bfc8d50eca496da7340721a
4
+ data.tar.gz: 3bccb7ce04db3a8b84352bf3a19cf2a6ba815aab2923b046b66ca75e4b9443b0
5
5
  SHA512:
6
- metadata.gz: 3b1b36a0440b0103dfacc9bafd011facceeb5e6839de3e9fb8a97ef2a22e80b150a7ca53a14388fd4a993d6f593fcd1244fbf028f654cf5a639d428d48e2b784
7
- data.tar.gz: 487c8476da28d45658b40cdccbe8f6d645fc4347f0ad0c479c1c8c0e2d3810a5e32dacb72a1112f34e38d9d0f534410bf4a73fc08cf7bab2b0fae0ff0fbae3ae
6
+ metadata.gz: 89e292994cc3d04b9862fde3513c8e6838ce21294c2ad6f570c9903f48d87759b13cd0534aa6657c425de1668925535089f855434d7376109f9019be9a775837
7
+ data.tar.gz: c191c0b8d719cd70f67117ee37276908b18c394af7ea625097e6d9dabf443468ed48b4c3b6db9049dfb278cc828b09914fdbe96df88b268c39795073b3bb1e49
@@ -61,7 +61,7 @@ module Avmtrf1
61
61
  end
62
62
 
63
63
  def build_image(plataform_version)
64
- r = docker_image_class.new(registry, plataform_version)
64
+ r = docker_image_class(plataform_version).new(registry, plataform_version)
65
65
  r.send('version=', !parsed.no_version?)
66
66
  r.snapshot = !parsed.no_snapshot?
67
67
  r
@@ -71,7 +71,7 @@ module Avmtrf1
71
71
  "#{plataform_name.underscore}.default_versions"
72
72
  end
73
73
 
74
- def docker_image_class
74
+ def docker_image_class(_plataform_version)
75
75
  "Avmtrf1::#{plataform_name}::DockerImage".constantize
76
76
  end
77
77
 
@@ -0,0 +1,27 @@
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
+ module DockerImages
10
+ class Base < ::Avmtrf1::Docker::Image
11
+ enable_abstract_methods
12
+ abstract_methods :mcrypt_install, :xdebug_pecl_package
13
+
14
+ GD_OPTIONS = %w[--with-gd --with-webp-dir --with-jpeg-dir --with-png-dir --with-zlib-dir
15
+ --with-xpm-dir --with-freetype-dir].freeze
16
+
17
+ def write_in_provide_dir
18
+ ::Avmtrf1::Php::DockerImages::Base.template.apply(self, provide_dir)
19
+ end
20
+
21
+ def gd_options
22
+ GD_OPTIONS.join(' ')
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/php/docker_images/v5'
4
+ require 'avmtrf1/php/docker_images/v7'
5
+ require 'avmtrf1/php/docker_images/v7_v4'
6
+ require 'eac_ruby_utils/core_ext'
7
+ require 'rubygems'
8
+
9
+ module Avmtrf1
10
+ module Php
11
+ module DockerImages
12
+ class Factory
13
+ V7 = ::Gem::Version.new('7')
14
+ V7V4 = ::Gem::Version.new('7.4')
15
+
16
+ common_constructor :platform_version do
17
+ self.platform_version = ::Gem::Version.new(platform_version)
18
+ end
19
+
20
+ def result
21
+ if platform_version < V7
22
+ ::Avmtrf1::Php::DockerImages::V5
23
+ elsif platform_version >= V7V4
24
+ ::Avmtrf1::Php::DockerImages::V7V4
25
+ else
26
+ ::Avmtrf1::Php::DockerImages::V7
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/php/docker_images/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Php
8
+ module DockerImages
9
+ class V5 < ::Avmtrf1::Php::DockerImages::Base
10
+ MCRYPT_INSTALL = <<~CODE
11
+ RUN docker-php-ext-install mcrypt
12
+ CODE
13
+ XDEBUG_PECL_PACKAGE = 'xdebug-2.5.5'
14
+
15
+ def mcrypt_install
16
+ MCRYPT_INSTALL
17
+ end
18
+
19
+ def xdebug_pecl_package
20
+ XDEBUG_PECL_PACKAGE
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/php/docker_images/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Php
8
+ module DockerImages
9
+ class V7 < ::Avmtrf1::Php::DockerImages::Base
10
+ MCRYPT_INSTALL = <<~CODE
11
+ RUN pecl install mcrypt
12
+ RUN echo extension=mcrypt.so > "$PHP_INI_DIR/conf.d/mcrypt.ini"
13
+ CODE
14
+ XDEBUG_PECL_PACKAGE = 'xdebug'
15
+
16
+ def mcrypt_install
17
+ MCRYPT_INSTALL
18
+ end
19
+
20
+ def xdebug_pecl_package
21
+ XDEBUG_PECL_PACKAGE
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/php/docker_images/v7'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Php
8
+ module DockerImages
9
+ class V7V4 < ::Avmtrf1::Php::DockerImages::V7
10
+ GD_OPTION_PARSER = /\A(.+)-dir\z/.to_parser do |m|
11
+ m[1]
12
+ end
13
+ GD_OPTION_REJECT = %w[--with-gd --with-png --with-zlib].freeze
14
+
15
+ # Referência: https://github.com/docker-library/php/issues/912
16
+ def gd_options
17
+ GD_OPTIONS
18
+ .map { |option| gd_option_replace(option) }
19
+ .reject { |option| GD_OPTION_REJECT.include?(option) }
20
+ .join(' ')
21
+ end
22
+
23
+ def gd_option_replace(option)
24
+ GD_OPTION_PARSER.parse(option).if_present(option)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Php
7
+ module DockerImages
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avmtrf1/php/docker_image'
3
+ require 'avmtrf1/php/docker_images/factory'
4
4
  require 'avmtrf1/docker/image_runner'
5
5
  require 'eac_cli/core_ext'
6
6
  require 'eac_docker/registry'
@@ -10,6 +10,9 @@ module Avmtrf1
10
10
  class Runner
11
11
  class Php
12
12
  class Docker < ::Avmtrf1::Docker::ImageRunner
13
+ def docker_image_class(plataform_version)
14
+ ::Avmtrf1::Php::DockerImages::Factory.new(plataform_version).result
15
+ end
13
16
  end
14
17
  end
15
18
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avmtrf1
4
4
  module Tools
5
- VERSION = '0.39.0'
5
+ VERSION = '0.39.1'
6
6
  end
7
7
  end
@@ -17,8 +17,7 @@ RUN docker-php-ext-install bz2
17
17
  # Extensão PHP "gd"
18
18
  # Referência: https://stackoverflow.com/a/51041727
19
19
  RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libwebp-dev libxpm-dev
20
- RUN docker-php-ext-configure gd --with-gd --with-webp-dir --with-jpeg-dir --with-png-dir \
21
- --with-zlib-dir --with-xpm-dir --with-freetype-dir
20
+ RUN docker-php-ext-configure gd %%GD_OPTIONS%%
22
21
  RUN docker-php-ext-install gd
23
22
 
24
23
  # Extensão PHP "intl"
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.39.0
4
+ version: 0.39.1
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: 2022-10-07 00:00:00.000000000 Z
11
+ date: 2022-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-selenium
@@ -296,7 +296,12 @@ files:
296
296
  - lib/avmtrf1/patches/avm/launcher/git/base.rb
297
297
  - lib/avmtrf1/patches/inifile.rb
298
298
  - lib/avmtrf1/php.rb
299
- - lib/avmtrf1/php/docker_image.rb
299
+ - lib/avmtrf1/php/docker_images.rb
300
+ - lib/avmtrf1/php/docker_images/base.rb
301
+ - lib/avmtrf1/php/docker_images/factory.rb
302
+ - lib/avmtrf1/php/docker_images/v5.rb
303
+ - lib/avmtrf1/php/docker_images/v7.rb
304
+ - lib/avmtrf1/php/docker_images/v7_v4.rb
300
305
  - lib/avmtrf1/red.rb
301
306
  - lib/avmtrf1/red/client.rb
302
307
  - lib/avmtrf1/red/client/authorization.xml.erb
@@ -365,19 +370,19 @@ files:
365
370
  - template/avmtrf1/node_js/docker_image/auxiliary/ng_serve.sh
366
371
  - template/avmtrf1/node_js/docker_image/auxiliary/npm_install.sh
367
372
  - template/avmtrf1/node_js/docker_image/auxiliary/start.sh
368
- - template/avmtrf1/php/docker_image/Dockerfile.template
369
- - template/avmtrf1/php/docker_image/aux/apache_foreground.sh
370
- - template/avmtrf1/php/docker_image/aux/apache_user.sh
371
- - template/avmtrf1/php/docker_image/aux/config_banner.sh
372
- - template/avmtrf1/php/docker_image/aux/init.sh
373
- - template/avmtrf1/php/docker_image/aux/laravel.sh
374
- - template/avmtrf1/php/docker_image/aux/lib.sh
375
- - template/avmtrf1/php/docker_image/aux/pear.sh
376
- - template/avmtrf1/php/docker_image/aux/php_composer.sh
377
- - template/avmtrf1/php/docker_image/aux/php_values.sh
378
- - template/avmtrf1/php/docker_image/aux/setup_apache_site.sh
379
- - template/avmtrf1/php/docker_image/aux/start.sh
380
- - template/avmtrf1/php/docker_image/aux/templates/apache_site.conf
373
+ - template/avmtrf1/php/docker_images/base/Dockerfile.template
374
+ - template/avmtrf1/php/docker_images/base/aux/apache_foreground.sh
375
+ - template/avmtrf1/php/docker_images/base/aux/apache_user.sh
376
+ - template/avmtrf1/php/docker_images/base/aux/config_banner.sh
377
+ - template/avmtrf1/php/docker_images/base/aux/init.sh
378
+ - template/avmtrf1/php/docker_images/base/aux/laravel.sh
379
+ - template/avmtrf1/php/docker_images/base/aux/lib.sh
380
+ - template/avmtrf1/php/docker_images/base/aux/pear.sh
381
+ - template/avmtrf1/php/docker_images/base/aux/php_composer.sh
382
+ - template/avmtrf1/php/docker_images/base/aux/php_values.sh
383
+ - template/avmtrf1/php/docker_images/base/aux/setup_apache_site.sh
384
+ - template/avmtrf1/php/docker_images/base/aux/start.sh
385
+ - template/avmtrf1/php/docker_images/base/aux/templates/apache_site.conf
381
386
  - template/avmtrf1/tools/msgraph/token_retrieve/python_retriever.py
382
387
  homepage: http://redmine.trf1.gov.br/projects/avm-trf1
383
388
  licenses: []
@@ -1,39 +0,0 @@
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
- XDEBUG_PECL_PACKAGE_LESSER_7 = 'xdebug-2.5.5'
20
- XDEBUG_PECL_PACKAGE_GREATER_EQUAL = 'xdebug'
21
-
22
- def mcrypt_install
23
- if ::Gem::Version.new(plataform_version) >= ::Gem::Version.new('7.2')
24
- MCRYPT_INSTALL_GREATER_EQUAL_7_2
25
- else
26
- MCRYPT_INSTALL_LESSER_7_2
27
- end
28
- end
29
-
30
- def xdebug_pecl_package
31
- if ::Gem::Version.new(plataform_version) < ::Gem::Version.new('7')
32
- XDEBUG_PECL_PACKAGE_LESSER_7
33
- else
34
- XDEBUG_PECL_PACKAGE_GREATER_EQUAL
35
- end
36
- end
37
- end
38
- end
39
- end