Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial proposed outline. #3

Closed
wants to merge 13 commits into from
4 changes: 3 additions & 1 deletion .github/workflows/draft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ jobs:
popd

- name: Build (PDF)
run: b2 --debug-configuration -d+2 doc-stage=draft,final
run: |
b2 --debug-configuration -d+2 doc-stage=draft
b2 --debug-configuration -d+2 doc-stage=final

- name: Upload
uses: actions/upload-artifact@main
Expand Down
31 changes: 27 additions & 4 deletions build.jam
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import toolset ;
import feature ;

feature.feature doc-stage : draft final : propagated symmetric implicit ;
feature.feature doc-stage : draft final : propagated symmetric ;
feature.feature verbose : off on : propagated incidental ;
feature.feature license : off on : propagated symmetric ;

project /ecosystem
: build-dir .build/b2
Expand All @@ -12,21 +13,43 @@ local tex-src = [ glob src/eco_*.tex src/in_*.tex src/*.ist ] ;
local latexmkrc = [ glob src/*latexmkrc* ] ;
local _ = " " ;

rule latex-defs ( properties * )
{
local pretex ;
if <doc-stage>final in $(properties)
{
pretex += "\\\\def\\\\isofinal{yes}" ;
}
if <license>on in $(properties)
{
pretex += "\\\\def\\\\license{yes}" ;
}
return <flags>"-usepretex=\"$(pretex:J= )\"" ;
}

make ecosystem.pdf : src/ecosystem.tex
: @latexmk
: <dependency>$(tex-src)
<verbose>on:<flags>-verbose
<verbose>on:<flags>-diagnostics
<flags>-r$(_)"$(latexmkrc[1])"
"<doc-stage>final:<flags>-usepretex=\"\\\\def\\\\isofinal{yes}\""
<conditional>@latex-defs
;
explicit ecosystem.pdf ;

rule install-name ( properties * )
{
local name = ecosystem-is ;
if <doc-stage>draft in $(properties) { name += draft ; }
if <doc-stage>final in $(properties) { name += final ; }
if <license>on in $(properties) { name += ccby4 ; }
return <name>$(name:J=-).pdf ;
}

install ecosystem-is
: ecosystem.pdf
: <location>.
<doc-stage>draft:<name>ecosystem-is-draft.pdf
<doc-stage>final:<name>ecosystem-is-final.pdf
<conditional>@install-name
;

# Generic latexmk action.
Expand Down
2 changes: 2 additions & 0 deletions src/eco_cover_reg.tex
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,10 @@
%
\copyright\ ISO/IEC \relyear\\

\ifdefined\license
Except where otherwise noted, content is licensed under a Creative Commons
Attribution 4.0 International license (CC BY 4.0).\\
\fi

\begin{indented}
\microtypesetup{activate=false}%
Expand Down
9 changes: 9 additions & 0 deletions src/eco_diag.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
%!TEX root = ecosystem.tex

\rSec0[diag]{Diagnostics Output}

\rSec1[diag.pre]{Preamble}

\pnum
This clause describes options, output, and formats that define formatted
reporting of application diagnostics messages.
8 changes: 8 additions & 0 deletions src/eco_nameext.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
%!TEX root = ecosystem.tex

\rSec0[nameext]{File Name Extensions}

\rSec1[nameext.pre]{Preamble}

\pnum
This clause describes file name extensions and their meanings to applications.
9 changes: 9 additions & 0 deletions src/eco_pkgfmt.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
%!TEX root = ecosystem.tex

\rSec0[pkgfmt]{Package Format}

\rSec1[pkgfmt.pre]{Preamble}

\pnum
This clause describes options, output, and formats that define how to consume
and produce packaged \Cpp projects.
9 changes: 9 additions & 0 deletions src/eco_rsp.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
%!TEX root = ecosystem.tex

\rSec0[rsp]{Response File}

\rSec1[rsp.pre]{Preamble}

\pnum
This clause defines a structured response file format, and related options and
output, that allows for precise communication of compiling \Cpp.
Loading