metanorma-cli 1.3.5 → 1.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/metanorma/cli/command.rb +7 -1
- data/lib/metanorma/cli/setup.rb +9 -30
- data/lib/metanorma/cli/version.rb +1 -1
- data/metanorma-cli.gemspec +1 -1
- data/templates/base/.github/workflows/docker.yml +74 -0
- data/templates/base/.github/workflows/macos.yml +50 -0
- data/templates/base/.github/workflows/ubuntu.yml +55 -0
- data/templates/base/.github/workflows/windows.yml +42 -0
- data/templates/base/.gitlab-ci.yml +34 -4
- data/templates/base/Makefile +111 -59
- data/templates/base/Makefile.win +136 -36
- data/templates/base/metanorma.yml +1 -1
- metadata +8 -6
- data/templates/base/.travis.yml +0 -30
- data/templates/base/appveyor.yml +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 971ab5a31bcdca149e9d2db05468b0783b11069381f8e8d1f476370471938d92
|
4
|
+
data.tar.gz: 4434ee76f7ab6e0b52f3cbe42f4fb3691501db4e69b8f73286c62665ffdeb5c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9432b69906459719bde150fef7f66a6081db913d65ec3b8dc708f2e379207f4c4607a99a4388229e9bfb5d6ba7e81120503f88d8a771d11e350b331dabffe78
|
7
|
+
data.tar.gz: e9d339f903d42161861b2ad07d1953bc367560eaf81817aecec07388681dff060f2473fd7115f77313ae892ef011a1c3ff99de3eb73045a7230d421c497074a7
|
@@ -86,8 +86,14 @@ module Metanorma
|
|
86
86
|
font: font,
|
87
87
|
term_agreement: options[:agree_to_terms],
|
88
88
|
)
|
89
|
+
rescue Fontist::Errors::LicensingError
|
90
|
+
UI.error(
|
91
|
+
"[error]: License acceptance required to install a necessary font." \
|
92
|
+
"Accept required licenses with: `metanorma setup --agree-to-terms`."
|
93
|
+
)
|
94
|
+
return
|
89
95
|
rescue Fontist::Errors::NonSupportedFontError
|
90
|
-
UI.say("[info]:
|
96
|
+
UI.say("[info]: The font `#{font}` is not yet supported.")
|
91
97
|
end
|
92
98
|
end
|
93
99
|
end
|
data/lib/metanorma/cli/setup.rb
CHANGED
@@ -43,7 +43,7 @@ module Metanorma
|
|
43
43
|
begin
|
44
44
|
Fontist::Font.find(font_name)
|
45
45
|
rescue Fontist::Errors::MissingFontError
|
46
|
-
|
46
|
+
process_font_installation(font_name)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -54,39 +54,18 @@ module Metanorma
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
def
|
58
|
-
|
59
|
-
formula = Fontist::Formula.find(font_name)
|
57
|
+
def process_font_installation(font_name)
|
58
|
+
accepted_agreement = term_agreement == true ? "yes" : "no"
|
60
59
|
|
61
|
-
if !term_agreement
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
if response.downcase === "yes"
|
66
|
-
Fontist::Font.install(font_name, confirmation: response)
|
67
|
-
end
|
60
|
+
UI.say(missing_font_message) if !term_agreement
|
61
|
+
Fontist::Font.install(font_name, confirmation: accepted_agreement)
|
68
62
|
end
|
69
63
|
|
70
|
-
def
|
64
|
+
def missing_font_message
|
71
65
|
<<~MSG
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
for PDF generation. Without those fonts, the generated PDF will use
|
76
|
-
generic fonts that may not resemble the desired styling.
|
77
|
-
|
78
|
-
Metanorma can download these files for you if you accept the font
|
79
|
-
licensing conditions for the font "#{font_name}".
|
80
|
-
|
81
|
-
FONT LICENSE BEGIN ("#{font_name}")
|
82
|
-
-----------------------------------------------------------------------
|
83
|
-
#{license}
|
84
|
-
-----------------------------------------------------------------------
|
85
|
-
FONT LICENSE END ("#{font_name}")
|
86
|
-
|
87
|
-
Do you accept all presented font licenses, and want Metanorma to
|
88
|
-
download these fonts for you?
|
89
|
-
=> TYPE "Yes" or "No":
|
66
|
+
Your system does not have the necessary fonts installed for
|
67
|
+
PDF generation. Without these fonts, the generated PDF will use
|
68
|
+
generic fonts that may not resemble the desired styling.\n
|
90
69
|
MSG
|
91
70
|
end
|
92
71
|
end
|
data/metanorma-cli.gemspec
CHANGED
@@ -59,5 +59,5 @@ Gem::Specification.new do |spec|
|
|
59
59
|
#spec.add_runtime_dependency 'nokogiri', ">= 1"
|
60
60
|
spec.add_runtime_dependency "git", "~> 1.5"
|
61
61
|
spec.add_runtime_dependency "relaton-cli", ">= 0.8.2"
|
62
|
-
spec.add_runtime_dependency "fontist", "~> 1.
|
62
|
+
spec.add_runtime_dependency "fontist", "~> 1.3.0"
|
63
63
|
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
name: docker
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master ]
|
8
|
+
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- .github/workflows/test.yml
|
11
|
+
- .github/workflows/macos.yml
|
12
|
+
- .github/workflows/ubuntu.yml
|
13
|
+
- .github/workflows/windows.yml
|
14
|
+
- Makefile.win
|
15
|
+
repository_dispatch:
|
16
|
+
types: [ metanorma/metanorma-docker ]
|
17
|
+
|
18
|
+
jobs:
|
19
|
+
test-docker:
|
20
|
+
runs-on: ubuntu-latest
|
21
|
+
container: docker://metanorma/mn
|
22
|
+
steps:
|
23
|
+
- name: Checkout code
|
24
|
+
uses: actions/checkout@v2
|
25
|
+
with:
|
26
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
|
27
|
+
submodules: true
|
28
|
+
- name: Setup fonts
|
29
|
+
run: |
|
30
|
+
metanorma setup --agree-to-terms
|
31
|
+
- uses: actions/setup-go@v2-beta
|
32
|
+
with:
|
33
|
+
go-version: '^1.13.1'
|
34
|
+
- name: Install yq
|
35
|
+
run: |
|
36
|
+
GO111MODULE=on go get github.com/mikefarah/yq/v3
|
37
|
+
ln -s $GOPATH/bin/yq /usr/local/bin/yq
|
38
|
+
- name: Instal gems from local Gemfile
|
39
|
+
run: |
|
40
|
+
curl -L --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/gemfile-to-bundle-add.sh | bash
|
41
|
+
- name: Build document in the Metanorma container
|
42
|
+
env:
|
43
|
+
LC_ALL: C.UTF-8
|
44
|
+
LANG: C.UTF-8
|
45
|
+
LANGUAGE: C.UTF-8
|
46
|
+
run: |
|
47
|
+
make clean all publish
|
48
|
+
- uses: actions/upload-artifact@master
|
49
|
+
with:
|
50
|
+
name: published
|
51
|
+
path: published
|
52
|
+
|
53
|
+
deploy-gh-pages:
|
54
|
+
if: github.ref == 'refs/heads/master'
|
55
|
+
runs-on: ubuntu-latest
|
56
|
+
needs: test-docker
|
57
|
+
steps:
|
58
|
+
- uses: actions/checkout@master
|
59
|
+
- uses: actions/download-artifact@v1
|
60
|
+
with:
|
61
|
+
name: published
|
62
|
+
- name: Deploy to GH Pages
|
63
|
+
uses: peaceiris/actions-gh-pages@v3
|
64
|
+
with:
|
65
|
+
deploy_key: ${{ secrets.GH_DEPLOY_KEY }}
|
66
|
+
publish_dir: ./published
|
67
|
+
force_orphan: true
|
68
|
+
user_name: ${{ github.actor }}
|
69
|
+
user_email: ${{ format('{0}@users.noreply.github.com', github.actor) }}
|
70
|
+
commit_message: "${{ format('Deploy to GitHub Pages: {0}', github.sha) }}"
|
71
|
+
- uses: kolpav/purge-artifacts-action@v1
|
72
|
+
with:
|
73
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
74
|
+
expire-in: 0
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
name: macos
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master ]
|
8
|
+
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- .github/workflows/test.yml
|
11
|
+
- .github/workflows/docker.yml
|
12
|
+
- .github/workflows/ubuntu.yml
|
13
|
+
- .github/workflows/windows.yml
|
14
|
+
- Makefile.win
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test-macos:
|
18
|
+
name: Test on macOS
|
19
|
+
runs-on: macos-latest
|
20
|
+
steps:
|
21
|
+
- name: Checkout code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
with:
|
24
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
|
25
|
+
submodules: true
|
26
|
+
- name: Cache xml2rfc
|
27
|
+
id: cache-xml2rfc
|
28
|
+
uses: actions/cache@v1
|
29
|
+
with:
|
30
|
+
path: ~/.cache/xml2rfc
|
31
|
+
key: xml2rfc
|
32
|
+
restore-key: xml2rfc
|
33
|
+
- name: Use Metanorma
|
34
|
+
run: |
|
35
|
+
brew update
|
36
|
+
brew install yq
|
37
|
+
brew install https://raw.githubusercontent.com/metanorma/homebrew-metanorma/master/Formula/metanorma.rb
|
38
|
+
metanorma version
|
39
|
+
- name: Setup Fonts
|
40
|
+
run: |
|
41
|
+
metanorma setup --agree-to-terms
|
42
|
+
- name: Install bundler
|
43
|
+
run: |
|
44
|
+
sudo gem install bundler
|
45
|
+
- name: Metanorma compile
|
46
|
+
env:
|
47
|
+
JAVA_OPTS: "java.awt.headless=true"
|
48
|
+
run: |
|
49
|
+
source $(brew --prefix metanorma)/libexec/venv/bin/activate
|
50
|
+
make clean all
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
name: ubuntu
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master ]
|
8
|
+
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- .github/workflows/test.yml
|
11
|
+
- .github/workflows/macos.yml
|
12
|
+
- .github/workflows/docker.yml
|
13
|
+
- .github/workflows/windows.yml
|
14
|
+
- Makefile.win
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test-linux:
|
18
|
+
name: Test on Ubuntu
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
steps:
|
21
|
+
- name: Checkout code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
with:
|
24
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
|
25
|
+
submodules: true
|
26
|
+
- name: Cache xml2rfc
|
27
|
+
id: cache-xml2rfc
|
28
|
+
uses: actions/cache@v1
|
29
|
+
with:
|
30
|
+
path: ~/.cache/xml2rfc
|
31
|
+
key: xml2rfc
|
32
|
+
restore-key: xml2rfc
|
33
|
+
- name: Use Metanorma
|
34
|
+
run: |
|
35
|
+
sudo apt-get update
|
36
|
+
curl -L https://raw.githubusercontent.com/metanorma/metanorma-linux-setup/master/ubuntu.sh | sudo bash
|
37
|
+
sudo chown -R $USER:$(id -gn $USER) $HOME/.config
|
38
|
+
- name: Setup Fonts
|
39
|
+
run: |
|
40
|
+
sudo gem install rake metanorma-cli
|
41
|
+
sudo metanorma setup --agree-to-terms
|
42
|
+
- name: Install yq
|
43
|
+
run: |
|
44
|
+
sudo snap install yq
|
45
|
+
echo "::add-path::/snap/bin"
|
46
|
+
- name: Install bundler
|
47
|
+
run: |
|
48
|
+
sudo gem install bundler
|
49
|
+
- name: Metanorma compile
|
50
|
+
env:
|
51
|
+
JAVA_OPTS: "java.awt.headless=true"
|
52
|
+
run: |
|
53
|
+
source $HOME/.nvm/nvm.sh
|
54
|
+
nvm use mn-node
|
55
|
+
make clean all publish
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
name: windows
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master ]
|
8
|
+
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- .github/workflows/test.yml
|
11
|
+
- .github/workflows/macos.yml
|
12
|
+
- .github/workflows/ubuntu.yml
|
13
|
+
- .github/workflows/docker.yml
|
14
|
+
- Makefile
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test-windows:
|
18
|
+
name: Test on Windows
|
19
|
+
runs-on: windows-latest
|
20
|
+
steps:
|
21
|
+
- name: Checkout code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
with:
|
24
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
|
25
|
+
submodules: true
|
26
|
+
- name: Cache xml2rfc
|
27
|
+
id: cache-xml2rfc
|
28
|
+
uses: actions/cache@v1
|
29
|
+
with:
|
30
|
+
path: ~/.cache/xml2rfc
|
31
|
+
key: xml2rfc
|
32
|
+
restore-key: xml2rfc
|
33
|
+
- name: Install Metanorma & yq
|
34
|
+
shell: pwsh
|
35
|
+
run: |
|
36
|
+
cinst --no-progress -y metanorma yq
|
37
|
+
- name: Install bundler
|
38
|
+
run: |
|
39
|
+
gem install bundler
|
40
|
+
- name: Metanorma compile
|
41
|
+
run: |
|
42
|
+
make -f Makefile.win clean all SHELL=cmd
|
@@ -1,15 +1,45 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
1
3
|
image:
|
2
|
-
name:
|
4
|
+
name: metanorma/mn
|
3
5
|
entrypoint: [""]
|
4
6
|
|
5
7
|
cache:
|
6
8
|
paths:
|
7
9
|
|
10
|
+
stages:
|
11
|
+
- build
|
12
|
+
- deploy
|
13
|
+
|
14
|
+
|
8
15
|
build:
|
9
16
|
stage: build
|
10
17
|
script:
|
11
|
-
|
12
|
-
-
|
18
|
+
# We need to do this to install mscorefonts
|
19
|
+
- curl -Ls -o yq https://github.com/mikefarah/yq/releases/download/3.3.0/yq_linux_amd64
|
20
|
+
- chmod +x yq && mv yq /usr/bin
|
21
|
+
- yq
|
22
|
+
- apt-add-repository -y contrib && apt-get update
|
23
|
+
- echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections
|
24
|
+
- apt-get install -y ttf-mscorefonts-installer
|
25
|
+
- curl -Ls https://raw.githubusercontent.com/metanorma/vista-fonts-installer/master/vista-fonts-installer.sh | bash
|
26
|
+
- curl -L --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/gemfile-to-bundle-add.sh | bash
|
27
|
+
- bundle install
|
28
|
+
- make clean all
|
29
|
+
- make published
|
30
|
+
- mv published public
|
31
|
+
artifacts:
|
32
|
+
paths:
|
33
|
+
- public
|
34
|
+
|
35
|
+
pages:
|
36
|
+
dependencies:
|
37
|
+
- build
|
38
|
+
stage: deploy
|
39
|
+
script:
|
40
|
+
- 'curl --location --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.com/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/master/download?job=build"'
|
13
41
|
artifacts:
|
14
42
|
paths:
|
15
|
-
-
|
43
|
+
- public
|
44
|
+
only:
|
45
|
+
- master
|
data/templates/base/Makefile
CHANGED
@@ -1,65 +1,104 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
1
3
|
#!make
|
2
4
|
SHELL := /bin/bash
|
3
5
|
# Ensure the xml2rfc cache directory exists locally
|
4
6
|
IGNORE := $(shell mkdir -p $(HOME)/.cache/xml2rfc)
|
5
7
|
|
6
|
-
SRC := $(shell yq r metanorma.yml metanorma.source.files | cut -c 3-
|
8
|
+
SRC := $(shell yq r metanorma.yml metanorma.source.files | cut -c 3-)
|
9
|
+
|
10
|
+
ifeq ($(SRC),null)
|
11
|
+
SRC :=
|
12
|
+
endif
|
7
13
|
ifeq ($(SRC),ll)
|
8
|
-
SRC :=
|
14
|
+
SRC :=
|
15
|
+
endif
|
16
|
+
|
17
|
+
ifeq ($(SRC),)
|
18
|
+
BUILT := $(shell yq r metanorma.yml metanorma.source.built_targets | cut -d ':' -f 1 | tr -s '\n' ' ')
|
19
|
+
|
20
|
+
ifeq ($(BUILT),null)
|
21
|
+
SRC :=
|
22
|
+
endif
|
23
|
+
ifeq ($(BUILT),ll)
|
24
|
+
SRC :=
|
25
|
+
endif
|
26
|
+
|
27
|
+
ifeq ($(BUILT),)
|
28
|
+
SRC := $(filter-out README.adoc, $(wildcard sources/*.adoc))
|
29
|
+
else
|
30
|
+
XML := $(patsubst sources/%,documents/%,$(BUILT))
|
31
|
+
endif
|
9
32
|
endif
|
10
33
|
|
34
|
+
FORMATS := $(shell yq r metanorma.yml metanorma.formats | tr -d '[:space:]' | tr -s '-' ' ')
|
35
|
+
ifeq ($(FORMATS),)
|
11
36
|
FORMAT_MARKER := mn-output-
|
12
|
-
FORMATS := $(shell grep "$(FORMAT_MARKER)" $(SRC) | cut -f 2 -d
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
HTML := $(patsubst %.
|
17
|
-
DOC := $(patsubst %.adoc,%.doc,$(SRC))
|
18
|
-
PDF := $(patsubst %.adoc,%.pdf,$(SRC))
|
19
|
-
TXT := $(patsubst %.adoc,%.txt,$(SRC))
|
20
|
-
NITS := $(patsubst %.adoc,%.nits,$(wildcard draft-*.adoc))
|
21
|
-
WSD := $(wildcard models/*.wsd)
|
22
|
-
XMI := $(patsubst models/%,xmi/%,$(patsubst %.wsd,%.xmi,$(WSD)))
|
23
|
-
PNG := $(patsubst models/%,images/%,$(patsubst %.wsd,%.png,$(WSD)))
|
24
|
-
|
25
|
-
COMPILE_CMD_LOCAL := bundle exec metanorma $$FILENAME
|
26
|
-
COMPILE_CMD_DOCKER := docker run -v "$$(pwd)":/metanorma/ ribose/metanorma "metanorma $$FILENAME"
|
37
|
+
FORMATS := $(shell grep "$(FORMAT_MARKER)" $(SRC) | cut -f 2 -d " " | tr "," "\\n" | sort | uniq | tr "\\n" " ")
|
38
|
+
endif
|
39
|
+
|
40
|
+
XML ?= $(patsubst sources/%,documents/%,$(patsubst %.adoc,%.xml,$(SRC)))
|
41
|
+
HTML := $(patsubst %.xml,%.html,$(XML))
|
27
42
|
|
28
43
|
ifdef METANORMA_DOCKER
|
29
|
-
|
44
|
+
PREFIX_CMD := echo "Running via docker..."; docker run -v "$$(pwd)":/metanorma/ $(METANORMA_DOCKER)
|
30
45
|
else
|
31
|
-
|
46
|
+
ifdef SKIP_BUNDLE
|
47
|
+
PREFIX_CMD := echo "Running locally...";
|
48
|
+
else
|
49
|
+
PREFIX_CMD := echo "Running locally via bundle ..."; bundle exec
|
50
|
+
endif
|
32
51
|
endif
|
33
52
|
|
34
53
|
_OUT_FILES := $(foreach FORMAT,$(FORMATS),$(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
|
35
54
|
OUT_FILES := $(foreach F,$(_OUT_FILES),$($F))
|
36
55
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
draft-%.nits: draft-%.txt
|
44
|
-
VERSIONED_NAME=`grep :name: draft-$*.adoc | cut -f 2 -d ' '`; \
|
45
|
-
cp $^ $${VERSIONED_NAME}.txt && \
|
46
|
-
idnits --verbose $${VERSIONED_NAME}.txt > $@ && \
|
47
|
-
cp $@ $${VERSIONED_NAME}.nits && \
|
48
|
-
cat $${VERSIONED_NAME}.nits
|
49
|
-
|
50
|
-
%.nits:
|
51
|
-
|
52
|
-
nits: $(NITS)
|
53
|
-
|
54
|
-
images: $(PNG)
|
55
|
-
|
56
|
-
images/%.png: models/%.wsd
|
57
|
-
plantuml -tpng -o ../images/ $<
|
58
|
-
|
59
|
-
xmi: $(XMI)
|
56
|
+
define print_vars
|
57
|
+
$(info "src $(SRC)")
|
58
|
+
$(info "xml $(XML)")
|
59
|
+
$(info "formats $(FORMATS)")
|
60
|
+
endef
|
60
61
|
|
61
|
-
|
62
|
-
|
62
|
+
all: documents.html
|
63
|
+
$(call print_vars)
|
64
|
+
|
65
|
+
documents:
|
66
|
+
mkdir -p $@
|
67
|
+
|
68
|
+
documents/%.html: documents/%.xml | documents
|
69
|
+
${PREFIX_CMD} metanorma $<
|
70
|
+
|
71
|
+
documents/%.xml: sources/%.xml | documents
|
72
|
+
mkdir -p $(dir $@)
|
73
|
+
mv $< $@
|
74
|
+
|
75
|
+
# Build canonical XML output
|
76
|
+
# If XML file is provided, copy it over
|
77
|
+
# Otherwise, build the xml using adoc
|
78
|
+
sources/%.xml: | bundle
|
79
|
+
BUILT_TARGET="$(shell yq r metanorma.yml metanorma.source.built_targets[$@])"; \
|
80
|
+
if [ "$$BUILT_TARGET" = "" ] || [ "$$BUILT_TARGET" = "null" ]; then \
|
81
|
+
BUILT_TARGET=$@; \
|
82
|
+
$(PREFIX_CMD) metanorma -x xml "$${BUILT_TARGET//xml/adoc}"; \
|
83
|
+
else \
|
84
|
+
if [ -f "$$BUILT_TARGET" ] && [ "$${BUILT_TARGET##*.}" == "xml" ]; then \
|
85
|
+
cp "$$BUILT_TARGET" $@; \
|
86
|
+
else \
|
87
|
+
$(PREFIX_CMD) metanorma -x xml $$BUILT_TARGET; \
|
88
|
+
cp "$${BUILT_TARGET//adoc/xml}" $@; \
|
89
|
+
fi \
|
90
|
+
fi
|
91
|
+
|
92
|
+
documents.rxl: $(XML) $(HTML)
|
93
|
+
${PREFIX_CMD} relaton concatenate \
|
94
|
+
-t "$(shell yq r metanorma.yml relaton.collection.name)" \
|
95
|
+
-g "$(shell yq r metanorma.yml relaton.collection.organization)" \
|
96
|
+
documents $@
|
97
|
+
|
98
|
+
documents.html: documents.rxl
|
99
|
+
$(PREFIX_CMD) relaton xml2html documents.rxl
|
100
|
+
|
101
|
+
%.adoc:
|
63
102
|
|
64
103
|
define FORMAT_TASKS
|
65
104
|
OUT_FILES-$(FORMAT) := $($(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
|
@@ -81,10 +120,15 @@ $(foreach FORMAT,$(FORMATS),$(eval $(FORMAT_TASKS)))
|
|
81
120
|
open: open-html
|
82
121
|
|
83
122
|
clean:
|
84
|
-
rm -
|
123
|
+
rm -rf documents documents.{html,rxl} published *_images $(OUT_FILES)
|
85
124
|
|
86
125
|
bundle:
|
87
|
-
|
126
|
+
ifndef METANORMA_DOCKER
|
127
|
+
ifndef SKIP_BUNDLE
|
128
|
+
bundle install --jobs 4 --retry 3
|
129
|
+
endif
|
130
|
+
endif
|
131
|
+
$(call print_vars)
|
88
132
|
|
89
133
|
.PHONY: bundle all open clean
|
90
134
|
|
@@ -102,20 +146,20 @@ $(NODE_PACKAGE_PATHS): package.json
|
|
102
146
|
npm i
|
103
147
|
|
104
148
|
watch: $(NODE_BIN_DIR)/onchange
|
105
|
-
|
106
|
-
$< $(ALL_SRC) --
|
149
|
+
make all
|
150
|
+
$< $(ALL_SRC) -- make all
|
107
151
|
|
108
152
|
define WATCH_TASKS
|
109
153
|
watch-$(FORMAT): $(NODE_BIN_DIR)/onchange
|
110
|
-
|
111
|
-
$$< $$(SRC_$(FORMAT)) --
|
154
|
+
make $(FORMAT)
|
155
|
+
$$< $$(SRC_$(FORMAT)) -- make $(FORMAT)
|
112
156
|
|
113
157
|
.PHONY: watch-$(FORMAT)
|
114
158
|
endef
|
115
159
|
|
116
160
|
$(foreach FORMAT,$(FORMATS),$(eval $(WATCH_TASKS)))
|
117
161
|
|
118
|
-
serve: $(NODE_BIN_DIR)/live-server revealjs-css reveal.js
|
162
|
+
serve: $(NODE_BIN_DIR)/live-server revealjs-css reveal.js
|
119
163
|
export PORT=$${PORT:-8123} ; \
|
120
164
|
port=$${PORT} ; \
|
121
165
|
for html in $(HTML); do \
|
@@ -130,15 +174,23 @@ watch-serve: $(NODE_BIN_DIR)/run-p
|
|
130
174
|
# Deploy jobs
|
131
175
|
#
|
132
176
|
|
133
|
-
publish:
|
134
|
-
$(MAKE) published
|
177
|
+
publish: published
|
135
178
|
|
136
|
-
published:
|
179
|
+
published: documents.html
|
137
180
|
mkdir -p $@ && \
|
138
|
-
|
139
|
-
cp
|
140
|
-
|
141
|
-
|
181
|
+
cp -a documents $@/ && \
|
182
|
+
cp $< $@/index.html;
|
183
|
+
|
184
|
+
#
|
185
|
+
# PDF
|
186
|
+
#
|
187
|
+
|
188
|
+
PDFTEXT := $(patsubst %.pdf,%.txt,$(subst /pdfs,/text,$(wildcard reference-docs/pdfs/*.pdf)))
|
189
|
+
|
190
|
+
pdf2text: $(PDFTEXT)
|
142
191
|
|
143
|
-
|
192
|
+
reference-docs/text:
|
193
|
+
mkdir -p $@
|
144
194
|
|
195
|
+
reference-docs/text/%.txt: reference-docs/pdfs/%.pdf | reference-docs/text
|
196
|
+
ps2ascii "$<" "$@"
|
data/templates/base/Makefile.win
CHANGED
@@ -1,53 +1,126 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
1
3
|
#!make
|
4
|
+
SHELL := cmd
|
5
|
+
# Ensure the xml2rfc cache directory exists locally
|
6
|
+
IGNORE := $(shell md $(USERPROFILE)\.cache\xml2rfc)
|
2
7
|
|
3
|
-
|
4
|
-
|
8
|
+
SRC := $(shell yq r metanorma.yml metanorma.source.files | cut -c 3-)
|
9
|
+
|
10
|
+
ifeq ($(SRC),null)
|
11
|
+
SRC :=
|
12
|
+
endif
|
13
|
+
ifeq ($(SRC),ll)
|
14
|
+
SRC :=
|
15
|
+
endif
|
16
|
+
|
17
|
+
ifeq ($(SRC),)
|
18
|
+
BUILT := $(subst ${ },${\n},$(shell yq r metanorma.yml metanorma.source.built_targets | cut -d ":" -f 1))
|
19
|
+
|
20
|
+
ifeq ($(BUILT),null)
|
21
|
+
BUILT :=
|
22
|
+
SRC :=
|
23
|
+
endif
|
24
|
+
ifeq ($(BUILT),ll)
|
25
|
+
BUILT :=
|
26
|
+
SRC :=
|
27
|
+
endif
|
28
|
+
ifeq ($(BUILT),)
|
29
|
+
SRC :=
|
30
|
+
endif
|
31
|
+
|
32
|
+
ifeq ($(BUILT),)
|
33
|
+
SRC := $(filter-out README.adoc, $(wildcard sources/*.adoc))
|
34
|
+
else
|
35
|
+
XML := $(patsubst sources/%,documents/%,$(BUILT))
|
36
|
+
endif
|
37
|
+
endif
|
5
38
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
39
|
+
FORMATS := $(subst -,${ },$(strip $(shell yq r metanorma.yml metanorma.formats)))
|
40
|
+
ifeq ($(FORMATS),null)
|
41
|
+
FORMATS :=
|
42
|
+
endif
|
43
|
+
ifeq ($(FORMATS),)
|
44
|
+
FORMAT_MARKER := mn-output-
|
45
|
+
FORMATS := $(subst ${\n},${ },$(shell grep "$(FORMAT_MARKER)" $(SRC) | cut -f 2 -d " " | tr "," "\n" | sort | uniq))
|
46
|
+
endif
|
14
47
|
|
15
|
-
|
16
|
-
|
17
|
-
COMPILE_CMD_DOCKER := docker run --rm -it -v $(CURDIR):/metanorma/ ribose/metanorma "metanorma $(SRC)"
|
48
|
+
XML ?= $(patsubst sources/%,documents/%,$(patsubst %.adoc,%.xml,$(SRC)))
|
49
|
+
HTML := $(patsubst %.xml,%.html,$(XML))
|
18
50
|
|
19
51
|
ifdef METANORMA_DOCKER
|
20
|
-
|
52
|
+
PREFIX_CMD := echo "Running via docker..." & docker run -v "$$(pwd)":/metanorma/ $(METANORMA_DOCKER)
|
21
53
|
else
|
22
|
-
|
54
|
+
ifdef SKIP_BUNDLE
|
55
|
+
PREFIX_CMD := echo "Running locally..." &
|
56
|
+
else
|
57
|
+
PREFIX_CMD := echo "Running locally via bundle ..." & bundle exec
|
58
|
+
endif
|
23
59
|
endif
|
24
60
|
|
25
61
|
_OUT_FILES := $(foreach FORMAT,$(FORMATS),$(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
|
26
62
|
OUT_FILES := $(foreach F,$(_OUT_FILES),$($F))
|
27
63
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
$
|
64
|
+
define print_vars
|
65
|
+
$(info "src $(SRC)")
|
66
|
+
$(info "xml $(XML)")
|
67
|
+
$(info "formats $(FORMATS)")
|
68
|
+
endef
|
32
69
|
|
33
|
-
|
70
|
+
all: documents.html
|
71
|
+
$(call print_vars)
|
72
|
+
|
73
|
+
documents:
|
74
|
+
setlocal enableextensions & md $@ & endlocal
|
75
|
+
|
76
|
+
documents/%.html: documents/%.xml | documents
|
77
|
+
${PREFIX_CMD} metanorma $<
|
78
|
+
|
79
|
+
documents/%.xml: sources/%.xml | documents
|
80
|
+
if not exist "$(subst /,\,$(dir $@))" md "$(subst /,\,$(dir $@))"
|
81
|
+
move "$(subst /,\,$<)" "$(subst /,\,$@)"
|
82
|
+
|
83
|
+
# Build canonical XML output
|
84
|
+
# If XML file is provided, copy it over
|
85
|
+
# Otherwise, build the xml using adoc
|
86
|
+
sources/%.xml: | bundle
|
87
|
+
$(eval BUILT_TARGET := $(subst /,\,$(shell yq r metanorma.yml metanorma.source.built_targets[$@])))
|
88
|
+
$(eval BUILT_TARGET_EMPTY := $(if $(filter $(or $(BUILT_TARGET),null),null ll),true,false))
|
89
|
+
if "$(BUILT_TARGET_EMPTY)" == "true" ( \
|
90
|
+
$(PREFIX_CMD) metanorma -x xml "$(subst xml,adoc,$@)" \
|
91
|
+
) else ( \
|
92
|
+
if exist "$(BUILT_TARGET)" ( \
|
93
|
+
if "$(suffix $(BUILT_TARGET))" == ".xml" ( \
|
94
|
+
copy "$(BUILT_TARGET)" "$(subst /,\,$@)" \
|
95
|
+
) else ( \
|
96
|
+
$(PREFIX_CMD) metanorma $(BUILT_TARGET) & \
|
97
|
+
copy "$(subst adoc,xml,$(BUILT_TARGET))" "$(subst /,\,$@)" \
|
98
|
+
) \
|
99
|
+
) else ( \
|
100
|
+
$(PREFIX_CMD) metanorma $(BUILT_TARGET) & \
|
101
|
+
copy "$(subst adoc,xml,$(BUILT_TARGET))" "$(subst /,\,$@)" \
|
102
|
+
) \
|
103
|
+
)
|
34
104
|
|
35
|
-
|
36
|
-
|
105
|
+
documents.rxl: $(XML) $(HTML)
|
106
|
+
${PREFIX_CMD} relaton concatenate \
|
107
|
+
-t "$(shell yq r metanorma.yml relaton.collection.name)" \
|
108
|
+
-g "$(shell yq r metanorma.yml relaton.collection.organization)" \
|
109
|
+
documents $@
|
37
110
|
|
38
|
-
|
111
|
+
documents.html: documents.rxl
|
112
|
+
$(PREFIX_CMD) relaton xml2html documents.rxl
|
39
113
|
|
40
|
-
|
41
|
-
plantuml -xmi:star -o ../xmi/ $<
|
114
|
+
%.adoc:
|
42
115
|
|
43
116
|
define FORMAT_TASKS
|
44
117
|
OUT_FILES-$(FORMAT) := $($(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
|
45
118
|
|
46
119
|
open-$(FORMAT):
|
47
|
-
$$(OUT_FILES-$(FORMAT))
|
120
|
+
"$$(OUT_FILES-$(FORMAT))"
|
48
121
|
|
49
122
|
clean-$(FORMAT):
|
50
|
-
|
123
|
+
del /q $$(OUT_FILES-$(FORMAT))
|
51
124
|
|
52
125
|
$(FORMAT): clean-$(FORMAT) $$(OUT_FILES-$(FORMAT))
|
53
126
|
|
@@ -61,9 +134,17 @@ open: open-html
|
|
61
134
|
|
62
135
|
clean:
|
63
136
|
rm -rf $(OUT_FILES)
|
137
|
+
del /q documents published
|
138
|
+
del /q *_images
|
139
|
+
del /q documents.*
|
64
140
|
|
65
141
|
bundle:
|
66
|
-
|
142
|
+
ifndef METANORMA_DOCKER
|
143
|
+
ifndef SKIP_BUNDLE
|
144
|
+
bundle install --jobs 4 --retry 3
|
145
|
+
endif
|
146
|
+
endif
|
147
|
+
$(call print_vars)
|
67
148
|
|
68
149
|
.PHONY: bundle all open clean
|
69
150
|
|
@@ -94,9 +175,12 @@ endef
|
|
94
175
|
|
95
176
|
$(foreach FORMAT,$(FORMATS),$(eval $(WATCH_TASKS)))
|
96
177
|
|
97
|
-
|
98
|
-
|
99
|
-
|
178
|
+
ifndef PORT
|
179
|
+
override PORT = 8123
|
180
|
+
endif
|
181
|
+
|
182
|
+
serve: $(NODE_BIN_DIR)/live-server revealjs-css reveal.js
|
183
|
+
set port=$(PORT) & \
|
100
184
|
for /r %%html in $(HTML) do ( \
|
101
185
|
$< --entry-file=%%html --port=%port% --ignore="*.html,*.xml,Makefile,Gemfile.*,package.*.json" --wait=1000 & \
|
102
186
|
set /A port=%port%+1 \
|
@@ -109,8 +193,24 @@ watch-serve: $(NODE_BIN_DIR)/run-p
|
|
109
193
|
# Deploy jobs
|
110
194
|
#
|
111
195
|
|
112
|
-
publish:
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
196
|
+
publish: published
|
197
|
+
|
198
|
+
published: documents.html
|
199
|
+
setlocal enableextensions & md $@ & endlocal
|
200
|
+
copy documents $@/
|
201
|
+
copy $< $@/index.html
|
202
|
+
if exist "source\images" xcopy /E source\images $@
|
203
|
+
|
204
|
+
#
|
205
|
+
# PDF
|
206
|
+
#
|
207
|
+
|
208
|
+
PDFTEXT := $(patsubst %.pdf,%.txt,$(subst /pdfs,/text,$(wildcard reference-docs/pdfs/*.pdf)))
|
209
|
+
|
210
|
+
pdf2text: $(PDFTEXT)
|
211
|
+
|
212
|
+
reference-docs/text:
|
213
|
+
md $@
|
214
|
+
|
215
|
+
reference-docs/text/%.txt: reference-docs/pdfs/%.pdf | reference-docs/text
|
216
|
+
ps2ascii "$<" "$@"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -380,14 +380,14 @@ dependencies:
|
|
380
380
|
requirements:
|
381
381
|
- - "~>"
|
382
382
|
- !ruby/object:Gem::Version
|
383
|
-
version:
|
383
|
+
version: 1.3.0
|
384
384
|
type: :runtime
|
385
385
|
prerelease: false
|
386
386
|
version_requirements: !ruby/object:Gem::Requirement
|
387
387
|
requirements:
|
388
388
|
- - "~>"
|
389
389
|
- !ruby/object:Gem::Version
|
390
|
-
version:
|
390
|
+
version: 1.3.0
|
391
391
|
description: Executable to process any Metanorma standard.
|
392
392
|
email:
|
393
393
|
- open.source@ribose.com
|
@@ -434,13 +434,15 @@ files:
|
|
434
434
|
- lib/metanorma/cli/ui.rb
|
435
435
|
- lib/metanorma/cli/version.rb
|
436
436
|
- metanorma-cli.gemspec
|
437
|
+
- templates/base/.github/workflows/docker.yml
|
438
|
+
- templates/base/.github/workflows/macos.yml
|
439
|
+
- templates/base/.github/workflows/ubuntu.yml
|
440
|
+
- templates/base/.github/workflows/windows.yml
|
437
441
|
- templates/base/.gitignore
|
438
442
|
- templates/base/.gitlab-ci.yml
|
439
|
-
- templates/base/.travis.yml
|
440
443
|
- templates/base/Gemfile
|
441
444
|
- templates/base/Makefile
|
442
445
|
- templates/base/Makefile.win
|
443
|
-
- templates/base/appveyor.yml
|
444
446
|
- templates/base/metanorma.yml
|
445
447
|
homepage: https://www.metanorma.com
|
446
448
|
licenses:
|
data/templates/base/.travis.yml
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
dist: xenial
|
3
|
-
env:
|
4
|
-
global:
|
5
|
-
- COMMIT_AUTHOR_EMAIL="$(yq r metanorma.yml metanorma.deploy.email)"
|
6
|
-
addons:
|
7
|
-
apt:
|
8
|
-
update: true
|
9
|
-
snaps:
|
10
|
-
- jq
|
11
|
-
- yq
|
12
|
-
- name: node
|
13
|
-
confinement: classic # or devmode
|
14
|
-
channel: 10/stable
|
15
|
-
rvm:
|
16
|
-
- 2.6
|
17
|
-
cache: bundler
|
18
|
-
before_install:
|
19
|
-
- gem update --system
|
20
|
-
- gem install bundler
|
21
|
-
- npm install -g puppeteer
|
22
|
-
- sudo bash -c "curl -L https://raw.githubusercontent.com/metanorma/metanorma-linux-setup/master/ubuntu.sh | bash"
|
23
|
-
script:
|
24
|
-
- make clean all publish
|
25
|
-
deploy:
|
26
|
-
skip_cleanup: true
|
27
|
-
provider: script
|
28
|
-
script: bash -c "curl -L https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/deploy-to-gh-pages.sh | bash"
|
29
|
-
on:
|
30
|
-
branch: master
|
data/templates/base/appveyor.yml
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
version: '{build}'
|
2
|
-
|
3
|
-
environment:
|
4
|
-
matrix:
|
5
|
-
- RUBY_VERSION: 25
|
6
|
-
- RUBY_VERSION: 24
|
7
|
-
- RUBY_VERSION: _trunk
|
8
|
-
|
9
|
-
matrix:
|
10
|
-
allow_failures:
|
11
|
-
- RUBY_VERSION: _trunk
|
12
|
-
|
13
|
-
install:
|
14
|
-
- ps: . { iwr -useb https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/appveyor.ps1 } | iex
|
15
|
-
- refreshenv
|
16
|
-
|
17
|
-
build_script:
|
18
|
-
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
19
|
-
- bundle update
|
20
|
-
- bundle install
|
21
|
-
|
22
|
-
before_test:
|
23
|
-
- ruby -v
|
24
|
-
- gem -v
|
25
|
-
- bundle -v
|
26
|
-
|
27
|
-
test_script:
|
28
|
-
- plantuml -testdot
|
29
|
-
- make -f Makefile.win clean all publish SHELL=cmd
|