eac_tools 0.40.0 → 0.41.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/Gemfile.lock +9 -9
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +2 -1
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +1 -1
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -3
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +7 -1
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build/document.rb +84 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build.rb +9 -15
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +2 -2
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/{index.adoc → content/body.adoc} +0 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec.rb +32 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/doc1.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/doc2/doc2_1.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/doc2.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/index.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/spec_helper.rb +4 -0
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/{index.adoc → content/body.adoc} +0 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +3 -1
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
- data/sub/avm-git/avm-git.gemspec +1 -1
- data/sub/avm-git/lib/avm/git/version.rb +1 -1
- data/sub/avm-git/lib/avm/git.rb +0 -2
- data/sub/eac_fs/lib/eac_fs/comparator/build.rb +57 -0
- data/sub/eac_fs/lib/eac_fs/comparator.rb +1 -37
- data/sub/eac_fs/lib/eac_fs/version.rb +1 -1
- metadata +15 -9
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build/file.rb +0 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b4a759c572f8acfb951cb1952ae3b1b1800bac5dada73d1907e8e8e2df9fa9e5
|
|
4
|
+
data.tar.gz: 4c5804436ac869605af3be470557cee27131fbe0be2d6f2191f778210d7c60cd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dbe1a9779ef9fa3a6d11c4d47bd47d9a5812d7af616669ff01a503233c563f15d64ca857b3536ea89e3b767d28c8ea13f56b0615c4183cf965729433bffd0310
|
|
7
|
+
data.tar.gz: a2f36c26ff611a47052fcf57a31a9644c408160ae27dc637d0ebdbd8c3477fe564dcc56bc7ce38076d3be7ef6e6a6619cd1aab7e70db4fe19b3da55e20dbff04
|
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
eac_tools (0.
|
|
4
|
+
eac_tools (0.41.0)
|
|
5
5
|
avm (~> 0.54)
|
|
6
|
-
avm-eac_asciidoctor_base0 (~> 0.
|
|
6
|
+
avm-eac_asciidoctor_base0 (~> 0.9)
|
|
7
7
|
avm-eac_generic_base0 (~> 0.8)
|
|
8
8
|
avm-eac_latex_base0 (~> 0.3)
|
|
9
9
|
avm-eac_php_base0 (~> 0.3)
|
|
@@ -12,7 +12,7 @@ PATH
|
|
|
12
12
|
avm-eac_redmine_base0 (~> 0.16)
|
|
13
13
|
avm-eac_redmine_plugin_base0 (~> 0.3)
|
|
14
14
|
avm-eac_ruby_base1 (~> 0.26, >= 0.26.2)
|
|
15
|
-
avm-eac_webapp_base0 (~> 0.12, >= 0.12.
|
|
15
|
+
avm-eac_webapp_base0 (~> 0.12, >= 0.12.2)
|
|
16
16
|
avm-eac_wordpress_base0 (~> 0.2, >= 0.2.1)
|
|
17
17
|
avm-tools (~> 0.142, >= 0.142.4)
|
|
18
18
|
eac_ruby_utils (~> 0.106, >= 0.106.1)
|
|
@@ -33,9 +33,9 @@ PATH
|
|
|
33
33
|
PATH
|
|
34
34
|
remote: sub/avm-eac_asciidoctor_base0
|
|
35
35
|
specs:
|
|
36
|
-
avm-eac_asciidoctor_base0 (0.
|
|
36
|
+
avm-eac_asciidoctor_base0 (0.9.0)
|
|
37
37
|
asciidoctor (~> 2.0, >= 2.0.18)
|
|
38
|
-
avm-eac_webapp_base0 (~> 0.12, >= 0.12.
|
|
38
|
+
avm-eac_webapp_base0 (~> 0.12, >= 0.12.2)
|
|
39
39
|
eac_ruby_utils (~> 0.106, >= 0.106.1)
|
|
40
40
|
os (~> 1.1, >= 1.1.4)
|
|
41
41
|
rouge (~> 3.30)
|
|
@@ -116,7 +116,7 @@ PATH
|
|
|
116
116
|
PATH
|
|
117
117
|
remote: sub/avm-eac_webapp_base0
|
|
118
118
|
specs:
|
|
119
|
-
avm-eac_webapp_base0 (0.12.
|
|
119
|
+
avm-eac_webapp_base0 (0.12.2)
|
|
120
120
|
avm (~> 0.54)
|
|
121
121
|
avm-eac_generic_base0 (~> 0.8)
|
|
122
122
|
avm-eac_postgresql_base0 (~> 0.2)
|
|
@@ -145,8 +145,8 @@ PATH
|
|
|
145
145
|
PATH
|
|
146
146
|
remote: sub/avm-git
|
|
147
147
|
specs:
|
|
148
|
-
avm-git (0.
|
|
149
|
-
avm (~> 0.
|
|
148
|
+
avm-git (0.10.0)
|
|
149
|
+
avm (~> 0.54)
|
|
150
150
|
avm-files (~> 0.6)
|
|
151
151
|
eac_git (~> 0.13)
|
|
152
152
|
eac_ruby_utils (~> 0.106, >= 0.106.1)
|
|
@@ -211,7 +211,7 @@ PATH
|
|
|
211
211
|
PATH
|
|
212
212
|
remote: sub/eac_fs
|
|
213
213
|
specs:
|
|
214
|
-
eac_fs (0.
|
|
214
|
+
eac_fs (0.14.0)
|
|
215
215
|
content-type (~> 0.0, >= 0.0.2)
|
|
216
216
|
eac_ruby_utils (~> 0.106, >= 0.106.1)
|
|
217
217
|
ruby-filemagic (~> 0.7, >= 0.7.3)
|
data/lib/eac_tools/version.rb
CHANGED
|
@@ -13,10 +13,11 @@ Gem::Specification.new do |s|
|
|
|
13
13
|
s.files = Dir['{lib,template}/**/*']
|
|
14
14
|
|
|
15
15
|
s.add_dependency 'asciidoctor', '~> 2.0', '>= 2.0.18'
|
|
16
|
-
s.add_dependency 'avm-eac_webapp_base0', '~> 0.12', '>= 0.12.
|
|
16
|
+
s.add_dependency 'avm-eac_webapp_base0', '~> 0.12', '>= 0.12.2'
|
|
17
17
|
s.add_dependency 'eac_ruby_utils', '~> 0.106', '>= 0.106.1'
|
|
18
18
|
s.add_dependency 'os', '~> 1.1', '>= 1.1.4'
|
|
19
19
|
s.add_dependency 'rouge', '~> 3.30'
|
|
20
20
|
|
|
21
|
+
s.add_development_dependency 'eac_fs', '~> 0.14'
|
|
21
22
|
s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
|
|
22
23
|
end
|
|
@@ -8,9 +8,6 @@ module Avm
|
|
|
8
8
|
module EacAsciidoctorBase0
|
|
9
9
|
module SourceGenerators
|
|
10
10
|
class Base < ::Avm::SourceGenerators::Base
|
|
11
|
-
IDENT = ' '
|
|
12
|
-
JOBS = %w[main_document].freeze
|
|
13
|
-
TEMPLATE_VARIABLES = %w[lib_path name root_module].freeze
|
|
14
11
|
OPTIONS = {}.freeze
|
|
15
12
|
|
|
16
13
|
enable_speaker
|
|
@@ -8,7 +8,13 @@ module Avm
|
|
|
8
8
|
module EacAsciidoctorBase0
|
|
9
9
|
module Sources
|
|
10
10
|
class Base < ::Avm::EacWebappBase0::Sources::Base
|
|
11
|
-
|
|
11
|
+
CONTENT_DIRECTORY_SUBPATH = ::Pathname.new('content')
|
|
12
|
+
CONTENT_DOCUMENT_BASENAME = ::Pathname.new('body.adoc')
|
|
13
|
+
MAIN_FILE_SUBPATH = CONTENT_DIRECTORY_SUBPATH.join(CONTENT_DOCUMENT_BASENAME)
|
|
14
|
+
|
|
15
|
+
def content_directory
|
|
16
|
+
path.join(CONTENT_DIRECTORY_SUBPATH)
|
|
17
|
+
end
|
|
12
18
|
|
|
13
19
|
def valid?
|
|
14
20
|
path.join(MAIN_FILE_SUBPATH).file?
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'asciidoctor'
|
|
4
|
+
|
|
5
|
+
module Avm
|
|
6
|
+
module EacAsciidoctorBase0
|
|
7
|
+
module Sources
|
|
8
|
+
class Build
|
|
9
|
+
class Document
|
|
10
|
+
ROOT_BODY_TARGET_BASENAME = 'index'
|
|
11
|
+
|
|
12
|
+
enable_simple_cache
|
|
13
|
+
enable_speaker
|
|
14
|
+
common_constructor :build, :parent_document, :basename
|
|
15
|
+
|
|
16
|
+
# Absolute path to the Asciidoctor file.
|
|
17
|
+
#
|
|
18
|
+
# @return [Pathname]
|
|
19
|
+
def body_source_path
|
|
20
|
+
root_source_path.join(
|
|
21
|
+
::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Absolute path to the output of Asciidoctor's source file.
|
|
26
|
+
#
|
|
27
|
+
# @return [Pathname]
|
|
28
|
+
def body_target_path
|
|
29
|
+
build.target_directory.join(
|
|
30
|
+
parent_document.present? ? subpath : ROOT_BODY_TARGET_BASENAME
|
|
31
|
+
).basename_sub('.*') { |b| "#{b}.html" }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def mydebug
|
|
35
|
+
root_source_path.print_debug(title: 'Document')
|
|
36
|
+
children.count.print_debug(label: 'children.count')
|
|
37
|
+
body_source_path.print_debug(label: 'body_source')
|
|
38
|
+
body_source_path.file?.print_debug(label: 'body_source.file?')
|
|
39
|
+
body_target_path.print_debug(label: 'body_target')
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def perform
|
|
43
|
+
perform_self
|
|
44
|
+
perform_children
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def perform_self
|
|
48
|
+
infov 'Building', root_source_path
|
|
49
|
+
::Asciidoctor.convert_file(
|
|
50
|
+
body_source_path.to_path,
|
|
51
|
+
to_file: body_target_path.to_path, safe: :unsafe, mkdirs: true
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def perform_children
|
|
56
|
+
children.each(&:perform)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def tree_documents_count
|
|
60
|
+
children.inject(1) { |a, e| a + e.tree_documents_count }
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Absolute path to the document's source root.
|
|
64
|
+
#
|
|
65
|
+
# @return [Pathname]
|
|
66
|
+
def root_source_path
|
|
67
|
+
build.source.content_directory.join(subpath)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def subpath
|
|
71
|
+
parent_document.if_present('.'.to_pathname) { |pd| pd.subpath.join(basename) }
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
private
|
|
75
|
+
|
|
76
|
+
def children_uncached
|
|
77
|
+
root_source_path.children.select(&:directory?)
|
|
78
|
+
.map { |path| self.class.new(build, self, path.basename) }
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -12,20 +12,24 @@ module Avm
|
|
|
12
12
|
enable_simple_cache
|
|
13
13
|
enable_listable
|
|
14
14
|
lists.add_symbol :option, :target_directory
|
|
15
|
-
common_constructor :
|
|
15
|
+
common_constructor :source, :options, default: [{}] do
|
|
16
16
|
self.options = self.class.lists.option.hash_keys_validate!(options.symbolize_keys)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
SOURCE_EXTNAMES = %w[.adoc .asc].freeze
|
|
20
20
|
|
|
21
|
-
def
|
|
22
|
-
infov 'Files to build',
|
|
21
|
+
def perform
|
|
22
|
+
infov 'Files to build', root_document.tree_documents_count
|
|
23
23
|
target_directory.clear
|
|
24
|
-
|
|
24
|
+
root_document.perform
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
def default_target_directory
|
|
28
|
-
|
|
28
|
+
source.path.join('build')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def root_document
|
|
32
|
+
::Avm::EacAsciidoctorBase0::Sources::Build::Document.new(self, nil, nil)
|
|
29
33
|
end
|
|
30
34
|
|
|
31
35
|
def target_directory
|
|
@@ -33,16 +37,6 @@ module Avm
|
|
|
33
37
|
options[OPTION_TARGET_DIRECTORY] || default_target_directory
|
|
34
38
|
)
|
|
35
39
|
end
|
|
36
|
-
|
|
37
|
-
def source_files_uncached
|
|
38
|
-
r = []
|
|
39
|
-
project.path.children.each do |child|
|
|
40
|
-
next unless SOURCE_EXTNAMES.include?(child.extname)
|
|
41
|
-
|
|
42
|
-
r << ::Avm::EacAsciidoctorBase0::Sources::Build::File.new(self, child.basename)
|
|
43
|
-
end
|
|
44
|
-
r
|
|
45
|
-
end
|
|
46
40
|
end
|
|
47
41
|
end
|
|
48
42
|
end
|
|
@@ -17,7 +17,7 @@ module Avm
|
|
|
17
17
|
|
|
18
18
|
def run
|
|
19
19
|
start_banner
|
|
20
|
-
build.
|
|
20
|
+
build.perform
|
|
21
21
|
open
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -40,7 +40,7 @@ module Avm
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def open_path
|
|
43
|
-
build.
|
|
43
|
+
build.root_document.body_target_path
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def start_banner
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_asciidoctor_base0/sources/base'
|
|
4
|
+
require 'avm/eac_asciidoctor_base0/sources/build'
|
|
5
|
+
require 'eac_fs/comparator'
|
|
6
|
+
|
|
7
|
+
::RSpec.describe ::Avm::EacAsciidoctorBase0::Sources::Build do
|
|
8
|
+
let(:fixtures_dir) { __dir__.to_pathname.join('build_spec_files') }
|
|
9
|
+
let(:fs_comparator) { ::EacFs::Comparator.new.truncate_file('*.html') }
|
|
10
|
+
let(:instance) { described_class.new(source) }
|
|
11
|
+
let(:source) { avm_source('EacAsciidoctorBase0') }
|
|
12
|
+
let(:target_dir) { fixtures_dir }
|
|
13
|
+
let(:main_document) do
|
|
14
|
+
source.path.join(::Avm::EacAsciidoctorBase0::Sources::Base::MAIN_FILE_SUBPATH)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
before do
|
|
18
|
+
%w[doc1 doc2 doc2/doc2_1].each do |subpath|
|
|
19
|
+
target_dir = source.content_directory.join(subpath)
|
|
20
|
+
target_dir.mkpath
|
|
21
|
+
::FileUtils.cp(
|
|
22
|
+
main_document,
|
|
23
|
+
target_dir.join(::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME)
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
instance.perform
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it do
|
|
30
|
+
expect(fs_comparator.build(instance.target_directory)).to eq(fs_comparator.build(target_dir))
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__TRUNCATED__
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__TRUNCATED__
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__TRUNCATED__
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__TRUNCATED__
|
|
@@ -2,3 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require 'eac_ruby_utils/rspec/default_setup'
|
|
4
4
|
::EacRubyUtils::Rspec.default_setup_create(::File.expand_path('..', __dir__))
|
|
5
|
+
|
|
6
|
+
require 'eac_ruby_utils/speaker'
|
|
7
|
+
require 'eac_ruby_utils/rspec/stub_speaker'
|
|
8
|
+
::EacRubyUtils::Speaker.context.push(::EacRubyUtils::Rspec::StubSpeaker.new)
|
|
File without changes
|
|
@@ -5,6 +5,8 @@ module Avm
|
|
|
5
5
|
module Instances
|
|
6
6
|
class Deploy
|
|
7
7
|
module Scm
|
|
8
|
+
DEFAULT_REMOTE_NAME = 'origin'
|
|
9
|
+
|
|
8
10
|
def commit_reference_uncached
|
|
9
11
|
git_fetch
|
|
10
12
|
r = git.rev_parse(git_reference_found)
|
|
@@ -35,7 +37,7 @@ module Avm
|
|
|
35
37
|
end
|
|
36
38
|
|
|
37
39
|
def git_remote_name
|
|
38
|
-
|
|
40
|
+
DEFAULT_REMOTE_NAME
|
|
39
41
|
end
|
|
40
42
|
|
|
41
43
|
def git_repository_path
|
data/sub/avm-git/avm-git.gemspec
CHANGED
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
|
12
12
|
|
|
13
13
|
s.files = Dir['{lib}/**/*']
|
|
14
14
|
|
|
15
|
-
s.add_dependency 'avm', '~> 0.
|
|
15
|
+
s.add_dependency 'avm', '~> 0.54'
|
|
16
16
|
s.add_dependency 'avm-files', '~> 0.6'
|
|
17
17
|
s.add_dependency 'eac_git', '~> 0.13'
|
|
18
18
|
s.add_dependency 'eac_ruby_utils', '~> 0.106', '>= 0.106.1'
|
data/sub/avm-git/lib/avm/git.rb
CHANGED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
|
+
|
|
5
|
+
module EacFs
|
|
6
|
+
class Comparator
|
|
7
|
+
class Build
|
|
8
|
+
TRUNCATE_FILE_CONTENT = "__TRUNCATED__\n"
|
|
9
|
+
|
|
10
|
+
enable_method_class
|
|
11
|
+
common_constructor :comparator, :root
|
|
12
|
+
delegate :rename_files, :truncate_files, to: :comparator
|
|
13
|
+
|
|
14
|
+
# @return [Hash]
|
|
15
|
+
def result
|
|
16
|
+
build(root)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def build(obj)
|
|
22
|
+
if obj.file?
|
|
23
|
+
build_file(obj)
|
|
24
|
+
elsif obj.directory?
|
|
25
|
+
build_directory(obj)
|
|
26
|
+
else
|
|
27
|
+
raise "Unknown filesystem object \"#{obj}\""
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @param dir [Pathname]
|
|
32
|
+
# @return [Hash]
|
|
33
|
+
def build_directory(dir)
|
|
34
|
+
dir.children.map do |child|
|
|
35
|
+
[fs_object_basename(child), build(child)]
|
|
36
|
+
end.to_h
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# @param file [Pathname]
|
|
40
|
+
# @return [Hash]
|
|
41
|
+
def build_file(file)
|
|
42
|
+
truncate_file?(file) ? TRUNCATE_FILE_CONTENT : file.read
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# @return [String]
|
|
46
|
+
def fs_object_basename(obj)
|
|
47
|
+
rename_files.inject(obj.basename.to_path) { |a, e| e.apply(a) }
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def truncate_file?(file)
|
|
51
|
+
truncate_files.any? do |pattern|
|
|
52
|
+
file.basename.fnmatch?(pattern)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -4,51 +4,15 @@ require 'eac_ruby_utils/core_ext'
|
|
|
4
4
|
|
|
5
5
|
module EacFs
|
|
6
6
|
class Comparator
|
|
7
|
-
require_sub __FILE__
|
|
8
|
-
|
|
9
|
-
TRUNCATE_FILE_CONTENT = "__TRUNCATED__\n"
|
|
7
|
+
require_sub __FILE__, require_dependency: true
|
|
10
8
|
|
|
11
9
|
enable_immutable
|
|
12
10
|
immutable_accessor :rename_file, :truncate_file, type: :array
|
|
13
11
|
|
|
14
|
-
# @return [Hash]
|
|
15
|
-
def build(obj)
|
|
16
|
-
if obj.file?
|
|
17
|
-
build_file(obj)
|
|
18
|
-
elsif obj.directory?
|
|
19
|
-
build_directory(obj)
|
|
20
|
-
else
|
|
21
|
-
raise "Unknown filesystem object \"#{obj}\""
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
12
|
alias rename_file_push rename_file
|
|
26
13
|
|
|
27
14
|
def rename_file(from, to)
|
|
28
15
|
rename_file_push(::EacFs::Comparator::RenameFile.new(from, to))
|
|
29
16
|
end
|
|
30
|
-
|
|
31
|
-
private
|
|
32
|
-
|
|
33
|
-
# @param dir [Pathname]
|
|
34
|
-
# @return [Hash]
|
|
35
|
-
def build_directory(dir)
|
|
36
|
-
dir.children.map do |child|
|
|
37
|
-
[fs_object_basename(child), build(child)]
|
|
38
|
-
end.to_h
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# @param file [Pathname]
|
|
42
|
-
# @return [Hash]
|
|
43
|
-
def build_file(file)
|
|
44
|
-
return TRUNCATE_FILE_CONTENT if truncate_files.include?(file.basename.to_path)
|
|
45
|
-
|
|
46
|
-
file.read
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
# @return [String]
|
|
50
|
-
def fs_object_basename(obj)
|
|
51
|
-
rename_files.inject(obj.basename.to_path) { |a, e| e.apply(a) }
|
|
52
|
-
end
|
|
53
17
|
end
|
|
54
18
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eac_tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.41.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Put here the authors
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-10-
|
|
11
|
+
date: 2022-10-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: avm
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.
|
|
33
|
+
version: '0.9'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.
|
|
40
|
+
version: '0.9'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: avm-eac_generic_base0
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -171,7 +171,7 @@ dependencies:
|
|
|
171
171
|
version: '0.12'
|
|
172
172
|
- - ">="
|
|
173
173
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: 0.12.
|
|
174
|
+
version: 0.12.2
|
|
175
175
|
type: :runtime
|
|
176
176
|
prerelease: false
|
|
177
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -181,7 +181,7 @@ dependencies:
|
|
|
181
181
|
version: '0.12'
|
|
182
182
|
- - ">="
|
|
183
183
|
- !ruby/object:Gem::Version
|
|
184
|
-
version: 0.12.
|
|
184
|
+
version: 0.12.2
|
|
185
185
|
- !ruby/object:Gem::Dependency
|
|
186
186
|
name: avm-eac_wordpress_base0
|
|
187
187
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -325,16 +325,21 @@ files:
|
|
|
325
325
|
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb
|
|
326
326
|
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb
|
|
327
327
|
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build.rb
|
|
328
|
-
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build/
|
|
328
|
+
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build/document.rb
|
|
329
329
|
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb
|
|
330
330
|
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb
|
|
331
331
|
- sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb
|
|
332
332
|
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb
|
|
333
|
-
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/
|
|
333
|
+
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc
|
|
334
334
|
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb
|
|
335
|
+
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec.rb
|
|
336
|
+
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/doc1.html
|
|
337
|
+
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/doc2.html
|
|
338
|
+
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/doc2/doc2_1.html
|
|
339
|
+
- sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec_files/index.html
|
|
335
340
|
- sub/avm-eac_asciidoctor_base0/spec/rubocop_spec.rb
|
|
336
341
|
- sub/avm-eac_asciidoctor_base0/spec/spec_helper.rb
|
|
337
|
-
- sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/
|
|
342
|
+
- sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc
|
|
338
343
|
- sub/avm-eac_generic_base0/Gemfile
|
|
339
344
|
- sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec
|
|
340
345
|
- sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb
|
|
@@ -1230,6 +1235,7 @@ files:
|
|
|
1230
1235
|
- sub/eac_fs/lib/eac_fs.rb
|
|
1231
1236
|
- sub/eac_fs/lib/eac_fs/cached_download.rb
|
|
1232
1237
|
- sub/eac_fs/lib/eac_fs/comparator.rb
|
|
1238
|
+
- sub/eac_fs/lib/eac_fs/comparator/build.rb
|
|
1233
1239
|
- sub/eac_fs/lib/eac_fs/comparator/rename_file.rb
|
|
1234
1240
|
- sub/eac_fs/lib/eac_fs/contexts.rb
|
|
1235
1241
|
- sub/eac_fs/lib/eac_fs/file_info.rb
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'asciidoctor'
|
|
4
|
-
|
|
5
|
-
module Avm
|
|
6
|
-
module EacAsciidoctorBase0
|
|
7
|
-
module Sources
|
|
8
|
-
class Build
|
|
9
|
-
class File
|
|
10
|
-
enable_speaker
|
|
11
|
-
common_constructor :build, :subpath
|
|
12
|
-
|
|
13
|
-
def run
|
|
14
|
-
infov 'Building', subpath
|
|
15
|
-
::Asciidoctor.convert_file source_path.to_path,
|
|
16
|
-
to_file: target_path.to_path, safe: :unsafe, mkdirs: true
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def source_path
|
|
20
|
-
build.project.path.join(subpath)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def target_path
|
|
24
|
-
build.target_directory.join(subpath).basename_sub('.*') { |b| "#{b}.html" }
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|