avmtrf1-tools 0.39.0 → 0.39.1

Sign up to get free protection for your applications and to get access to all the features.
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