eac_tools 0.17.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -11
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +24 -0
  5. data/sub/avm/lib/avm/entries/uri_builder.rb +85 -0
  6. data/sub/avm/lib/avm/instances/base/auto_values/install.rb +6 -9
  7. data/sub/avm/lib/avm/instances/base/auto_values.rb +2 -8
  8. data/sub/avm/lib/avm/instances/entry_keys.rb +1 -1
  9. data/sub/avm/lib/avm/version.rb +1 -1
  10. data/sub/avm/spec/lib/avm/instances/base_spec.rb +18 -1
  11. data/sub/avm/spec/lib/avm/instances/base_spec_configs_storage.yml +6 -0
  12. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances/base.rb +12 -0
  13. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances.rb +11 -0
  14. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +1 -1
  15. data/sub/avm-eac_latex_base0/Gemfile +8 -0
  16. data/sub/avm-eac_latex_base0/avm-eac_latex_base0.gemspec +20 -0
  17. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/apache_host.rb +19 -0
  18. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/base.rb +13 -0
  19. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/deploy.rb +38 -0
  20. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances.rb +11 -0
  21. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/base.rb +44 -0
  22. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/chapters_content.rb +49 -0
  23. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/commons.rb +16 -0
  24. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/copy_files.rb +45 -0
  25. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file/base_stereotype.rb +23 -0
  26. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file/chapter_index.rb +27 -0
  27. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file/tex_source.rb +37 -0
  28. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb +49 -0
  29. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build.rb +119 -0
  30. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners/build_chapters.rb +43 -0
  31. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners/build_single.rb +33 -0
  32. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners/info.rb +32 -0
  33. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners.rb +13 -0
  34. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources.rb +11 -0
  35. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/version.rb +7 -0
  36. data/sub/{avm-tools/lib/avm/eac_writings_base0.rb → avm-eac_latex_base0/lib/avm/eac_latex_base0.rb} +1 -1
  37. data/sub/avm-eac_latex_base0/spec/rubocop_spec.rb +3 -0
  38. data/sub/avm-eac_latex_base0/spec/spec_helper.rb +4 -0
  39. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/all.tex +0 -0
  40. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/ebook.tex +0 -0
  41. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/images.tex +0 -0
  42. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/links.tex +0 -0
  43. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/portuguese.tex +0 -0
  44. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/source_code/java.tex +0 -0
  45. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/source_code.tex +0 -0
  46. data/sub/{avm-tools/template/avm/eac_writings_base0 → avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build}/commons/utils.tex +0 -0
  47. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  48. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +3 -0
  49. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +3 -0
  50. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +3 -0
  51. data/sub/avm-eac_wordpress_base0/avm-eac_wordpress_base0.gemspec +1 -0
  52. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/apache_host.rb +2 -2
  53. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/version.rb +1 -1
  54. data/sub/avm-eac_wordpress_base0/spec/lib/avm/eac_wordpress_base0/instances/apache_host_spec.rb +4 -3
  55. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  56. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/addressable/uri/query_value.rb +37 -0
  57. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/addressable/uri.rb +4 -0
  58. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/addressable.rb +4 -0
  59. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  60. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/addressable/uri/query_value_spec.rb +25 -0
  61. metadata +78 -37
  62. data/sub/avm/lib/avm/instances/base/auto_values/system.rb +0 -23
  63. data/sub/avm-tools/lib/avm/eac_writings_base0/apache_host.rb +0 -17
  64. data/sub/avm-tools/lib/avm/eac_writings_base0/commons.rb +0 -12
  65. data/sub/avm-tools/lib/avm/eac_writings_base0/deploy.rb +0 -36
  66. data/sub/avm-tools/lib/avm/eac_writings_base0/file_build/base_stereotype.rb +0 -19
  67. data/sub/avm-tools/lib/avm/eac_writings_base0/file_build/chapter_index.rb +0 -23
  68. data/sub/avm-tools/lib/avm/eac_writings_base0/file_build/tex_source.rb +0 -33
  69. data/sub/avm-tools/lib/avm/eac_writings_base0/file_build.rb +0 -45
  70. data/sub/avm-tools/lib/avm/eac_writings_base0/instance.rb +0 -11
  71. data/sub/avm-tools/lib/avm/eac_writings_base0/project.rb +0 -33
  72. data/sub/avm-tools/lib/avm/eac_writings_base0/project_build/chapters_content.rb +0 -47
  73. data/sub/avm-tools/lib/avm/eac_writings_base0/project_build/copy_files.rb +0 -42
  74. data/sub/avm-tools/lib/avm/eac_writings_base0/project_build.rb +0 -117
  75. data/sub/avm-tools/lib/avm/tools/runner/app_src/eac_writings_base0/build_chapters.rb +0 -45
  76. data/sub/avm-tools/lib/avm/tools/runner/app_src/eac_writings_base0/build_single.rb +0 -35
  77. data/sub/avm-tools/lib/avm/tools/runner/app_src/eac_writings_base0/info.rb +0 -34
  78. data/sub/avm-tools/lib/avm/tools/runner/app_src/eac_writings_base0.rb +0 -33
  79. data/sub/avm-tools/lib/avm/tools/runner/eac_writings_base0.rb +0 -14
@@ -1,117 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/executables'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/fs/temp'
6
- require 'eac_ruby_utils/fs/clearable_directory'
7
-
8
- module Avm
9
- module EacWritingsBase0
10
- class ProjectBuild
11
- require_sub __FILE__, include_modules: true
12
- enable_speaker
13
-
14
- CONTENT_VAR = '%%%CONTENT%%%'
15
-
16
- common_constructor :project, :options do
17
- run
18
- end
19
-
20
- private
21
-
22
- attr_reader :source_temp_dir
23
-
24
- def run
25
- start_banner
26
- check_chapter
27
- build
28
- success('Done!')
29
- end
30
-
31
- def start_banner
32
- infov('Chapter', chapter)
33
- infov('Output file', output_file)
34
- end
35
-
36
- def build
37
- on_temp_source_dir do
38
- copy_project_files
39
- copy_commons_files
40
- include_content
41
- compile
42
- check
43
- move_output_to_target
44
- open_output
45
- end
46
- end
47
-
48
- def check
49
- return if ::File.size(temp_output_file).positive?
50
-
51
- fatal_error("Zero-size file builded: #{temp_output_file}")
52
- end
53
-
54
- def compile
55
- compile_command.execute!.each_line do |line|
56
- if line.include?('No file')
57
- raise 'Command returned without error, but there is at least one "No file" line in' \
58
- "log: #{line}"
59
- end
60
- end
61
- end
62
-
63
- def compile_command
64
- ::Avm::Executables.latex.command(*compile_command_args).chdir(source_temp_dir)
65
- end
66
-
67
- def compile_command_args
68
- r = ["-output-director=#{build_dir}", '-output-format=pdf',
69
- '-interaction=nonstopmode', '-halt-on-error', '-file-line-error']
70
- r << if chapter.present?
71
- "\\includeonly{#{chapter_filename(chapter)}}\\input{main.tex}"
72
- else
73
- './main.tex'
74
- end
75
- r
76
- end
77
-
78
- def move_output_to_target
79
- File.rename(temp_output_file, output_file)
80
- infov('Size', ::Filesize.from("#{File.size(output_file)} B").pretty)
81
- end
82
-
83
- def temp_output_file
84
- File.join(build_dir, 'main.pdf')
85
- end
86
-
87
- def on_temp_source_dir
88
- if options[:source_dir].present?
89
- @source_temp_dir = ::EacRubyUtils::Fs::ClearableDirectory.new(options.source_dir).clear
90
- yield
91
- else
92
- ::EacRubyUtils::Fs::Temp.on_directory do |directory|
93
- @source_temp_dir = directory
94
- yield
95
- end
96
- end
97
- end
98
-
99
- def build_dir
100
- r = project.root.join('build')
101
- r.mkpath
102
- r
103
- end
104
-
105
- def output_file
106
- (options[:output_file] || project.default_output_file)
107
- end
108
-
109
- def open_output
110
- return unless options[:open]
111
-
112
- infom("Opening \"#{output_file}\"")
113
- ::Avm::Executables.xdg_open.command(output_file).system!
114
- end
115
- end
116
- end
117
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_writings_base0/project_build'
4
- require 'eac_cli/core_ext'
5
-
6
- module Avm
7
- module Tools
8
- class Runner
9
- class AppSrc
10
- class EacWritingsBase0
11
- class BuildChapters
12
- runner_with :help do
13
- arg_opt '-o', '--output-dir', 'Output chapters to specific directory.'
14
- end
15
-
16
- def run
17
- runner_context.call(:project_banner)
18
- output_dir.mkpath
19
- project.chapters.each_with_index do |c, i|
20
- ::Avm::EacWritingsBase0::ProjectBuild.new(project, chapter_build_options(c, i))
21
- end
22
- end
23
-
24
- private
25
-
26
- def chapter_build_options(chapter, index)
27
- output_name = "#{(index + 1).to_s.rjust(3, '0')}_#{chapter}.pdf"
28
- { output_file: output_dir.join(output_name), chapter: chapter }
29
- end
30
-
31
- def output_dir_uncached
32
- (
33
- parsed.output_dir || project.default_output_dir.join('chapters')
34
- ).to_pathname
35
- end
36
-
37
- def project
38
- runner_context.call(:project)
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_writings_base0/project_build'
4
- require 'eac_cli/core_ext'
5
-
6
- module Avm
7
- module Tools
8
- class Runner
9
- class AppSrc
10
- class EacWritingsBase0
11
- class BuildSingle
12
- runner_with :help do
13
- arg_opt '-s', '--source-dir', 'Write .tex source code in specific directory.'
14
- arg_opt '-f', '--output-file', 'Output to specific file.'
15
- arg_opt '-c', '--chapter', 'Write only the chapter <chapter>.'
16
- bool_opt '-o', '--open', 'Open the file after build.'
17
- end
18
-
19
- def run
20
- runner_context.call(:project_banner)
21
- infov 'Build options', build_options
22
- ::Avm::EacWritingsBase0::ProjectBuild.new(runner_context.call(:project), parsed)
23
- end
24
-
25
- private
26
-
27
- def build_options
28
- parsed.slice_fetch(:output_file, :open, :chapter, :source_dir)
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_writings_base0/project_build'
4
- require 'eac_cli/core_ext'
5
-
6
- module Avm
7
- module Tools
8
- class Runner
9
- class AppSrc
10
- class EacWritingsBase0
11
- class Info
12
- runner_with :help do
13
- desc 'Information about a loca EacRailsBase0 local project.'
14
- end
15
-
16
- def run
17
- runner_context.call(:project_banner)
18
- infov 'Chapters', project.chapters.count
19
- project.chapters.each_with_index do |chapter, index|
20
- infov " * #{index + 1}", chapter
21
- end
22
- end
23
-
24
- private
25
-
26
- def project
27
- runner_context.call(:project)
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_writings_base0/project'
4
- require 'eac_cli/core_ext'
5
-
6
- module Avm
7
- module Tools
8
- class Runner
9
- class AppSrc
10
- class EacWritingsBase0
11
- require_sub __FILE__
12
- enable_simple_cache
13
-
14
- runner_with :help, :subcommands do
15
- desc 'EacWritingsBase0 utitilies for local projects.'
16
- subcommands
17
- end
18
-
19
- def project_banner
20
- infov 'Project', project.name
21
- infov 'Path', project.root
22
- end
23
-
24
- private
25
-
26
- def project_uncached
27
- ::Avm::EacWritingsBase0::Project.new(runner_context.call(:instance_path))
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_webapp_base0/runner'
4
- require 'avm/eac_writings_base0'
5
-
6
- module Avm
7
- module Tools
8
- class Runner
9
- class EacWritingsBase0 < ::Avm::EacWebappBase0::Runner
10
- require_sub __FILE__
11
- end
12
- end
13
- end
14
- end