eac_tools 0.40.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 +29 -29
- 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 +3 -2
- 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/instances/build/document.rb +84 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/{sources → instances}/build.rb +15 -16
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +4 -4
- 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/runners/build.rb +7 -5
- 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/instances/build_spec_files/doc1.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc2/doc2_1.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc2.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/index.html +1 -0
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/{index.adoc → 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 -0
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/{index.adoc → 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/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_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_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
- 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 +32 -28
- 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: 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.
|
|
15
|
-
avm-eac_webapp_base0 (~> 0.12, >= 0.12.
|
|
14
|
+
avm-eac_ruby_base1 (~> 0.27)
|
|
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
|
-
avm-eac_webapp_base0 (~> 0.12, >= 0.12.
|
|
39
|
-
eac_ruby_utils (~> 0.
|
|
38
|
+
avm-eac_webapp_base0 (~> 0.12, >= 0.12.2)
|
|
39
|
+
eac_ruby_utils (~> 0.107)
|
|
40
40
|
os (~> 1.1, >= 1.1.4)
|
|
41
41
|
rouge (~> 3.30)
|
|
42
42
|
|
|
@@ -108,15 +108,15 @@ 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
|
|
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)
|
|
@@ -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
|
|
@@ -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)
|
|
@@ -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
|
@@ -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.
|
|
17
|
-
s.add_dependency 'eac_ruby_utils', '~> 0.
|
|
16
|
+
s.add_dependency 'avm-eac_webapp_base0', '~> 0.12', '>= 0.12.2'
|
|
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
|
|
|
21
|
+
s.add_development_dependency 'eac_fs', '~> 0.14'
|
|
21
22
|
s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
|
|
22
23
|
end
|
|
@@ -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
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'asciidoctor'
|
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module EacAsciidoctorBase0
|
|
8
|
+
module Instances
|
|
9
|
+
class Build
|
|
10
|
+
class Document
|
|
11
|
+
require_sub __FILE__
|
|
12
|
+
|
|
13
|
+
ROOT_BODY_TARGET_BASENAME = 'index'
|
|
14
|
+
|
|
15
|
+
enable_simple_cache
|
|
16
|
+
enable_speaker
|
|
17
|
+
common_constructor :build, :parent_document, :basename
|
|
18
|
+
|
|
19
|
+
# Absolute path to the Asciidoctor file.
|
|
20
|
+
#
|
|
21
|
+
# @return [Pathname]
|
|
22
|
+
def body_source_path
|
|
23
|
+
root_source_path.join(
|
|
24
|
+
::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Absolute path to the output of Asciidoctor's source file.
|
|
29
|
+
#
|
|
30
|
+
# @return [Pathname]
|
|
31
|
+
def body_target_path
|
|
32
|
+
build.target_directory.join(
|
|
33
|
+
parent_document.present? ? subpath : ROOT_BODY_TARGET_BASENAME
|
|
34
|
+
).basename_sub('.*') { |b| "#{b}.html" }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def perform
|
|
38
|
+
perform_self
|
|
39
|
+
perform_children
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def perform_self
|
|
43
|
+
infov 'Building', root_source_path
|
|
44
|
+
::Asciidoctor.convert(
|
|
45
|
+
pre_processed_body_source_content,
|
|
46
|
+
to_file: body_target_path.to_path, safe: :unsafe, mkdirs: true
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def perform_children
|
|
51
|
+
children.each(&:perform)
|
|
52
|
+
end
|
|
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
|
+
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
|
data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/{sources → instances}/build.rb
RENAMED
|
@@ -5,27 +5,36 @@ 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
|
|
|
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::Instances::Build::Document.new(self, nil, nil)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# @return [Avm::EacAsciidoctorBase0::Sources::Base]
|
|
36
|
+
def source
|
|
37
|
+
instance.application.local_source
|
|
29
38
|
end
|
|
30
39
|
|
|
31
40
|
def target_directory
|
|
@@ -33,16 +42,6 @@ module Avm
|
|
|
33
42
|
options[OPTION_TARGET_DIRECTORY] || default_target_directory
|
|
34
43
|
)
|
|
35
44
|
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
45
|
end
|
|
47
46
|
end
|
|
48
47
|
end
|