eac_tools 0.41.0 → 0.42.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 +23 -23
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm/avm.gemspec +4 -4
- data/sub/avm/lib/avm/applications/base.rb +24 -3
- data/sub/avm/lib/avm/entries/entry.rb +5 -0
- data/sub/avm/lib/avm/instances/base.rb +5 -12
- data/sub/avm/lib/avm/instances/ids.rb +30 -0
- data/sub/avm/lib/avm/rspec/setup.rb +8 -0
- data/sub/avm/lib/avm/sources/base/instance.rb +2 -14
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm/spec/spec_helper.rb +1 -1
- data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +1 -1
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +18 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_macro_value.rb +59 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +50 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/{sources → instances}/build/document.rb +11 -11
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/{sources → instances}/build.rb +8 -3
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +3 -3
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +5 -3
- 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/instances/build/document_spec.rb +32 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +15 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +44 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/{sources → instances}/build_spec_files/doc1.html +0 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/{sources → instances}/build_spec_files/doc2/doc2_1.html +0 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/{sources → instances}/build_spec_files/doc2.html +0 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/{sources → instances}/build_spec_files/index.html +0 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +14 -0
- data/sub/avm-eac_asciidoctor_base0/spec/spec_helper.rb +1 -4
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +1 -0
- data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -2
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +27 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +27 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +30 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +52 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +1 -66
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +2 -1
- data/sub/eac_cli/eac_cli.gemspec +2 -2
- data/sub/eac_cli/lib/eac_cli/config/entry.rb +4 -0
- data/sub/eac_cli/lib/eac_cli/version.rb +1 -1
- data/sub/eac_config/eac_config.gemspec +2 -2
- data/sub/eac_config/lib/eac_config/entry/not_found_error.rb +13 -0
- data/sub/eac_config/lib/eac_config/entry.rb +7 -0
- data/sub/eac_config/lib/eac_config/version.rb +1 -1
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +9 -0
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +15 -6
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +5 -1
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +9 -2
- metadata +27 -29
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/build_spec.rb +0 -32
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0cc7fffb0a2dc335ea8d9bb791d3aac22b783dbf2556d7812ece97708fee0be9
|
|
4
|
+
data.tar.gz: 23081d70c8762bca09ee9389b361f3b0fed45f30a09c7649f9caaf28948559f3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 10510fc8717ce648a96da24ca0796ac2bc0f4b57424dc7efad470b86cd71585b3fbf8dd9df03818a6b4f2d739accc8f7758925d65f9bbfdf04dec360bf82fca4
|
|
7
|
+
data.tar.gz: 17442df47bb3b1944d1ce2a4b0b976aaf36edb54e6c13aad74655fc32295159caa5e31835a08b2853ea63b4db2f5311f6823af588ec2b649ca3d27f4a1dd0ea0
|
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
eac_tools (0.
|
|
5
|
-
avm (~> 0.
|
|
6
|
-
avm-eac_asciidoctor_base0 (~> 0.
|
|
4
|
+
eac_tools (0.42.0)
|
|
5
|
+
avm (~> 0.55)
|
|
6
|
+
avm-eac_asciidoctor_base0 (~> 0.10)
|
|
7
7
|
avm-eac_generic_base0 (~> 0.8)
|
|
8
8
|
avm-eac_latex_base0 (~> 0.3)
|
|
9
9
|
avm-eac_php_base0 (~> 0.3)
|
|
@@ -11,11 +11,11 @@ PATH
|
|
|
11
11
|
avm-eac_rails_base1 (~> 0.7)
|
|
12
12
|
avm-eac_redmine_base0 (~> 0.16)
|
|
13
13
|
avm-eac_redmine_plugin_base0 (~> 0.3)
|
|
14
|
-
avm-eac_ruby_base1 (~> 0.
|
|
14
|
+
avm-eac_ruby_base1 (~> 0.27)
|
|
15
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
|
-
eac_ruby_utils (~> 0.
|
|
18
|
+
eac_ruby_utils (~> 0.107)
|
|
19
19
|
|
|
20
20
|
PATH
|
|
21
21
|
remote: sub/aranha-parsers
|
|
@@ -33,10 +33,10 @@ 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.10.0)
|
|
37
37
|
asciidoctor (~> 2.0, >= 2.0.18)
|
|
38
38
|
avm-eac_webapp_base0 (~> 0.12, >= 0.12.2)
|
|
39
|
-
eac_ruby_utils (~> 0.
|
|
39
|
+
eac_ruby_utils (~> 0.107)
|
|
40
40
|
os (~> 1.1, >= 1.1.4)
|
|
41
41
|
rouge (~> 3.30)
|
|
42
42
|
|
|
@@ -108,10 +108,10 @@ PATH
|
|
|
108
108
|
PATH
|
|
109
109
|
remote: sub/avm-eac_ruby_base1
|
|
110
110
|
specs:
|
|
111
|
-
avm-eac_ruby_base1 (0.
|
|
112
|
-
avm (~> 0.
|
|
111
|
+
avm-eac_ruby_base1 (0.27.0)
|
|
112
|
+
avm (~> 0.55)
|
|
113
113
|
avm-eac_generic_base0 (~> 0.8)
|
|
114
|
-
eac_ruby_utils (~> 0.
|
|
114
|
+
eac_ruby_utils (~> 0.107)
|
|
115
115
|
|
|
116
116
|
PATH
|
|
117
117
|
remote: sub/avm-eac_webapp_base0
|
|
@@ -173,14 +173,14 @@ PATH
|
|
|
173
173
|
PATH
|
|
174
174
|
remote: sub/avm
|
|
175
175
|
specs:
|
|
176
|
-
avm (0.
|
|
176
|
+
avm (0.55.0)
|
|
177
177
|
aranha-parsers (~> 0.14, >= 0.14.4)
|
|
178
|
-
eac_cli (~> 0.
|
|
179
|
-
eac_config (~> 0.
|
|
178
|
+
eac_cli (~> 0.29)
|
|
179
|
+
eac_config (~> 0.12)
|
|
180
180
|
eac_docker (~> 0.5)
|
|
181
|
-
eac_fs (~> 0.
|
|
181
|
+
eac_fs (~> 0.14)
|
|
182
182
|
eac_git (~> 0.13)
|
|
183
|
-
eac_ruby_utils (~> 0.
|
|
183
|
+
eac_ruby_utils (~> 0.107)
|
|
184
184
|
eac_templates (~> 0.3, >= 0.3.2)
|
|
185
185
|
filesize (~> 0.2)
|
|
186
186
|
htmlbeautifier (~> 1.4, >= 1.4.2)
|
|
@@ -189,17 +189,17 @@ PATH
|
|
|
189
189
|
PATH
|
|
190
190
|
remote: sub/eac_cli
|
|
191
191
|
specs:
|
|
192
|
-
eac_cli (0.
|
|
192
|
+
eac_cli (0.29.0)
|
|
193
193
|
colorize (~> 0.8, >= 0.8.1)
|
|
194
|
-
eac_config (~> 0.
|
|
195
|
-
eac_ruby_utils (~> 0.
|
|
194
|
+
eac_config (~> 0.12)
|
|
195
|
+
eac_ruby_utils (~> 0.107)
|
|
196
196
|
|
|
197
197
|
PATH
|
|
198
198
|
remote: sub/eac_config
|
|
199
199
|
specs:
|
|
200
|
-
eac_config (0.
|
|
201
|
-
addressable (~> 2.8)
|
|
202
|
-
eac_ruby_utils (~> 0.
|
|
200
|
+
eac_config (0.12.0)
|
|
201
|
+
addressable (~> 2.8, >= 2.8.1)
|
|
202
|
+
eac_ruby_utils (~> 0.107)
|
|
203
203
|
|
|
204
204
|
PATH
|
|
205
205
|
remote: sub/eac_docker
|
|
@@ -235,7 +235,7 @@ PATH
|
|
|
235
235
|
PATH
|
|
236
236
|
remote: sub/eac_ruby_utils
|
|
237
237
|
specs:
|
|
238
|
-
eac_ruby_utils (0.
|
|
238
|
+
eac_ruby_utils (0.107.0)
|
|
239
239
|
activesupport (>= 4, < 7)
|
|
240
240
|
addressable (~> 2.8, >= 2.8.1)
|
|
241
241
|
bundler
|
|
@@ -370,7 +370,7 @@ GEM
|
|
|
370
370
|
tzinfo (2.0.5)
|
|
371
371
|
concurrent-ruby (~> 1.0)
|
|
372
372
|
unicode-display_width (1.6.1)
|
|
373
|
-
zeitwerk (2.6.
|
|
373
|
+
zeitwerk (2.6.4)
|
|
374
374
|
zlib (2.1.1)
|
|
375
375
|
|
|
376
376
|
PLATFORMS
|
data/lib/eac_tools/version.rb
CHANGED
data/sub/avm/avm.gemspec
CHANGED
|
@@ -13,12 +13,12 @@ Gem::Specification.new do |s|
|
|
|
13
13
|
s.files = Dir['{lib}/**/*']
|
|
14
14
|
|
|
15
15
|
s.add_dependency 'aranha-parsers', '~> 0.14', '>= 0.14.4'
|
|
16
|
-
s.add_dependency 'eac_cli', '~> 0.
|
|
17
|
-
s.add_dependency 'eac_config', '~> 0.
|
|
16
|
+
s.add_dependency 'eac_cli', '~> 0.29'
|
|
17
|
+
s.add_dependency 'eac_config', '~> 0.12'
|
|
18
18
|
s.add_dependency 'eac_docker', '~> 0.5'
|
|
19
|
-
s.add_dependency 'eac_fs', '~> 0.
|
|
19
|
+
s.add_dependency 'eac_fs', '~> 0.14'
|
|
20
20
|
s.add_dependency 'eac_git', '~> 0.13'
|
|
21
|
-
s.add_dependency 'eac_ruby_utils', '~> 0.
|
|
21
|
+
s.add_dependency 'eac_ruby_utils', '~> 0.107'
|
|
22
22
|
s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
|
|
23
23
|
s.add_dependency 'filesize', '~> 0.2'
|
|
24
24
|
s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/entries/base'
|
|
4
|
+
require 'avm/instances/ids'
|
|
4
5
|
require 'avm/registry'
|
|
5
6
|
require 'eac_ruby_utils/core_ext'
|
|
6
7
|
|
|
@@ -22,23 +23,43 @@ module Avm
|
|
|
22
23
|
end
|
|
23
24
|
|
|
24
25
|
def instance(suffix)
|
|
25
|
-
|
|
26
|
+
stereotype.instance_class.new(self, suffix)
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
def name
|
|
29
30
|
entry(::Avm::Instances::EntryKeys::NAME).read
|
|
30
31
|
end
|
|
31
32
|
|
|
33
|
+
# @return [String]
|
|
34
|
+
def local_instance_id
|
|
35
|
+
::Avm::Instances::Ids.build(id, local_instance_suffix)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @return [Pathname]
|
|
39
|
+
def local_source_path
|
|
40
|
+
local_source_path_entry.value!.to_pathname
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @return [EacConfig::Entry]
|
|
44
|
+
def local_source_path_entry
|
|
45
|
+
::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# @return [String]
|
|
49
|
+
def local_instance_suffix
|
|
50
|
+
LOCAL_INSTANCE_SUFFIX
|
|
51
|
+
end
|
|
52
|
+
|
|
32
53
|
private
|
|
33
54
|
|
|
34
55
|
# @return [Avm::Instances::Base]
|
|
35
56
|
def local_instance_uncached
|
|
36
|
-
instance(
|
|
57
|
+
instance(local_instance_suffix)
|
|
37
58
|
end
|
|
38
59
|
|
|
39
60
|
# @return [Avm::Sources::Base]
|
|
40
61
|
def local_source_uncached
|
|
41
|
-
::Avm::Registry.sources.detect(
|
|
62
|
+
::Avm::Registry.sources.detect(local_source_path)
|
|
42
63
|
end
|
|
43
64
|
end
|
|
44
65
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'avm/instances/ids'
|
|
3
4
|
require 'avm/with/application_stereotype'
|
|
4
5
|
require 'avm/with/extra_subcommands'
|
|
5
6
|
require 'eac_ruby_utils/require_sub'
|
|
@@ -23,18 +24,9 @@ module Avm
|
|
|
23
24
|
|
|
24
25
|
class << self
|
|
25
26
|
def by_id(id)
|
|
26
|
-
|
|
27
|
+
parsed_id = ::Avm::Instances::Ids.parse!(id)
|
|
27
28
|
require 'avm/applications/base'
|
|
28
|
-
new(::Avm::Applications::Base.new(application_id),
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
private
|
|
32
|
-
|
|
33
|
-
def parse_id(id)
|
|
34
|
-
m = ID_PATTERN.match(id)
|
|
35
|
-
return [m[1], m[2]] if m
|
|
36
|
-
|
|
37
|
-
raise "ID Pattern no matched: \"#{id}\""
|
|
29
|
+
new(::Avm::Applications::Base.new(parsed_id.application_id), parsed_id.instance_suffix)
|
|
38
30
|
end
|
|
39
31
|
end
|
|
40
32
|
|
|
@@ -42,8 +34,9 @@ module Avm
|
|
|
42
34
|
self.suffix = suffix.to_s
|
|
43
35
|
end
|
|
44
36
|
|
|
37
|
+
# @return [String]
|
|
45
38
|
def id
|
|
46
|
-
|
|
39
|
+
::Avm::Instances::Ids.build(application.id, suffix)
|
|
47
40
|
end
|
|
48
41
|
|
|
49
42
|
def to_s
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
|
+
|
|
5
|
+
module Avm
|
|
6
|
+
module Instances
|
|
7
|
+
module Ids
|
|
8
|
+
ID_PARTS_SEPARATOR = '_'
|
|
9
|
+
ID_PATTERN = /\A([a-z0-9]+(?:\-[a-z0-9]+)*)_(.+)\z/.freeze
|
|
10
|
+
ID_PARSER = ID_PATTERN.to_parser do |m|
|
|
11
|
+
::Struct.new(:application_id, :instance_suffix).new(m[1], m[2])
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class << self
|
|
15
|
+
# @param application_id [String]
|
|
16
|
+
# @param instance_suffix [String]
|
|
17
|
+
# @return [String]
|
|
18
|
+
def build(application_id, instance_suffix)
|
|
19
|
+
[application_id, instance_suffix].join(ID_PARTS_SEPARATOR)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# @param id [String]
|
|
23
|
+
# @return [String]
|
|
24
|
+
def parse!(id)
|
|
25
|
+
ID_PARSER.parse!(id)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -7,20 +7,8 @@ module Avm
|
|
|
7
7
|
module Sources
|
|
8
8
|
class Base
|
|
9
9
|
module Instance
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def instance_suffix
|
|
13
|
-
DEFAULT_INSTANCE_SUFFIX
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
private
|
|
17
|
-
|
|
18
|
-
def application_uncached
|
|
19
|
-
::Avm::Applications::Base.new(path.basename)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def instance_uncached
|
|
23
|
-
::Avm::Instances::Base.new(application, DEFAULT_INSTANCE_SUFFIX)
|
|
10
|
+
def instance
|
|
11
|
+
application.local_instance
|
|
24
12
|
end
|
|
25
13
|
end
|
|
26
14
|
end
|
data/sub/avm/lib/avm/version.rb
CHANGED
data/sub/avm/spec/spec_helper.rb
CHANGED
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
|
|
|
14
14
|
|
|
15
15
|
s.add_dependency 'asciidoctor', '~> 2.0', '>= 2.0.18'
|
|
16
16
|
s.add_dependency 'avm-eac_webapp_base0', '~> 0.12', '>= 0.12.2'
|
|
17
|
-
s.add_dependency 'eac_ruby_utils', '~> 0.
|
|
17
|
+
s.add_dependency 'eac_ruby_utils', '~> 0.107'
|
|
18
18
|
s.add_dependency 'os', '~> 1.1', '>= 1.1.4'
|
|
19
19
|
s.add_dependency 'rouge', '~> 3.30'
|
|
20
20
|
|
|
@@ -10,6 +10,24 @@ module Avm
|
|
|
10
10
|
module Instances
|
|
11
11
|
class Base < ::Avm::EacWebappBase0::Instances::Base
|
|
12
12
|
FILES_UNITS = {}.freeze
|
|
13
|
+
AUTHOR_EMAIL_ENTRY_PATH = 'install.email'
|
|
14
|
+
AUTHOR_NAME_ENTRY_PATH = 'install.name'
|
|
15
|
+
AUTHOR_NAME_INITIALS_ENTRY_PATH = 'install.name_initials'
|
|
16
|
+
|
|
17
|
+
# @return [String]
|
|
18
|
+
def author_email
|
|
19
|
+
entry(AUTHOR_EMAIL_ENTRY_PATH).value!
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# @return [String]
|
|
23
|
+
def author_name
|
|
24
|
+
entry(AUTHOR_NAME_ENTRY_PATH).value!
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# @return [String]
|
|
28
|
+
def author_name_initials
|
|
29
|
+
entry(AUTHOR_NAME_INITIALS_ENTRY_PATH).value!
|
|
30
|
+
end
|
|
13
31
|
end
|
|
14
32
|
end
|
|
15
33
|
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
|
+
|
|
5
|
+
module Avm
|
|
6
|
+
module EacAsciidoctorBase0
|
|
7
|
+
module Instances
|
|
8
|
+
class Build
|
|
9
|
+
class Document
|
|
10
|
+
class HeaderMacroValue
|
|
11
|
+
enable_method_class
|
|
12
|
+
enable_settings_provider
|
|
13
|
+
enable_simple_cache
|
|
14
|
+
common_constructor :document
|
|
15
|
+
|
|
16
|
+
delegate :build, to: :document
|
|
17
|
+
delegate :instance, to: :build
|
|
18
|
+
delegate :author_email, :author_name, to: :instance
|
|
19
|
+
|
|
20
|
+
ATTRIBUTES = ['Author Initials', 'toc', 'icons', 'numbered', 'website'].freeze
|
|
21
|
+
TOC = 'left'
|
|
22
|
+
ICONS = ''
|
|
23
|
+
NUMBERED = ''
|
|
24
|
+
|
|
25
|
+
def attributes_lines
|
|
26
|
+
ATTRIBUTES.map do |attr|
|
|
27
|
+
[":#{attr}:", attribute_value(attr)].reject(&:blank?).join(' ')
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def attribute_value(attr)
|
|
32
|
+
setting_value(attr.variableize)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def author_initials
|
|
36
|
+
instance.author_name_initials
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def author_line
|
|
40
|
+
"#{author_name} <#{author_email}>"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def result
|
|
44
|
+
result_lines.join("\n")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def result_lines
|
|
48
|
+
[author_line] + attributes_lines
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def website
|
|
52
|
+
instance.web_url
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
|
+
|
|
5
|
+
module Avm
|
|
6
|
+
module EacAsciidoctorBase0
|
|
7
|
+
module Instances
|
|
8
|
+
class Build
|
|
9
|
+
class Document
|
|
10
|
+
class PreProcessLine
|
|
11
|
+
enable_method_class
|
|
12
|
+
enable_simple_cache
|
|
13
|
+
|
|
14
|
+
MACRO_PARSER = %r{\A\s*//\#(\S+.*)}.to_parser do |m|
|
|
15
|
+
m[1]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
common_constructor :document, :line
|
|
19
|
+
|
|
20
|
+
def result
|
|
21
|
+
if macro?
|
|
22
|
+
macro_value
|
|
23
|
+
else
|
|
24
|
+
line
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def macro?
|
|
29
|
+
macro_name.present?
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def macro_parser
|
|
33
|
+
MACRO_PARSER
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def macro_value
|
|
37
|
+
document.send("#{macro_name}_macro_value")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
private
|
|
41
|
+
|
|
42
|
+
def macro_name_uncached
|
|
43
|
+
macro_parser.parse(line)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'asciidoctor'
|
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
5
|
|
|
5
6
|
module Avm
|
|
6
7
|
module EacAsciidoctorBase0
|
|
7
|
-
module
|
|
8
|
+
module Instances
|
|
8
9
|
class Build
|
|
9
10
|
class Document
|
|
11
|
+
require_sub __FILE__
|
|
12
|
+
|
|
10
13
|
ROOT_BODY_TARGET_BASENAME = 'index'
|
|
11
14
|
|
|
12
15
|
enable_simple_cache
|
|
@@ -31,14 +34,6 @@ module Avm
|
|
|
31
34
|
).basename_sub('.*') { |b| "#{b}.html" }
|
|
32
35
|
end
|
|
33
36
|
|
|
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
37
|
def perform
|
|
43
38
|
perform_self
|
|
44
39
|
perform_children
|
|
@@ -46,8 +41,8 @@ module Avm
|
|
|
46
41
|
|
|
47
42
|
def perform_self
|
|
48
43
|
infov 'Building', root_source_path
|
|
49
|
-
::Asciidoctor.
|
|
50
|
-
|
|
44
|
+
::Asciidoctor.convert(
|
|
45
|
+
pre_processed_body_source_content,
|
|
51
46
|
to_file: body_target_path.to_path, safe: :unsafe, mkdirs: true
|
|
52
47
|
)
|
|
53
48
|
end
|
|
@@ -56,6 +51,11 @@ module Avm
|
|
|
56
51
|
children.each(&:perform)
|
|
57
52
|
end
|
|
58
53
|
|
|
54
|
+
# @return [String]
|
|
55
|
+
def pre_processed_body_source_content
|
|
56
|
+
body_source_path.read.each_line.map { |line| pre_process_line(line.rstrip) + "\n" }.join
|
|
57
|
+
end
|
|
58
|
+
|
|
59
59
|
def tree_documents_count
|
|
60
60
|
children.inject(1) { |a, e| a + e.tree_documents_count }
|
|
61
61
|
end
|
data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/{sources → instances}/build.rb
RENAMED
|
@@ -5,14 +5,14 @@ require 'eac_ruby_utils/fs/clearable_directory'
|
|
|
5
5
|
|
|
6
6
|
module Avm
|
|
7
7
|
module EacAsciidoctorBase0
|
|
8
|
-
module
|
|
8
|
+
module Instances
|
|
9
9
|
class Build
|
|
10
10
|
require_sub __FILE__
|
|
11
11
|
enable_speaker
|
|
12
12
|
enable_simple_cache
|
|
13
13
|
enable_listable
|
|
14
14
|
lists.add_symbol :option, :target_directory
|
|
15
|
-
common_constructor :
|
|
15
|
+
common_constructor :instance, :options, default: [{}] do
|
|
16
16
|
self.options = self.class.lists.option.hash_keys_validate!(options.symbolize_keys)
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -29,7 +29,12 @@ module Avm
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def root_document
|
|
32
|
-
::Avm::EacAsciidoctorBase0::
|
|
32
|
+
::Avm::EacAsciidoctorBase0::Instances::Build::Document.new(self, nil, nil)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# @return [Avm::EacAsciidoctorBase0::Sources::Base]
|
|
36
|
+
def source
|
|
37
|
+
instance.application.local_source
|
|
33
38
|
end
|
|
34
39
|
|
|
35
40
|
def target_directory
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
require 'avm/eac_webapp_base0/instances/deploy'
|
|
4
4
|
require 'avm/eac_asciidoctor_base0/sources/base'
|
|
5
|
-
require 'avm/eac_asciidoctor_base0/
|
|
5
|
+
require 'avm/eac_asciidoctor_base0/instances/build'
|
|
6
6
|
|
|
7
7
|
module Avm
|
|
8
8
|
module EacAsciidoctorBase0
|
|
9
9
|
module Instances
|
|
10
10
|
class Deploy < ::Avm::EacWebappBase0::Instances::Deploy
|
|
11
11
|
def build_content
|
|
12
|
-
::Avm::EacAsciidoctorBase0::
|
|
12
|
+
::Avm::EacAsciidoctorBase0::Instances::Build.new(
|
|
13
13
|
project,
|
|
14
|
-
::Avm::EacAsciidoctorBase0::
|
|
14
|
+
::Avm::EacAsciidoctorBase0::Instances::Build::OPTION_TARGET_DIRECTORY => build_dir
|
|
15
15
|
).perform
|
|
16
16
|
end
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'avm/eac_asciidoctor_base0/
|
|
3
|
+
require 'avm/eac_asciidoctor_base0/instances/build'
|
|
4
4
|
require 'eac_cli/core_ext'
|
|
5
5
|
require 'os'
|
|
6
6
|
|
|
@@ -24,8 +24,10 @@ module Avm
|
|
|
24
24
|
private
|
|
25
25
|
|
|
26
26
|
def build_uncached
|
|
27
|
-
::Avm::EacAsciidoctorBase0::
|
|
28
|
-
|
|
27
|
+
::Avm::EacAsciidoctorBase0::Instances::Build.new(
|
|
28
|
+
runner_context.call(:source).instance,
|
|
29
|
+
target_directory: parsed.target_dir
|
|
30
|
+
)
|
|
29
31
|
end
|
|
30
32
|
|
|
31
33
|
def default_target_directory
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_asciidoctor_base0/sources/base'
|
|
4
|
+
require 'avm/eac_asciidoctor_base0/instances/build'
|
|
5
|
+
|
|
6
|
+
::RSpec.describe ::Avm::EacAsciidoctorBase0::Instances::Build::Document do
|
|
7
|
+
let(:application) { ::Avm::Applications::Base.new('myapp') }
|
|
8
|
+
let(:application_instance) do
|
|
9
|
+
::Avm::EacAsciidoctorBase0::Instances::Base
|
|
10
|
+
.new(application, 'stub')
|
|
11
|
+
end
|
|
12
|
+
let(:build) { ::Avm::EacAsciidoctorBase0::Instances::Build.new(application_instance) }
|
|
13
|
+
let(:fixtures_dir) { __dir__.to_pathname.join('document_spec_files') }
|
|
14
|
+
let(:instance) { build.root_document }
|
|
15
|
+
let(:source) { avm_source('EacAsciidoctorBase0', target_basename: application.id) }
|
|
16
|
+
let(:target_file) { fixtures_dir.join('pre_processed_root_body.adoc') }
|
|
17
|
+
|
|
18
|
+
before do
|
|
19
|
+
application.entry('stereotype').write('EacAsciidoctorBase0')
|
|
20
|
+
::EacConfig::Node.context.current.entry("#{application.id}_dev.install.path")
|
|
21
|
+
.value = source.path.to_path
|
|
22
|
+
application_instance.entry('install.path').write(source.path.to_path)
|
|
23
|
+
application_instance.entry('install.name').write('The Author')
|
|
24
|
+
application_instance.entry('install.name_initials').write('T.A.')
|
|
25
|
+
application_instance.entry('install.email').write('theauthor@example.net')
|
|
26
|
+
application_instance.entry('web.url').write('https://www.example.net')
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it do
|
|
30
|
+
expect(instance.pre_processed_body_source_content).to eq(target_file.read)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
= EacAsciidoctorBase0 Generated Source =
|
|
2
|
+
The Author <theauthor@example.net>
|
|
3
|
+
:Author Initials: T.A.
|
|
4
|
+
:toc: left
|
|
5
|
+
:icons:
|
|
6
|
+
:numbered:
|
|
7
|
+
:website: https://www.example.net
|
|
8
|
+
|
|
9
|
+
== First Section
|
|
10
|
+
|
|
11
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sapien.
|
|
12
|
+
|
|
13
|
+
== Second Section
|
|
14
|
+
|
|
15
|
+
Nam faucibus quis dui at laoreet. Pellentesque ut sapien est.
|