avm-tools 0.130.0 → 0.132.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/tools/runner/instance.rb +3 -1
  3. data/lib/avm/tools/version.rb +1 -1
  4. metadata +46 -63
  5. data/lib/avm/eac_writings_base0/apache_host.rb +0 -17
  6. data/lib/avm/eac_writings_base0/commons.rb +0 -12
  7. data/lib/avm/eac_writings_base0/deploy.rb +0 -36
  8. data/lib/avm/eac_writings_base0/file_build/base_stereotype.rb +0 -19
  9. data/lib/avm/eac_writings_base0/file_build/chapter_index.rb +0 -23
  10. data/lib/avm/eac_writings_base0/file_build/tex_source.rb +0 -33
  11. data/lib/avm/eac_writings_base0/file_build.rb +0 -45
  12. data/lib/avm/eac_writings_base0/instance.rb +0 -11
  13. data/lib/avm/eac_writings_base0/project.rb +0 -33
  14. data/lib/avm/eac_writings_base0/project_build/chapters_content.rb +0 -47
  15. data/lib/avm/eac_writings_base0/project_build/copy_files.rb +0 -42
  16. data/lib/avm/eac_writings_base0/project_build.rb +0 -117
  17. data/lib/avm/eac_writings_base0.rb +0 -9
  18. data/lib/avm/tools/runner/app_src/eac_writings_base0/build_chapters.rb +0 -45
  19. data/lib/avm/tools/runner/app_src/eac_writings_base0/build_single.rb +0 -35
  20. data/lib/avm/tools/runner/app_src/eac_writings_base0/info.rb +0 -34
  21. data/lib/avm/tools/runner/app_src/eac_writings_base0.rb +0 -33
  22. data/lib/avm/tools/runner/eac_writings_base0.rb +0 -14
  23. data/lib/avm/tools/runner/ruby/rubocop.rb +0 -30
  24. data/lib/avm/tools/runner/ruby.rb +0 -17
  25. data/template/avm/eac_writings_base0/commons/all.tex +0 -5
  26. data/template/avm/eac_writings_base0/commons/ebook.tex +0 -11
  27. data/template/avm/eac_writings_base0/commons/images.tex +0 -11
  28. data/template/avm/eac_writings_base0/commons/links.tex +0 -2
  29. data/template/avm/eac_writings_base0/commons/portuguese.tex +0 -8
  30. data/template/avm/eac_writings_base0/commons/source_code/java.tex +0 -15
  31. data/template/avm/eac_writings_base0/commons/source_code.tex +0 -21
  32. data/template/avm/eac_writings_base0/commons/utils.tex +0 -6
  33. data/template/avm/eac_writings_base0/deploy/index.html.template +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0698967568303e0d5288e864b9173c0916ac2a81b9a770a5f8e53a9e81f94616'
4
- data.tar.gz: 6e6d462145da7deeba4b7f65a785eb9842595fdf0ec2513b1e0a7fda4342b318
3
+ metadata.gz: '08a81b50cd1bf5c55111bec548c8583f3e8a1ddfacab08cc983707f8f8380bb0'
4
+ data.tar.gz: c4c7ddfe8a508964adeb2e5256cf085d16feb3da88b5a47945db4e6df17948ea
5
5
  SHA512:
6
- metadata.gz: edc70de430e385b918b3e58a22482a94298ab11ac4c1e5f32d460f22795ee75d5abe45ab23f02c4bec272cfb2cee7b2087e3a6f09ac4c2c58fd13ad7ca8ead09
7
- data.tar.gz: c76af0a8732429866926f23c60c9f71fc563140cd4b5fc2b9903a35d98d8f62a6d5062ec52051b75220c0fcf29fe919fb51b93ca59fa73c07a23a53f920355d4
6
+ metadata.gz: 62054f4e9e66b8306bf0bf24bc4682ac16e934b3f9da98745932fa8ee9ffa7b545cdb2813fd241370f37362b08e0882131eca8a55d7a537cc9b98dd7f95f2487
7
+ data.tar.gz: f49941554972dfe9fa7b0de0a6e8b6c6a60d4b8a3cf6c85b548ad7f594885c7596d9928371904dfbe9391e705498d80b79b4b97148c0a6300c134c59ef4b1791
@@ -22,7 +22,9 @@ module Avm
22
22
  private
23
23
 
24
24
  def instance_uncached
25
- ::Avm::Registry.instances.detect(parsed.instance_id)
25
+ parsed.instance_id.if_present do |v|
26
+ ::Avm::Registry.instances.detect(v)
27
+ end
26
28
  end
27
29
  end
28
30
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.130.0'
5
+ VERSION = '0.132.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.130.0
4
+ version: 0.132.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-05 00:00:00.000000000 Z
11
+ date: 2022-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -16,42 +16,54 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.4'
19
+ version: '0.14'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.14.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '0.4'
29
+ version: '0.14'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.14.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: avm
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0.34'
39
+ version: '0.35'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.35.1
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
47
  - - "~>"
39
48
  - !ruby/object:Gem::Version
40
- version: '0.34'
49
+ version: '0.35'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.35.1
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: avm-eac_ruby_base1
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
57
  - - "~>"
46
58
  - !ruby/object:Gem::Version
47
- version: '0.8'
59
+ version: '0.19'
48
60
  type: :runtime
49
61
  prerelease: false
50
62
  version_requirements: !ruby/object:Gem::Requirement
51
63
  requirements:
52
64
  - - "~>"
53
65
  - !ruby/object:Gem::Version
54
- version: '0.8'
66
+ version: '0.19'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: avm-eac_ubuntu_base0
57
69
  requirement: !ruby/object:Gem::Requirement
@@ -72,34 +84,34 @@ dependencies:
72
84
  requirements:
73
85
  - - "~>"
74
86
  - !ruby/object:Gem::Version
75
- version: '0.1'
87
+ version: '0.3'
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.3.2
76
91
  type: :runtime
77
92
  prerelease: false
78
93
  version_requirements: !ruby/object:Gem::Requirement
79
94
  requirements:
80
95
  - - "~>"
81
96
  - !ruby/object:Gem::Version
82
- version: '0.1'
97
+ version: '0.3'
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 0.3.2
83
101
  - !ruby/object:Gem::Dependency
84
102
  name: avm-git
85
103
  requirement: !ruby/object:Gem::Requirement
86
104
  requirements:
87
105
  - - "~>"
88
106
  - !ruby/object:Gem::Version
89
- version: '0.3'
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: 0.3.1
107
+ version: '0.4'
93
108
  type: :runtime
94
109
  prerelease: false
95
110
  version_requirements: !ruby/object:Gem::Requirement
96
111
  requirements:
97
112
  - - "~>"
98
113
  - !ruby/object:Gem::Version
99
- version: '0.3'
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: 0.3.1
114
+ version: '0.4'
103
115
  - !ruby/object:Gem::Dependency
104
116
  name: clipboard
105
117
  requirement: !ruby/object:Gem::Requirement
@@ -109,7 +121,7 @@ dependencies:
109
121
  version: '1.3'
110
122
  - - ">="
111
123
  - !ruby/object:Gem::Version
112
- version: 1.3.3
124
+ version: 1.3.6
113
125
  type: :runtime
114
126
  prerelease: false
115
127
  version_requirements: !ruby/object:Gem::Requirement
@@ -119,21 +131,27 @@ dependencies:
119
131
  version: '1.3'
120
132
  - - ">="
121
133
  - !ruby/object:Gem::Version
122
- version: 1.3.3
134
+ version: 1.3.6
123
135
  - !ruby/object:Gem::Dependency
124
136
  name: curb
125
137
  requirement: !ruby/object:Gem::Requirement
126
138
  requirements:
127
139
  - - "~>"
128
140
  - !ruby/object:Gem::Version
129
- version: 0.9.10
141
+ version: '0.9'
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 0.9.11
130
145
  type: :runtime
131
146
  prerelease: false
132
147
  version_requirements: !ruby/object:Gem::Requirement
133
148
  requirements:
134
149
  - - "~>"
135
150
  - !ruby/object:Gem::Version
136
- version: 0.9.10
151
+ version: '0.9'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 0.9.11
137
155
  - !ruby/object:Gem::Dependency
138
156
  name: eac_git
139
157
  requirement: !ruby/object:Gem::Requirement
@@ -163,7 +181,7 @@ dependencies:
163
181
  version: '0.16'
164
182
  - - ">="
165
183
  - !ruby/object:Gem::Version
166
- version: 0.16.4
184
+ version: 0.16.6
167
185
  type: :runtime
168
186
  prerelease: false
169
187
  version_requirements: !ruby/object:Gem::Requirement
@@ -173,7 +191,7 @@ dependencies:
173
191
  version: '0.16'
174
192
  - - ">="
175
193
  - !ruby/object:Gem::Version
176
- version: 0.16.4
194
+ version: 0.16.6
177
195
  - !ruby/object:Gem::Dependency
178
196
  name: eac_templates
179
197
  requirement: !ruby/object:Gem::Requirement
@@ -200,34 +218,28 @@ dependencies:
200
218
  requirements:
201
219
  - - "~>"
202
220
  - !ruby/object:Gem::Version
203
- version: '1.7'
221
+ version: '1.11'
204
222
  type: :runtime
205
223
  prerelease: false
206
224
  version_requirements: !ruby/object:Gem::Requirement
207
225
  requirements:
208
226
  - - "~>"
209
227
  - !ruby/object:Gem::Version
210
- version: '1.7'
228
+ version: '1.11'
211
229
  - !ruby/object:Gem::Dependency
212
230
  name: ruby-progressbar
213
231
  requirement: !ruby/object:Gem::Requirement
214
232
  requirements:
215
233
  - - "~>"
216
234
  - !ruby/object:Gem::Version
217
- version: '1.10'
218
- - - ">="
219
- - !ruby/object:Gem::Version
220
- version: 1.10.1
235
+ version: '1.11'
221
236
  type: :runtime
222
237
  prerelease: false
223
238
  version_requirements: !ruby/object:Gem::Requirement
224
239
  requirements:
225
240
  - - "~>"
226
241
  - !ruby/object:Gem::Version
227
- version: '1.10'
228
- - - ">="
229
- - !ruby/object:Gem::Version
230
- version: 1.10.1
242
+ version: '1.11'
231
243
  - !ruby/object:Gem::Dependency
232
244
  name: eac_ruby_gem_support
233
245
  requirement: !ruby/object:Gem::Requirement
@@ -252,19 +264,6 @@ files:
252
264
  - Gemfile
253
265
  - exe/avm
254
266
  - lib/avm.rb
255
- - lib/avm/eac_writings_base0.rb
256
- - lib/avm/eac_writings_base0/apache_host.rb
257
- - lib/avm/eac_writings_base0/commons.rb
258
- - lib/avm/eac_writings_base0/deploy.rb
259
- - lib/avm/eac_writings_base0/file_build.rb
260
- - lib/avm/eac_writings_base0/file_build/base_stereotype.rb
261
- - lib/avm/eac_writings_base0/file_build/chapter_index.rb
262
- - lib/avm/eac_writings_base0/file_build/tex_source.rb
263
- - lib/avm/eac_writings_base0/instance.rb
264
- - lib/avm/eac_writings_base0/project.rb
265
- - lib/avm/eac_writings_base0/project_build.rb
266
- - lib/avm/eac_writings_base0/project_build/chapters_content.rb
267
- - lib/avm/eac_writings_base0/project_build/copy_files.rb
268
267
  - lib/avm/launcher/context.rb
269
268
  - lib/avm/launcher/context/instance_collector.rb
270
269
  - lib/avm/launcher/context/instance_discovery.rb
@@ -330,10 +329,6 @@ files:
330
329
  - lib/avm/tools/core_ext.rb
331
330
  - lib/avm/tools/runner.rb
332
331
  - lib/avm/tools/runner/app_src.rb
333
- - lib/avm/tools/runner/app_src/eac_writings_base0.rb
334
- - lib/avm/tools/runner/app_src/eac_writings_base0/build_chapters.rb
335
- - lib/avm/tools/runner/app_src/eac_writings_base0/build_single.rb
336
- - lib/avm/tools/runner/app_src/eac_writings_base0/info.rb
337
332
  - lib/avm/tools/runner/app_src/info.rb
338
333
  - lib/avm/tools/runner/app_src/issue.rb
339
334
  - lib/avm/tools/runner/app_src/issue/complete.rb
@@ -351,7 +346,6 @@ files:
351
346
  - lib/avm/tools/runner/config.rb
352
347
  - lib/avm/tools/runner/config/load_path.rb
353
348
  - lib/avm/tools/runner/eac_webapp_base0.rb
354
- - lib/avm/tools/runner/eac_writings_base0.rb
355
349
  - lib/avm/tools/runner/files.rb
356
350
  - lib/avm/tools/runner/files/format.rb
357
351
  - lib/avm/tools/runner/files/rotate.rb
@@ -372,8 +366,6 @@ files:
372
366
  - lib/avm/tools/runner/launcher/instances.rb
373
367
  - lib/avm/tools/runner/launcher/projects.rb
374
368
  - lib/avm/tools/runner/launcher/publish.rb
375
- - lib/avm/tools/runner/ruby.rb
376
- - lib/avm/tools/runner/ruby/rubocop.rb
377
369
  - lib/avm/tools/runner/self.rb
378
370
  - lib/avm/tools/runner/self/docker.rb
379
371
  - lib/avm/tools/runner/self/registry.rb
@@ -382,15 +374,6 @@ files:
382
374
  - lib/avm/tools/version.rb
383
375
  - locale/en.yml
384
376
  - locale/pt-BR.yml
385
- - template/avm/eac_writings_base0/commons/all.tex
386
- - template/avm/eac_writings_base0/commons/ebook.tex
387
- - template/avm/eac_writings_base0/commons/images.tex
388
- - template/avm/eac_writings_base0/commons/links.tex
389
- - template/avm/eac_writings_base0/commons/portuguese.tex
390
- - template/avm/eac_writings_base0/commons/source_code.tex
391
- - template/avm/eac_writings_base0/commons/source_code/java.tex
392
- - template/avm/eac_writings_base0/commons/utils.tex
393
- - template/avm/eac_writings_base0/deploy/index.html.template
394
377
  - template/avm/self/docker_image/Dockerfile
395
378
  - template/avm/self/docker_image/entrypoint.sh
396
379
  homepage:
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_webapp_base0/apache_host'
4
-
5
- module Avm
6
- module EacWritingsBase0
7
- class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
8
- def document_root
9
- instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
10
- end
11
-
12
- def extra_content
13
- ''
14
- end
15
- end
16
- end
17
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/core_ext'
4
- require 'singleton'
5
-
6
- module Avm
7
- module EacWritingsBase0
8
- class Commons
9
- include ::Singleton
10
- end
11
- end
12
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_webapp_base0/deploy'
4
- require 'avm/eac_writings_base0/project'
5
- require 'avm/eac_writings_base0/project_build'
6
-
7
- module Avm
8
- module EacWritingsBase0
9
- class Deploy < ::Avm::EacWebappBase0::Deploy
10
- def build_content
11
- ::Avm::EacWritingsBase0::ProjectBuild.new(project, output_file:
12
- build_dir.join(pdf_path))
13
- end
14
-
15
- def title
16
- instance.id.humanize
17
- end
18
-
19
- def pdf_path
20
- "#{instance.id.underscore}.pdf"
21
- end
22
-
23
- def variables_source
24
- self
25
- end
26
-
27
- private
28
-
29
- def project_uncached
30
- ::Avm::EacWritingsBase0::Project.new(
31
- instance.source_instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
32
- )
33
- end
34
- end
35
- end
36
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacWritingsBase0
5
- class FileBuild
6
- module BaseStereotype
7
- private
8
-
9
- def target_subpath
10
- subpath
11
- end
12
-
13
- def copy(target_path)
14
- FileUtils.copy_file(source_path, target_path)
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacWritingsBase0
5
- class FileBuild
6
- module ChapterIndex
7
- class << self
8
- def match?(subpath)
9
- ::File.basename(subpath) == 'index.tex'
10
- end
11
- end
12
-
13
- private
14
-
15
- def target_subpath
16
- ::Avm::EacWritingsBase0::ProjectBuild.chapter_filename(
17
- File.basename(File.dirname(subpath))
18
- ) + '.tex'
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacWritingsBase0
5
- class FileBuild
6
- module TexSource
7
- class << self
8
- def match?(subpath)
9
- ::File.extname(subpath) == '.tex'
10
- end
11
- end
12
-
13
- private
14
-
15
- def copy(target_path)
16
- ::File.write(target_path, target_content)
17
- end
18
-
19
- def target_content
20
- s = ::File.read(source_path)
21
- replacements.each do |from, to|
22
- s = s.gsub(from, to)
23
- end
24
- s
25
- end
26
-
27
- def replacements
28
- { '%dir%' => ::File.dirname(subpath) }
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacWritingsBase0
7
- class FileBuild
8
- require_sub __FILE__
9
- include ::Avm::EacWritingsBase0::FileBuild::BaseStereotype
10
- DEFAULT_STEREOTYPES = [::Avm::EacWritingsBase0::FileBuild::ChapterIndex,
11
- ::Avm::EacWritingsBase0::FileBuild::TexSource].freeze
12
-
13
- class << self
14
- def stereotypes
15
- DEFAULT_STEREOTYPES
16
- end
17
- end
18
-
19
- common_constructor :project, :subpath do
20
- self.class.stereotypes.each do |stereotype|
21
- singleton_class.prepend(stereotype) if stereotype.match?(subpath)
22
- end
23
- end
24
-
25
- def build_to_dir(build_root_target_dir)
26
- create_target_dir(build_root_target_dir)
27
- copy(target_path(build_root_target_dir))
28
- end
29
-
30
- private
31
-
32
- def create_target_dir(build_root_target_dir)
33
- FileUtils.mkdir_p(File.dirname(target_path(build_root_target_dir)))
34
- end
35
-
36
- def source_path
37
- File.join(project.root, subpath)
38
- end
39
-
40
- def target_path(build_root_target_dir)
41
- File.join(build_root_target_dir, target_subpath)
42
- end
43
- end
44
- end
45
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_webapp_base0/instance'
4
-
5
- module Avm
6
- module EacWritingsBase0
7
- class Instance < ::Avm::EacWebappBase0::Instance
8
- FILES_UNITS = {}.freeze
9
- end
10
- end
11
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacWritingsBase0
7
- class Project
8
- common_constructor :root do
9
- self.root = root.to_pathname
10
- end
11
-
12
- def chapters
13
- chapters_file.read.split("\n").map(&:strip).reject { |c| c == '' }
14
- end
15
-
16
- def chapters_file
17
- root.join('chapters')
18
- end
19
-
20
- def name
21
- root.basename.to_s
22
- end
23
-
24
- def default_output_dir
25
- root.join('dist')
26
- end
27
-
28
- def default_output_file
29
- root.join("#{name}.pdf")
30
- end
31
- end
32
- end
33
- end
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacWritingsBase0
5
- class ProjectBuild
6
- class << self
7
- def chapter_filename(chapter_name)
8
- "chapter_#{chapter_name}"
9
- end
10
- end
11
-
12
- module ChaptersContent
13
- private
14
-
15
- def chapter
16
- options[:chapter]
17
- end
18
-
19
- def chapter_filename(chapter_name)
20
- ::Avm::EacWritingsBase0::ProjectBuild.chapter_filename(chapter_name)
21
- end
22
-
23
- def check_chapter
24
- return unless chapter
25
- return if project.chapters.include?(chapter)
26
-
27
- fatal_error("Chapter not found: \"#{chapter}\" (List: #{project.chapters})")
28
- end
29
-
30
- def include_content
31
- main_path = source_temp_dir.join('main.tex')
32
- main_path.write(main_path.read.gsub(CONTENT_VAR, include_chapters_content))
33
- end
34
-
35
- def include_chapters_content
36
- r = chapters_content
37
- r = "\\maketitle\n\n#{r}" if chapter.blank?
38
- r
39
- end
40
-
41
- def chapters_content
42
- project.chapters.map { |c| "\\include{#{chapter_filename(c)}}" }.join("\n")
43
- end
44
- end
45
- end
46
- end
47
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_writings_base0/commons'
4
- require 'avm/eac_writings_base0/file_build'
5
-
6
- module Avm
7
- module EacWritingsBase0
8
- class ProjectBuild
9
- module CopyFiles
10
- def copy_project_files
11
- copy_project_dir('.')
12
- end
13
-
14
- def copy_project_obj(subpath)
15
- return if File.basename(subpath).start_with?('.')
16
-
17
- if File.directory?(File.join(project.root, subpath))
18
- copy_project_dir(subpath)
19
- else
20
- copy_project_file(subpath)
21
- end
22
- end
23
-
24
- def copy_project_file(subpath)
25
- ::Avm::EacWritingsBase0::FileBuild.new(project, subpath).build_to_dir(source_temp_dir)
26
- end
27
-
28
- def copy_project_dir(subpath)
29
- Dir.entries(File.join(project.root, subpath)).each do |f|
30
- copy_project_obj(File.join(subpath, f))
31
- end
32
- end
33
-
34
- def copy_commons_files
35
- target_dir = source_temp_dir.join('commons')
36
- target_dir.mkpath
37
- ::Avm::EacWritingsBase0::Commons.instance.template.apply(self, target_dir)
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -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,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacWritingsBase0
7
- require_sub __FILE__
8
- end
9
- 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
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/tools/core_ext'
4
- require 'avm/eac_ruby_base1/rubocop'
5
-
6
- module Avm
7
- module Tools
8
- class Runner
9
- class Ruby
10
- class Rubocop
11
- runner_with :help do
12
- desc 'Runs Rubocop (https://rubygems.org/gems/rubocop).'
13
- arg_opt '-C', 'Caminho para executar o Rubocop [default: .].'
14
- pos_arg :rubocop_args, repeat: true, optional: true
15
- end
16
-
17
- def run
18
- ::Avm::EacRubyBase1::Rubocop.new(path, parsed.rubocop_args).run
19
- end
20
-
21
- private
22
-
23
- def path
24
- ::Pathname.new(parsed.c || '.').expand_path
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
-
5
- module Avm
6
- module Tools
7
- class Runner
8
- class Ruby
9
- require_sub __FILE__
10
- runner_with :help, :subcommands do
11
- desc 'Ruby utilities for AVM.'
12
- subcommands
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,5 +0,0 @@
1
- \input{commons/links}
2
- \input{commons/portuguese}
3
- \input{commons/source_code}
4
- \input{commons/utils}
5
- \input{commons/images}
@@ -1,11 +0,0 @@
1
- \documentclass[a4paper,twoside,final,12pt,openany]{memoir}
2
- \input{commons/all}
3
- \setlength{\parindent}{0em}
4
- \setlength{\parskip}{1em}
5
- \setlrmarginsandblock{1cm}{1cm}{*}
6
- \setulmarginsandblock{2cm}{2cm}{*}
7
- \checkandfixthelayout
8
-
9
- \newcommand{\chapref}[1] {
10
- Cap. \ref{chap:#1} - \nameref{chap:#1}
11
- }
@@ -1,11 +0,0 @@
1
- \usepackage{graphicx}
2
- \usepackage[font=small,labelfont=bf]{caption}
3
-
4
- \newcommand{\inputimage}[2] {
5
- \begin{minipage}{\linewidth}
6
- \begin{center}
7
- \includegraphics{#1}
8
- \captionof{figure}{#2}
9
- \end{center}
10
- \end{minipage}
11
- }
@@ -1,2 +0,0 @@
1
- \usepackage{hyperref}
2
- \hypersetup{colorlinks=true}
@@ -1,8 +0,0 @@
1
- \usepackage[utf8]{inputenc}
2
- \usepackage[portuguese]{babel}
3
- \usepackage{listings}
4
- \lstset{
5
- inputencoding=utf8,
6
- extendedchars=true,
7
- literate={á}{{\'a}}1 {à}{{\`a}}1 {ã}{{\~a}}1 {â}{{\^a}}1 {é}{{\'e}}1 {ê}{{\^e}}1 {ë}{{\"e}}1 {í}{{\'i}}1 {ç}{{\c{c}}}1 {Ç}{{\c{C}}}1 {õ}{{\~o}}1 {Õ}{{\~O}}1 {ó}{{\'o}}1 {ô}{{\^o}}1 {ú}{{\'u}}1
8
- }
@@ -1,15 +0,0 @@
1
- \lstloadlanguages{Java}
2
- \newcommand{\java}[1] {
3
- \lstinline[language=Java]{#1}
4
- }
5
- \newcommand{\javafile}[1] {
6
- \begin{minipage}{\linewidth}
7
- \lstinputlisting[language=Java,caption=$#1$]{#1}
8
- \end{minipage}
9
- }
10
- \lstnewenvironment{javaenv} {
11
- \lstset{language=Java}
12
- \minipage\linewidth
13
- } {
14
- \endminipage
15
- }
@@ -1,21 +0,0 @@
1
- \usepackage[dvipsnames]{xcolor}
2
- \usepackage{listings}
3
- \usepackage{courier}
4
- \usepackage[T1]{fontenc}
5
- \usepackage{textcomp}
6
- \definecolor{code_background}{rgb}{0.95,0.95,0.95}
7
- \lstset{
8
- backgroundcolor=\color{code_background},
9
- breakatwhitespace=false,
10
- breaklines=true,
11
- basicstyle=\ttfamily\color{black},
12
- commentstyle = \ttfamily\color{gray},
13
- keywordstyle=\ttfamily\color{blue},
14
- stringstyle=\color{orange},
15
- showstringspaces=false,
16
- frame=single,
17
- basicstyle=\ttfamily\tiny,
18
- columns=flexible,
19
- upquote=true,
20
- }
21
- \input{commons/source_code/java}
@@ -1,6 +0,0 @@
1
- \newcommand{\todo}[0] {
2
- \textcolor{red}{\textbf{TO-DO}}
3
- }
4
- \newcommand{\dq}[1] {
5
- ``#1''
6
- }
@@ -1,9 +0,0 @@
1
- <html>
2
- <head>
3
- <title>%%title%%</title>
4
- </head>
5
- <body>
6
- <h1>%%title%%</h1>
7
- <a href="%%pdf_path%%">PDF</a>
8
- </body>
9
- </html>