litbuild 1.0.1 → 1.0.2
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
- checksums.yaml.gz.sig +3 -1
- data.tar.gz.sig +0 -0
- data/README +14 -11
- data/lib/litbuild/bash_script_visitor.rb +1 -0
- data/lib/litbuild/version.rb +1 -1
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cc983f70c85f96dd03544d804f4c5971a55d401799209fbbfccdab244de6c28
|
4
|
+
data.tar.gz: 0e0dd20d35dd4565daff7ced67a1cf5e17a0394739a313042350c61e52ee4250
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16a83a065cd551c5a0e5adb179305097a663bdf09c5c436245206232897a4f754c922faf42df656f81e2a083a5c9c8182689602644d6c69a8999bfc7d7791909
|
7
|
+
data.tar.gz: 2b5f178c9c2343bd5a05e9874ca8e4076a21ec3a0acd7964f85e3cab5419c37b8c4f9306b8aafe7b2658e9170097afd6a113fe4ea80eae6928b1b223e63c92c6
|
checksums.yaml.gz.sig
CHANGED
@@ -1 +1,3 @@
|
|
1
|
-
|
1
|
+
�n4��5�*�fa�
|
2
|
+
j�m�r�{ic�K�y���pXu[{�NU�q{O�ʒj ��I���H�X��&����:��L�Z�֢$���P7/�ij��$�ߴ���Ů �H0��R�F3�Ђ��CZkȋ��=��6X�V���er#�~"�5�����)�wU��m��J��?�Q�����4��Z6D
|
3
|
+
�[�.�rNҨ�m�e��^�"��@T�l����Gw&%ȷa��=�8�ve�Y7�d��z0Q�E����.�p���4�c����B����
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README
CHANGED
@@ -17,7 +17,7 @@ narrative.
|
|
17
17
|
|
18
18
|
Automated build tools -- such as make, maven, and jam -- are great,
|
19
19
|
because they allow developers on a project to focus their attention on
|
20
|
-
the project codebase _per
|
20
|
+
the project codebase _per se,_ and let the build system worry about how
|
21
21
|
to compile and test it. There are lots of build tools, reflecting a wide
|
22
22
|
variety of design goals and value systems. Regardless of which tool is
|
23
23
|
used, though, I have noticed that once a software project reaches a
|
@@ -51,14 +51,16 @@ program), or you can run it through a `weave` program that produces
|
|
51
51
|
document source (which you can send through a typesetting system like
|
52
52
|
TeX or Docbook).
|
53
53
|
|
54
|
-
Litbuild
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
54
|
+
Litbuild is essentially a processor for a domain-specific language. It
|
55
|
+
takes, as input, human-readable files -- referred to as "blueprints" --
|
56
|
+
that consist of narrative text written with AsciiDoc markup,
|
57
|
+
interspersed with command blocks and other directives, just like the
|
58
|
+
literate source in WEB and CWEB. Litbuild has a simpler interface,
|
59
|
+
though: when it is run, it always generates both a set of bash scripts
|
60
|
+
that will execute the actual build process and _also_ AsciiDoc-formatted
|
61
|
+
documentation files that can be run through a document production
|
62
|
+
toolchain to produce HTML or PDF or whatever other documentation format
|
63
|
+
you wish.
|
62
64
|
|
63
65
|
The vision of litbuild is that, from a set of blueprints, you should be
|
64
66
|
able to say:
|
@@ -90,7 +92,8 @@ Blueprints can refer to parameterized values. It is expected that
|
|
90
92
|
default values for all these parameters will be provided (by convention,
|
91
93
|
I generally put all the default values into a "configuration" narrative
|
92
94
|
blueprint). To override any parameter value from the default, set an
|
93
|
-
environment variable before running the `lb` driver
|
95
|
+
environment variable with its name before running the `lb` driver
|
96
|
+
program.
|
94
97
|
|
95
98
|
To use the lb driver to build a complete cross-toolchain as part of the
|
96
99
|
Cross-Building Linux process, for example, you might use something like:
|
@@ -107,7 +110,7 @@ for any situation where the various components of a build story need to
|
|
107
110
|
have an overall framing narrative or discussion to make them
|
108
111
|
comprehensible, or when all the parts of a build need to share a common
|
109
112
|
configuration or environment -- which is the case for most complicated
|
110
|
-
processes
|
113
|
+
processes.
|
111
114
|
|
112
115
|
Debugging Blueprints
|
113
116
|
====================
|
@@ -73,6 +73,7 @@ module Litbuild
|
|
73
73
|
section_dir = File.join(cwd, section.name)
|
74
74
|
write(blueprint: section, location: cwd) do |script|
|
75
75
|
render_restart_header(script, section.name)
|
76
|
+
FileUtils.mkdir_p(section_dir)
|
76
77
|
script.puts("cd $(dirname $0)/#{section.name}")
|
77
78
|
skip_line(script)
|
78
79
|
write_components(location: section_dir, script: script)
|
data/lib/litbuild/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: litbuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Neumeier
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
PvrrfEkjwo+u4dPBTaO5ZBa4qsFE5bK/1l6d4AVV5Yi5NohUwmpp1bFFCGPqvzVA
|
35
35
|
bhee2x0YS1uGTnADpv2GLkmNMIA=
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2019-09-
|
37
|
+
date: 2019-09-05 00:00:00.000000000 Z
|
38
38
|
dependencies: []
|
39
39
|
description: A build system based on Knuth's idea of literate programming.
|
40
40
|
email:
|
@@ -80,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
80
80
|
requirements:
|
81
81
|
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '2.
|
83
|
+
version: '2.6'
|
84
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - ">="
|
metadata.gz.sig
CHANGED
Binary file
|