avm-tools 0.130.0 → 0.131.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/avm/tools/version.rb +1 -1
- metadata +1 -27
- data/lib/avm/eac_writings_base0/apache_host.rb +0 -17
- data/lib/avm/eac_writings_base0/commons.rb +0 -12
- data/lib/avm/eac_writings_base0/deploy.rb +0 -36
- data/lib/avm/eac_writings_base0/file_build/base_stereotype.rb +0 -19
- data/lib/avm/eac_writings_base0/file_build/chapter_index.rb +0 -23
- data/lib/avm/eac_writings_base0/file_build/tex_source.rb +0 -33
- data/lib/avm/eac_writings_base0/file_build.rb +0 -45
- data/lib/avm/eac_writings_base0/instance.rb +0 -11
- data/lib/avm/eac_writings_base0/project.rb +0 -33
- data/lib/avm/eac_writings_base0/project_build/chapters_content.rb +0 -47
- data/lib/avm/eac_writings_base0/project_build/copy_files.rb +0 -42
- data/lib/avm/eac_writings_base0/project_build.rb +0 -117
- data/lib/avm/eac_writings_base0.rb +0 -9
- data/lib/avm/tools/runner/app_src/eac_writings_base0/build_chapters.rb +0 -45
- data/lib/avm/tools/runner/app_src/eac_writings_base0/build_single.rb +0 -35
- data/lib/avm/tools/runner/app_src/eac_writings_base0/info.rb +0 -34
- data/lib/avm/tools/runner/app_src/eac_writings_base0.rb +0 -33
- data/lib/avm/tools/runner/eac_writings_base0.rb +0 -14
- data/template/avm/eac_writings_base0/commons/all.tex +0 -5
- data/template/avm/eac_writings_base0/commons/ebook.tex +0 -11
- data/template/avm/eac_writings_base0/commons/images.tex +0 -11
- data/template/avm/eac_writings_base0/commons/links.tex +0 -2
- data/template/avm/eac_writings_base0/commons/portuguese.tex +0 -8
- data/template/avm/eac_writings_base0/commons/source_code/java.tex +0 -15
- data/template/avm/eac_writings_base0/commons/source_code.tex +0 -21
- data/template/avm/eac_writings_base0/commons/utils.tex +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b949d5c86fddc27e78893e2d7efd3b73cc99648f8a601c6a27e15a37027cd90
|
4
|
+
data.tar.gz: 56c0f0198f3000ffb13308a8774198ce1fc20ac2f89a442e5492be83f96a0e1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de45caee19e4be349b0344d6adff59124a7fdbfc3193894ab1c39ee8805ea2f634671b0701bd162b5616944459748639abd84c30bb0d707936c2f8969cffe820
|
7
|
+
data.tar.gz: e7c4f27553d66ba3b37d062a83a1a9acb2f52df02d6d3567a5616432af39781b808f5613a8428a3a7a1270b1f6eadf08a090f6d669aa37db9dd99a9979351943
|
data/lib/avm/tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.131.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
@@ -252,19 +252,6 @@ files:
|
|
252
252
|
- Gemfile
|
253
253
|
- exe/avm
|
254
254
|
- 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
255
|
- lib/avm/launcher/context.rb
|
269
256
|
- lib/avm/launcher/context/instance_collector.rb
|
270
257
|
- lib/avm/launcher/context/instance_discovery.rb
|
@@ -330,10 +317,6 @@ files:
|
|
330
317
|
- lib/avm/tools/core_ext.rb
|
331
318
|
- lib/avm/tools/runner.rb
|
332
319
|
- 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
320
|
- lib/avm/tools/runner/app_src/info.rb
|
338
321
|
- lib/avm/tools/runner/app_src/issue.rb
|
339
322
|
- lib/avm/tools/runner/app_src/issue/complete.rb
|
@@ -351,7 +334,6 @@ files:
|
|
351
334
|
- lib/avm/tools/runner/config.rb
|
352
335
|
- lib/avm/tools/runner/config/load_path.rb
|
353
336
|
- lib/avm/tools/runner/eac_webapp_base0.rb
|
354
|
-
- lib/avm/tools/runner/eac_writings_base0.rb
|
355
337
|
- lib/avm/tools/runner/files.rb
|
356
338
|
- lib/avm/tools/runner/files/format.rb
|
357
339
|
- lib/avm/tools/runner/files/rotate.rb
|
@@ -382,14 +364,6 @@ files:
|
|
382
364
|
- lib/avm/tools/version.rb
|
383
365
|
- locale/en.yml
|
384
366
|
- 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
367
|
- template/avm/eac_writings_base0/deploy/index.html.template
|
394
368
|
- template/avm/self/docker_image/Dockerfile
|
395
369
|
- template/avm/self/docker_image/entrypoint.sh
|
@@ -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,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,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,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,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,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}
|