metanorma-cli 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2410a33ad2bacfb66c4f7e6ee2c3ffb1d6c13bfb1ed65b6772c884c55ce4a663
4
- data.tar.gz: 2fa231a58594b34711ff9b674a613e51ec6727f0639dedfcd2ed871f92b3fed5
3
+ metadata.gz: 18a1323ad826680433ef962a332a4c1948a1101215f564d4db446b167d126055
4
+ data.tar.gz: be2dd7ea75d4c9d857e1752a2dad32e83ea4ca5e4db86c7234bdc5c6d57b270a
5
5
  SHA512:
6
- metadata.gz: 7afdd97819fec7df7ba1d056066ca658c6b4a33af191f40d88fa067fd27dafe2a37ca5ecb672465ee5d3f2904a1a86404bcf4d54d9682a1c2c55951b7ebc2f36
7
- data.tar.gz: 1ab470e100859fae5746aa7a7fda60dbbf4cb783b23647ba6f9d1c4ef036a630d6d86cb9ee42bdf49a6aab4db695f54936b489079fbb80729e92930eae9a57e6
6
+ metadata.gz: fec5ddd85f0b84453cbaaa152dad9c02e15b99b419932cb195c4bcb1b8236ca0933ed4f6549c965a04fa1a1b35227646e54e55d9647a9335799d82ad90da796d
7
+ data.tar.gz: 6615b1d762d606aea947d62dbecba22a7a53827297db3509979f740918e9787709d1982c72a6cc332748d1d2ab74d0791fd86181bd92968f1335aa085b6a19ac
data/Gemfile CHANGED
@@ -1,5 +1,9 @@
1
1
  source "https://rubygems.org"
2
2
 
3
+ #gem "metanorma-standoc", github: "metanorma/metanorma-standoc"
4
+ #gem "relaton-nist", github: "metanorma/relaton-nist"
5
+ #gem "metanorma-nist", github: "metanorma/metanorma-nist"
6
+
3
7
  # Specify your gem's dependencies in gemspec
4
8
  gemspec
5
9
 
@@ -1,3 +1,41 @@
1
+ GIT
2
+ remote: git://github.com/metanorma/metanorma-nist.git
3
+ revision: bd05e7591c9b4d14914b7feca491784e7121039c
4
+ specs:
5
+ metanorma-nist (0.1.3)
6
+ asciidoctor (~> 1.5.7)
7
+ htmlentities (~> 4.3.4)
8
+ isodoc (~> 0.10.0)
9
+ metanorma-standoc (~> 1.2.0)
10
+ relaton-nist (~> 0.3.0)
11
+ ruby-jing
12
+ twitter_cldr
13
+ tzinfo-data
14
+
15
+ GIT
16
+ remote: git://github.com/metanorma/metanorma-standoc.git
17
+ revision: 788527a41ad3c7660f2f3164f7adb029216783e4
18
+ specs:
19
+ metanorma-standoc (1.2.2)
20
+ asciidoctor (~> 1.5.7)
21
+ concurrent-ruby
22
+ html2doc (~> 0.8.11)
23
+ iev (~> 0.2.1)
24
+ isodoc (~> 0.10.0)
25
+ relaton (~> 0.5.0)
26
+ relaton-iev (~> 0.1.0)
27
+ ruby-jing
28
+ sterile (~> 1.0.14)
29
+ unicode2latex (~> 0.0.1)
30
+
31
+ GIT
32
+ remote: git://github.com/metanorma/relaton-nist.git
33
+ revision: da392d9c42ad1742ae2b5f5418f3d41d0c26f9ec
34
+ specs:
35
+ relaton-nist (0.3.0)
36
+ relaton-bib (~> 0.3.0)
37
+ rubyzip
38
+
1
39
  PATH
2
40
  remote: .
3
41
  specs:
@@ -11,6 +49,7 @@ PATH
11
49
  metanorma-gb (~> 1.2.0)
12
50
  metanorma-ietf (~> 1.0.1)
13
51
  metanorma-iso (~> 1.2.0)
52
+ metanorma-itu (~> 0.1.0)
14
53
  metanorma-m3d (~> 1.2.0)
15
54
  metanorma-nist (~> 0.1.0)
16
55
  metanorma-ogc (~> 0.1.0)
@@ -52,9 +91,9 @@ GEM
52
91
  httpclient (2.8.3)
53
92
  iev (0.2.2)
54
93
  nokogiri
55
- image_size (2.0.1)
94
+ image_size (2.0.2)
56
95
  iso-639 (0.2.8)
57
- isodoc (0.10.1)
96
+ isodoc (0.10.3)
58
97
  asciimath
59
98
  html2doc (~> 0.8.11)
60
99
  htmlentities (~> 4.3.4)
@@ -72,13 +111,13 @@ GEM
72
111
  metanorma (0.3.14)
73
112
  asciidoctor
74
113
  htmlentities
75
- metanorma-acme (1.2.1)
114
+ metanorma-acme (1.2.3)
76
115
  asciidoctor (~> 1.5.7)
77
116
  htmlentities (~> 4.3.4)
78
117
  isodoc (~> 0.10.0)
79
118
  metanorma-standoc (~> 1.2.0)
80
119
  ruby-jing
81
- metanorma-csand (1.2.1)
120
+ metanorma-csand (1.2.2)
82
121
  asciidoctor (~> 1.5.7)
83
122
  asciimath
84
123
  htmlentities (~> 4.3.4)
@@ -90,24 +129,30 @@ GEM
90
129
  ruby-jing
91
130
  thread_safe
92
131
  uuidtools
93
- metanorma-csd (1.2.1)
132
+ metanorma-csd (1.2.2)
94
133
  isodoc (~> 0.10.0)
95
134
  metanorma-standoc (~> 1.2.0)
96
- metanorma-gb (1.2.1)
135
+ metanorma-gb (1.2.3)
97
136
  gb-agencies (~> 0.0.4)
98
137
  htmlentities (~> 4.3.4)
99
138
  isodoc (~> 0.10.0)
100
139
  metanorma-iso (~> 1.2.0)
101
140
  twitter_cldr (~> 4.4.4)
102
- metanorma-ietf (1.0.3)
141
+ metanorma-ietf (1.0.5)
103
142
  isodoc (~> 0.10.0)
104
143
  metanorma-standoc (~> 1.2.0)
105
- metanorma-iso (1.2.1)
144
+ metanorma-iso (1.2.3)
106
145
  asciidoctor (~> 1.5.7)
107
146
  isodoc (~> 0.10.0)
108
147
  metanorma-standoc (~> 1.2.0)
109
148
  ruby-jing
110
- metanorma-m3d (1.2.1)
149
+ metanorma-itu (0.1.3)
150
+ asciidoctor (~> 1.5.7)
151
+ htmlentities (~> 4.3.4)
152
+ isodoc (~> 0.10.0)
153
+ metanorma-standoc (~> 1.2.0)
154
+ ruby-jing
155
+ metanorma-m3d (1.2.2)
111
156
  asciidoctor (~> 1.5.7)
112
157
  asciimath
113
158
  htmlentities (~> 4.3.4)
@@ -119,34 +164,14 @@ GEM
119
164
  ruby-jing
120
165
  thread_safe
121
166
  uuidtools
122
- metanorma-nist (0.1.2)
123
- asciidoctor (~> 1.5.7)
124
- htmlentities (~> 4.3.4)
125
- isodoc (~> 0.10.0)
126
- metanorma-standoc (~> 1.2.0)
127
- relaton-nist (~> 0.2.0)
128
- ruby-jing
129
- twitter_cldr
130
- tzinfo-data
131
- metanorma-ogc (0.1.1)
167
+ metanorma-ogc (0.1.3)
132
168
  asciidoctor (~> 1.5.7)
133
169
  htmlentities (~> 4.3.4)
134
170
  iso-639
135
171
  isodoc (~> 0.10.0)
136
172
  metanorma-standoc (~> 1.2.0)
137
173
  ruby-jing
138
- metanorma-standoc (1.2.1)
139
- asciidoctor (~> 1.5.7)
140
- concurrent-ruby
141
- html2doc (~> 0.8.11)
142
- iev (~> 0.2.1)
143
- isodoc (~> 0.10.0)
144
- relaton (~> 0.4.0)
145
- relaton-cli (~> 0.2.0)
146
- ruby-jing
147
- sterile (~> 1.0.14)
148
- unicode2latex (~> 0.0.1)
149
- metanorma-unece (0.1.1)
174
+ metanorma-unece (0.1.3)
150
175
  asciidoctor (~> 1.5.7)
151
176
  htmlentities (~> 4.3.4)
152
177
  iso-639
@@ -158,52 +183,45 @@ GEM
158
183
  mime-types (3.2.2)
159
184
  mime-types-data (~> 3.2015)
160
185
  mime-types-data (3.2019.0331)
161
- mini_portile2 (2.3.0)
186
+ mini_portile2 (2.4.0)
162
187
  mixlib-shellout (2.4.4)
163
- nokogiri (1.8.5)
164
- mini_portile2 (~> 2.3.0)
188
+ nokogiri (1.10.3)
189
+ mini_portile2 (~> 2.4.0)
165
190
  optout (0.0.2)
166
191
  public_suffix (3.1.1)
167
- rake (12.3.2)
168
- relaton (0.4.1)
192
+ rake (12.3.3)
193
+ relaton (0.5.0)
169
194
  algoliasearch
170
- relaton-gb (~> 0.5.0)
171
- relaton-iec (~> 0.3.0)
172
- relaton-ietf (~> 0.5.0)
173
- relaton-iso (~> 0.5.0)
174
- relaton-iso-bib (~> 0.2.0)
175
- relaton-itu (~> 0.2.0)
176
- relaton-nist (~> 0.2.0)
177
- relaton-bib (0.2.3)
195
+ relaton-gb (~> 0.6.0)
196
+ relaton-iec (~> 0.4.0)
197
+ relaton-ietf (~> 0.6.0)
198
+ relaton-iso (~> 0.6.0)
199
+ relaton-iso-bib (~> 0.3.0)
200
+ relaton-itu (~> 0.3.0)
201
+ relaton-nist (~> 0.3.0)
202
+ relaton-bib (0.3.1)
178
203
  addressable
179
- nokogiri (~> 1.8.4)
180
- relaton-cli (0.2.1)
181
- liquid
182
- relaton (~> 0.4)
183
- thor
184
- relaton-gb (0.5.1)
204
+ nokogiri (~> 1.10)
205
+ relaton-gb (0.6.0)
185
206
  cnccs (~> 0.1.1)
186
207
  gb-agencies (~> 0.0.1)
187
- relaton-iso-bib (~> 0.2.0)
188
- relaton-iec (0.3.1)
208
+ relaton-iso-bib (~> 0.3.0)
209
+ relaton-iec (0.4.1)
189
210
  addressable
190
- relaton-iso-bib (~> 0.2.0)
191
- relaton-ietf (0.5.3)
192
- relaton-iso-bib (~> 0.2.0)
193
- relaton-iso (0.5.1)
194
- algoliasearch
195
- relaton-iec (~> 0.3.0)
196
- relaton-iso-bib (~> 0.2.0)
197
- relaton-iso-bib (0.2.3)
211
+ relaton-iso-bib (~> 0.3.0)
212
+ relaton-ietf (0.6.0)
213
+ relaton-iso-bib (~> 0.3.0)
214
+ relaton-iev (0.1.1)
215
+ relaton (~> 0.5.0)
216
+ relaton-iso (0.6.0)
217
+ relaton-iec (~> 0.4.0)
218
+ relaton-iso-bib (~> 0.3.0)
219
+ relaton-iso-bib (0.3.1)
198
220
  isoics (~> 0.1.6)
199
- nokogiri (~> 1.8.4)
200
- relaton-bib (~> 0.2.0)
221
+ relaton-bib (~> 0.3.0)
201
222
  ruby_deep_clone (~> 0.8.0)
202
- relaton-itu (0.2.1)
203
- relaton-iso-bib (~> 0.2.0)
204
- relaton-nist (0.2.2)
205
- relaton-bib (~> 0.2.0)
206
- rubyzip
223
+ relaton-itu (0.3.0)
224
+ relaton-iso-bib (~> 0.3.0)
207
225
  roman-numerals (0.3.0)
208
226
  rspec (3.8.0)
209
227
  rspec-core (~> 3.8.0)
@@ -255,7 +273,10 @@ DEPENDENCIES
255
273
  byebug (~> 10.0)
256
274
  equivalent-xml (~> 0.6)
257
275
  metanorma-cli!
276
+ metanorma-nist!
277
+ metanorma-standoc!
258
278
  rake (~> 12.0)
279
+ relaton-nist!
259
280
  rspec (~> 3.0)
260
281
  rspec-command (~> 1.0.3)
261
282
  rspec-core (~> 3.4)
@@ -3,7 +3,7 @@
3
3
  image:https://img.shields.io/gem/v/metanorma-cli.svg["Gem Version", link="https://rubygems.org/gems/metanorma-cli"]
4
4
  image:https://img.shields.io/travis/metanorma/metanorma-cli/master.svg["Build Status", link="https://travis-ci.org/metanorma/metanorma-cli"]
5
5
  image:https://codeclimate.com/github/metanorma/metanorma-cli/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-cli"]
6
- image:https://ci.appveyor.com/api/projects/status/vqo2221uwcaov8kx?svg=true["Build Status", link="https://ci.appveyor.com/project/metanorma/metanorma-cli"]
6
+ image:https://ci.appveyor.com/api/projects/status/vqo2221uwcaov8kx?svg=true["Build Status", link="https://ci.appveyor.com/project/ribose/metanorma-cli"]
7
7
 
8
8
  == Installation
9
9
 
data/a.rxl ADDED
@@ -0,0 +1,42 @@
1
+ <bibdata type="standard">
2
+ <title language="en" format="text/plain" type="main">X</title>
3
+ <contributor>
4
+ <role type="author"/>
5
+ <organization>
6
+ <name>International Telecommunication Union</name>
7
+ <abbreviation>ITU</abbreviation>
8
+ </organization>
9
+ </contributor>
10
+ <contributor>
11
+ <role type="publisher"/>
12
+ <organization>
13
+ <name>International Telecommunication Union</name>
14
+ <abbreviation>ITU</abbreviation>
15
+ </organization>
16
+ </contributor>
17
+
18
+ <language>en</language>
19
+ <script>Latn</script>
20
+ <status>
21
+ <stage>published</stage>
22
+ </status>
23
+ <copyright>
24
+ <from>2019</from>
25
+ <owner>
26
+ <organization>
27
+ <name>International Telecommunication Union</name>
28
+ <abbreviation>ITU</abbreviation>
29
+ </organization>
30
+ </owner>
31
+ </copyright>
32
+ <ext>
33
+ <doctype>article</doctype>
34
+ <editorialgroup>
35
+ <bureau>T</bureau>
36
+ <group>
37
+
38
+ </group>
39
+ </editorialgroup>
40
+ <ip-notice-received>false</ip-notice-received>
41
+ </ext>
42
+ </bibdata>
@@ -7,6 +7,7 @@ cache:
7
7
 
8
8
  environment:
9
9
  matrix:
10
+ - RUBY_VERSION: 26
10
11
  - RUBY_VERSION: 25
11
12
  - RUBY_VERSION: 24
12
13
  - RUBY_VERSION: _trunk
@@ -18,7 +18,8 @@ module Metanorma
18
18
  "metanorma-unece",
19
19
  "metanorma-mpfd",
20
20
  "metanorma-nist",
21
- "metanorma-ogc"
21
+ "metanorma-ogc",
22
+ "metanorma-itu"
22
23
  ]
23
24
 
24
25
  def self.load_flavors(flavor_names = SUPPORTED_GEMS)
@@ -34,7 +34,7 @@ module Metanorma
34
34
  Metanorma::Cli::Compiler.compile(file_name, options.dup)
35
35
 
36
36
  elsif options[:version]
37
- invoke(:version, [], type: options[:type] || :iso, format: options[:format])
37
+ invoke(:version, [], type: options[:type], format: options[:format])
38
38
 
39
39
  elsif options.keys.size >= 2
40
40
  UI.say("Need to specify a file to process")
@@ -45,13 +45,15 @@ module Metanorma
45
45
  end
46
46
 
47
47
  desc "version", "Version of the code"
48
- option :type, aliases: "-t", required: true, desc: "Type of standard to generate"
48
+ option :type, aliases: "-t", desc: "Type of standard to generate"
49
49
  option :format, aliases: "-f", default: :asciidoc, desc: "Format of source file: eg. asciidoc"
50
50
 
51
51
  def version
52
52
  if options[:format] == :asciidoc
53
- UI.say(find_backend(options[:type].to_sym).version)
53
+ backend_version(options[:type]) || supported_backends
54
54
  end
55
+ rescue NameError => error
56
+ UI.say(error)
55
57
  end
56
58
 
57
59
  desc "list-extensions", "List supported extensions"
@@ -86,9 +88,23 @@ module Metanorma
86
88
  UI.say(message)
87
89
  end
88
90
 
91
+ def backend_version(type)
92
+ if type
93
+ UI.say(find_backend(type).version)
94
+ end
95
+ end
96
+
89
97
  def find_backend(type)
90
98
  require "metanorma-#{type}"
91
- Metanorma::Registry.instance.find_processor(type.to_sym)
99
+ Metanorma::Registry.instance.find_processor(type&.to_sym)
100
+ end
101
+
102
+ def supported_backends
103
+ Metanorma::Cli.load_flavors
104
+
105
+ Metanorma::Registry.instance.processors.map do |type, processor|
106
+ UI.say(processor.version)
107
+ end
92
108
  end
93
109
 
94
110
  def join_keys(keys)
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cli
3
- VERSION = "1.2.2"
3
+ VERSION = "1.2.3"
4
4
  end
5
5
  end
@@ -14,8 +14,8 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "https://www.metanorma.com"
15
15
  spec.license = "BSD-2-Clause"
16
16
 
17
- spec.files = Dir['**/*'].reject { |f| f.match(%r{^(test|spec|features|.git)/|.(gem|gif|png|jpg|jpeg|xml|html|doc|pdf|dtd|ent)$}) }
18
-
17
+ spec.files = Dir['**/*'].reject { |f| f.match(%r{^(test|spec|features|templates|.git)/|.(gem|gif|png|jpg|jpeg|xml|html|doc|pdf|dtd|ent)$}) }
18
+ spec.files += Dir.glob("templates/base/**", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
19
19
 
20
20
  spec.extra_rdoc_files = %w[README.adoc LICENSE]
21
21
  spec.bindir = "exe"
@@ -45,6 +45,7 @@ Gem::Specification.new do |spec|
45
45
  spec.add_runtime_dependency 'metanorma-unece', "~> 0.1.0"
46
46
  spec.add_runtime_dependency 'metanorma-ogc', "~> 0.1.0"
47
47
  spec.add_runtime_dependency 'metanorma-nist', "~> 0.1.0"
48
+ spec.add_runtime_dependency 'metanorma-itu', "~> 0.1.0"
48
49
  spec.add_runtime_dependency 'isodoc', "~> 0.10.0"
49
50
  spec.add_runtime_dependency 'metanorma', "~> 0.3.9"
50
51
  spec.add_runtime_dependency 'nokogiri', ">= 1"
@@ -0,0 +1,6 @@
1
+ .DS_Store
2
+ .swp
3
+ .tmp.xml
4
+
5
+ # Deploy key
6
+ deploy_key
@@ -0,0 +1,15 @@
1
+ image:
2
+ name: ribose/metanorma
3
+ entrypoint: [""]
4
+
5
+ cache:
6
+ paths:
7
+
8
+ build:
9
+ stage: build
10
+ script:
11
+ - bundle
12
+ - make clean all publish
13
+ artifacts:
14
+ paths:
15
+ - published
@@ -0,0 +1,21 @@
1
+ language: ruby
2
+ dist: xenial
3
+ env:
4
+ global:
5
+ - JAVA_OPTS="java.awt.headless=true"
6
+ - COMMIT_AUTHOR_EMAIL="travis-ci@metanorma.org"
7
+ rvm:
8
+ - 2.5
9
+ cache: bundler
10
+ before_install:
11
+ - gem update --system
12
+ - gem install bundler
13
+ - sudo bash -c "curl -L https://raw.githubusercontent.com/metanorma/metanorma-linux-setup/master/ubuntu.sh | bash"
14
+ script:
15
+ - make clean all publish
16
+ deploy:
17
+ skip_cleanup: true
18
+ provider: script
19
+ script: bash -c "curl -L https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/deploy-to-gh-pages.sh | bash"
20
+ on:
21
+ branch: master
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.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-08 00:00:00.000000000 Z
11
+ date: 2019-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -276,6 +276,20 @@ dependencies:
276
276
  - - "~>"
277
277
  - !ruby/object:Gem::Version
278
278
  version: 0.1.0
279
+ - !ruby/object:Gem::Dependency
280
+ name: metanorma-itu
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: 0.1.0
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: 0.1.0
279
293
  - !ruby/object:Gem::Dependency
280
294
  name: isodoc
281
295
  requirement: !ruby/object:Gem::Requirement
@@ -352,6 +366,7 @@ files:
352
366
  - Rakefile
353
367
  - a
354
368
  - a.rb
369
+ - a.rxl
355
370
  - appveyor.yml
356
371
  - b
357
372
  - bin/console
@@ -377,17 +392,13 @@ files:
377
392
  - lib/metanorma/cli/version.rb
378
393
  - metanorma-cli.gemspec
379
394
  - sourcecode/0
395
+ - templates/base/.gitignore
396
+ - templates/base/.gitlab-ci.yml
397
+ - templates/base/.travis.yml
380
398
  - templates/base/Gemfile
381
399
  - templates/base/Makefile
382
400
  - templates/base/Makefile.win
383
401
  - templates/base/appveyor.yml
384
- - templates/csd/LICENSE
385
- - templates/csd/collection/Makefile
386
- - templates/csd/common/Gemfile
387
- - templates/csd/common/Makefile
388
- - templates/csd/common/Makefile.win
389
- - templates/csd/common/appveyor.yml
390
- - templates/csd/common/deploy.sh
391
402
  - test.rxl
392
403
  - tmp/my-custom-csd/Gemfile
393
404
  - tmp/my-custom-csd/Makefile
@@ -1,201 +0,0 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "{}"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright {yyyy} {name of copyright owner}
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.
@@ -1,139 +0,0 @@
1
- #!make
2
- SHELL := /bin/bash
3
-
4
- include metanorma.env
5
- export $(shell sed 's/=.*//' metanorma.env)
6
-
7
- RELATON_COLLECTION_ORG := "CalConnect : The Calendaring and Scheduling Consortium"
8
- RELATON_COLLECTION_NAME := "CalConnect Conference and IOP Testing Reports"
9
-
10
- comma := ,
11
- empty :=
12
- space := $(empty) $(empty)
13
-
14
- SRC := $(wildcard sources/*.adoc)
15
- INPUT_XML := $(patsubst %.adoc,%.xml,$(SRC))
16
- OUTPUT_XML := $(patsubst sources/%,documents/%,$(patsubst %.adoc,%.xml,$(SRC)))
17
- OUTPUT_HTML := $(patsubst %.xml,%.html,$(OUTPUT_XML))
18
- FORMATS := xml html
19
-
20
- COMPILE_CMD_LOCAL := bundle exec metanorma -R $${FILENAME//adoc/rxl} $$FILENAME
21
- COMPILE_CMD_DOCKER := docker run -v "$$(pwd)":/metanorma/ ribose/metanorma "metanorma $${FILENAME//adoc/rxl} $$FILENAME"
22
-
23
- ifdef METANORMA_DOCKER
24
- COMPILE_CMD := echo "Compiling via docker..."; $(COMPILE_CMD_DOCKER)
25
- else
26
- COMPILE_CMD := echo "Compiling locally..."; $(COMPILE_CMD_LOCAL)
27
- endif
28
-
29
- _OUT_FILES := $(foreach FORMAT,$(FORMATS),$(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
30
- OUT_FILES := $(foreach F,$(_OUT_FILES),$($F))
31
-
32
- all: documents.html
33
-
34
- documents:
35
- mkdir -p $@
36
-
37
- documents/%.xml: documents sources/%.xml
38
- mv sources/$*.{xml,html,pdf,rxl} documents
39
-
40
- %.xml %.html: %.adoc | bundle
41
- FILENAME=$^; \
42
- ${COMPILE_CMD}
43
-
44
- documents.rxl: $(OUTPUT_XML)
45
- bundle exec relaton concatenate \
46
- -t $(RELATON_COLLECTION_NAME) \
47
- -g $(RELATON_COLLECTION_ORG) \
48
- documents $@
49
-
50
- documents.html: documents.rxl
51
- bundle exec relaton xml2html documents.rxl
52
-
53
- %.adoc:
54
-
55
- define FORMAT_TASKS
56
- OUT_FILES-$(FORMAT) := $($(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
57
-
58
- open-$(FORMAT):
59
- open $$(OUT_FILES-$(FORMAT))
60
-
61
- clean-$(FORMAT):
62
- rm -f $$(OUT_FILES-$(FORMAT))
63
-
64
- $(FORMAT): clean-$(FORMAT) $$(OUT_FILES-$(FORMAT))
65
-
66
- .PHONY: clean-$(FORMAT)
67
-
68
- endef
69
-
70
- $(foreach FORMAT,$(FORMATS),$(eval $(FORMAT_TASKS)))
71
-
72
- open: open-html
73
-
74
- clean:
75
- rm -rf documents published *_images sources/*.{rxl,xml,html,pdf}
76
-
77
- bundle:
78
- if [ "x" == "${METANORMA_DOCKER}x" ]; then bundle; fi
79
-
80
- .PHONY: bundle all open clean
81
-
82
- #
83
- # Watch-related jobs
84
- #
85
-
86
- .PHONY: watch serve watch-serve
87
-
88
- NODE_BINS := onchange live-serve run-p
89
- NODE_BIN_DIR := node_modules/.bin
90
- NODE_PACKAGE_PATHS := $(foreach PACKAGE_NAME,$(NODE_BINS),$(NODE_BIN_DIR)/$(PACKAGE_NAME))
91
-
92
- $(NODE_PACKAGE_PATHS): package.json
93
- npm i
94
-
95
- watch: $(NODE_BIN_DIR)/onchange
96
- make all
97
- $< $(ALL_SRC) -- make all
98
-
99
- define WATCH_TASKS
100
- watch-$(FORMAT): $(NODE_BIN_DIR)/onchange
101
- make $(FORMAT)
102
- $$< $$(SRC_$(FORMAT)) -- make $(FORMAT)
103
-
104
- .PHONY: watch-$(FORMAT)
105
- endef
106
-
107
- $(foreach FORMAT,$(FORMATS),$(eval $(WATCH_TASKS)))
108
-
109
- serve: $(NODE_BIN_DIR)/live-server revealjs-css reveal.js images
110
- export PORT=$${PORT:-8123} ; \
111
- port=$${PORT} ; \
112
- for html in $(HTML); do \
113
- $< --entry-file=$$html --port=$${port} --ignore="*.html,*.xml,Makefile,Gemfile.*,package.*.json" --wait=1000 & \
114
- port=$$(( port++ )) ;\
115
- done
116
-
117
- watch-serve: $(NODE_BIN_DIR)/run-p
118
- $< watch serve
119
-
120
- #
121
- # Deploy jobs
122
- #
123
- publish: published
124
- published: documents.html
125
- mkdir -p published && \
126
- cp -a documents $@/ && \
127
- cp $< published/index.html; \
128
- if [ -d "images" ]; then cp -a images published; fi
129
-
130
- deploy_key:
131
- openssl aes-256-cbc -K $(encrypted_$(ENCRYPTION_LABEL)_key) \
132
- -iv $(encrypted_$(ENCRYPTION_LABEL)_iv) -in $@.enc -out $@ -d && \
133
- chmod 600 $@
134
-
135
- deploy: deploy_key
136
- export COMMIT_AUTHOR_EMAIL=$(COMMIT_AUTHOR_EMAIL); \
137
- ./deploy.sh
138
-
139
- .PHONY: publish deploy
@@ -1,4 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "metanorma-cli"
4
- gem "relaton-cli"
@@ -1,126 +0,0 @@
1
- #!make
2
- SHELL := /bin/bash
3
-
4
- FORMAT_MARKER := mn-output-
5
- FORMATS := $(shell grep "$(FORMAT_MARKER)" *.adoc | cut -f 2 -d ' ' | tr ',' '\n' | sort | uniq | tr '\n' ' ')
6
-
7
- SRC := $(filter-out README.adoc, $(wildcard *.adoc))
8
- XML := $(patsubst %.adoc,%.xml,$(SRC))
9
- HTML := $(patsubst %.adoc,%.html,$(SRC))
10
- DOC := $(patsubst %.adoc,%.doc,$(SRC))
11
- PDF := $(patsubst %.adoc,%.pdf,$(SRC))
12
- WSD := $(wildcard models/*.wsd)
13
- XMI := $(patsubst models/%,xmi/%,$(patsubst %.wsd,%.xmi,$(WSD)))
14
- PNG := $(patsubst models/%,images/%,$(patsubst %.wsd,%.png,$(WSD)))
15
-
16
- COMPILE_CMD_LOCAL := bundle exec metanorma $$FILENAME
17
- COMPILE_CMD_DOCKER := docker run -v "$$(pwd)":/metanorma/ ribose/metanorma "metanorma $$FILENAME"
18
-
19
- ifdef METANORMA_DOCKER
20
- COMPILE_CMD := echo "Compiling via docker..."; $(COMPILE_CMD_DOCKER)
21
- else
22
- COMPILE_CMD := echo "Compiling locally..."; $(COMPILE_CMD_LOCAL)
23
- endif
24
-
25
- _OUT_FILES := $(foreach FORMAT,$(FORMATS),$(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
26
- OUT_FILES := $(foreach F,$(_OUT_FILES),$($F))
27
-
28
- all: images $(OUT_FILES)
29
-
30
- %.xml %.html %.doc %.pdf: %.adoc | bundle
31
- FILENAME=$^; \
32
- ${COMPILE_CMD}
33
-
34
- images: $(PNG)
35
-
36
- images/%.png: models/%.wsd
37
- plantuml -tpng -o ../images/ $<
38
-
39
- xmi: $(XMI)
40
-
41
- xmi/%.xmi: models/%.wsd
42
- plantuml -xmi:star -o ../xmi/ $<
43
-
44
- define FORMAT_TASKS
45
- OUT_FILES-$(FORMAT) := $($(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
46
-
47
- open-$(FORMAT):
48
- open $$(OUT_FILES-$(FORMAT))
49
-
50
- clean-$(FORMAT):
51
- rm -f $$(OUT_FILES-$(FORMAT))
52
-
53
- $(FORMAT): clean-$(FORMAT) $$(OUT_FILES-$(FORMAT))
54
-
55
- .PHONY: clean-$(FORMAT)
56
-
57
- endef
58
-
59
- $(foreach FORMAT,$(FORMATS),$(eval $(FORMAT_TASKS)))
60
-
61
- open: open-html
62
-
63
- clean:
64
- rm -f $(OUT_FILES)
65
-
66
- bundle:
67
- if [ "x" == "${METANORMA_DOCKER}x" ]; then bundle; fi
68
-
69
- .PHONY: bundle all open clean
70
-
71
- #
72
- # Watch-related jobs
73
- #
74
-
75
- .PHONY: watch serve watch-serve
76
-
77
- NODE_BINS := onchange live-serve run-p
78
- NODE_BIN_DIR := node_modules/.bin
79
- NODE_PACKAGE_PATHS := $(foreach PACKAGE_NAME,$(NODE_BINS),$(NODE_BIN_DIR)/$(PACKAGE_NAME))
80
-
81
- $(NODE_PACKAGE_PATHS): package.json
82
- npm i
83
-
84
- watch: $(NODE_BIN_DIR)/onchange
85
- make all
86
- $< $(ALL_SRC) -- make all
87
-
88
- define WATCH_TASKS
89
- watch-$(FORMAT): $(NODE_BIN_DIR)/onchange
90
- make $(FORMAT)
91
- $$< $$(SRC_$(FORMAT)) -- make $(FORMAT)
92
-
93
- .PHONY: watch-$(FORMAT)
94
- endef
95
-
96
- $(foreach FORMAT,$(FORMATS),$(eval $(WATCH_TASKS)))
97
-
98
- serve: $(NODE_BIN_DIR)/live-server revealjs-css reveal.js images
99
- export PORT=$${PORT:-8123} ; \
100
- port=$${PORT} ; \
101
- for html in $(HTML); do \
102
- $< --entry-file=$$html --port=$${port} --ignore="*.html,*.xml,Makefile,Gemfile.*,package.*.json" --wait=1000 & \
103
- port=$$(( port++ )) ;\
104
- done
105
-
106
- watch-serve: $(NODE_BIN_DIR)/run-p
107
- $< watch serve
108
-
109
- #
110
- # Deploy jobs
111
- #
112
-
113
- publish:
114
- mkdir -p published && \
115
- cp -a $(basename $(SRC)).* published/ && \
116
- cp $(firstword $(HTML)) published/index.html; \
117
- if [ -d "images" ]; then cp -a images published; fi
118
-
119
- deploy_key:
120
- openssl aes-256-cbc -K $(encrypted_$(ENCRYPTION_LABEL)_key) \
121
- -iv $(encrypted_$(ENCRYPTION_LABEL)_iv) -in $@.enc -out $@ -d && \
122
- chmod 600 $@
123
-
124
- deploy: deploy_key
125
- export COMMIT_AUTHOR_EMAIL=$(COMMIT_AUTHOR_EMAIL); \
126
- ./deploy.sh
@@ -1,63 +0,0 @@
1
- #!make
2
-
3
- include metanorma.env
4
- export $(shell sed 's/=.*//' metanorma.env)
5
-
6
- FORMATS := $(METANORMA_FORMATS)
7
- comma := ,
8
- empty :=
9
- space := $(empty) $(empty)
10
-
11
- SRC := $(filter-out README.adoc, $(wildcard *.adoc))
12
- XML := $(patsubst %.adoc,%.xml,$(SRC))
13
- HTML := $(patsubst %.adoc,%.html,$(SRC))
14
- DOC := $(patsubst %.adoc,%.doc,$(SRC))
15
- PDF := $(patsubst %.adoc,%.pdf,$(SRC))
16
- RXL := $(patsubst %.adoc,%.rxl,$(SRC))
17
-
18
- HOST_SHARE_DIR=$(USERPROFILE)\$(shell for %%I in (.) do echo %%~nxI)
19
- COMPILE_CMD_LOCAL := bundle exec metanorma -R $(RXL) $(SRC)
20
- COMPILE_CMD_DOCKER := C:/ProgramData/chocolatey/bin/docker run --rm -it -v $(CURDIR):/metanorma/ ribose/metanorma "metanorma -R $(RXL) $(SRC)"
21
-
22
- ifdef METANORMA_DOCKER
23
- COMPILE_CMD := echo "Compiling via docker..." & $(COMPILE_CMD_DOCKER)
24
- else
25
- COMPILE_CMD := echo "Compiling locally..." & $(COMPILE_CMD_LOCAL)
26
- endif
27
-
28
- _OUT_FILES := $(foreach FORMAT,$(FORMATS),$(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
29
- OUT_FILES := $(foreach F,$(_OUT_FILES),$($F))
30
-
31
- all: $(OUT_FILES)
32
-
33
- %.xml %.html %.doc %.pdf: %.adoc | bundle
34
- ${COMPILE_CMD}
35
-
36
- define FORMAT_TASKS
37
- OUT_FILES-$(FORMAT) := $($(shell echo $(FORMAT) | tr '[:lower:]' '[:upper:]'))
38
-
39
- open-$(FORMAT):
40
- $$(OUT_FILES-$(FORMAT))
41
-
42
- clean-$(FORMAT):
43
- rm $$(OUT_FILES-$(FORMAT))
44
-
45
- $(FORMAT): clean-$(FORMAT) $$(OUT_FILES-$(FORMAT))
46
-
47
- .PHONY: clean-$(FORMAT)
48
-
49
- endef
50
-
51
- $(foreach FORMAT,$(FORMATS),$(eval $(FORMAT_TASKS)))
52
-
53
- # open: $(foreach FORMAT,$(FORMATS),open-$(FORMAT))
54
-
55
- open: open-html
56
-
57
- clean:
58
- rm -rf $(OUT_FILES)
59
-
60
- bundle:
61
- IF "" == "${METANORMA_DOCKER}" bundle
62
-
63
- .PHONY: bundle all open clean
@@ -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
@@ -1,78 +0,0 @@
1
- #!/bin/bash
2
- # TODO: replace this script when https://github.com/travis-ci/dpl/issues/694 is fixed
3
- # Taken from https://raw.githubusercontent.com/w3c/permissions/master/deploy.sh
4
- set -e # Exit with nonzero exit code if anything fails
5
-
6
- errx() {
7
- readonly __progname=$(basename ${BASH_SOURCE})
8
- echo -e "[${__progname}] $@" >&2
9
- exit 1
10
- }
11
-
12
- SOURCE_BRANCH="master"
13
- TARGET_BRANCH="gh-pages"
14
- KEY_NAME=$(pwd)/deploy_key
15
-
16
- main() {
17
-
18
- # Pull requests and commits to other branches shouldn't try to deploy, just build to verify
19
- if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then
20
- echo "Not a Travis PR or not matching branch ($SOURCE_BRANCH); skipping deploy."
21
- exit 0
22
- fi
23
-
24
- [ -z "$COMMIT_AUTHOR_EMAIL" ] && \
25
- errx "No COMMIT_AUTHOR_EMAIL provided; it must be set."
26
-
27
- if [ ! -f ${KEY_NAME} ]; then
28
- errx "No ${KEY_NAME} file detected; is ${KEY_NAME}.enc decrypted?"
29
- fi
30
-
31
- # Save some useful information
32
- REPO=`git config remote.origin.url`
33
- SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:}
34
- SHA=`git rev-parse --verify HEAD`
35
- DEST_DIR=out
36
-
37
- # Clone the existing $TARGET_BRANCH for this repo into $DEST_DIR/
38
- # Create a new empty branch if gh-pages doesn't exist yet (should only happen on first deploy)
39
- # git clone $REPO $DEST_DIR
40
- git clone $REPO $DEST_DIR || errx "Unable to clone Git."
41
- pushd $DEST_DIR
42
- git checkout $TARGET_BRANCH || git checkout --orphan $TARGET_BRANCH || errx "Unable to checkout git."
43
- popd
44
-
45
- # Clean out existing contents in $TARGET_BRANCH clone
46
- rm -rf $DEST_DIR/* || exit 0
47
-
48
- # Adding contents within published/ to $DEST_DIR.
49
- cp -a published/* $DEST_DIR/ || exit 0
50
-
51
- # Now let's go have some fun with the cloned repo
52
- pushd $DEST_DIR
53
- git config user.name "Travis CI"
54
- git config user.email "$COMMIT_AUTHOR_EMAIL"
55
-
56
- # If there are no changes to the compiled out (e.g. this is a README update) then just bail.
57
- if [[ -z $(git status -s) ]]; then
58
- echo "No changes to the output on this push; exiting."
59
- exit 0
60
- fi
61
-
62
- git status
63
-
64
- # Commit the "changes", i.e. the new version.
65
- # The delta will show diffs between new and old versions.
66
- git add .
67
- git commit -m "Deploy to GitHub Pages: ${SHA}"
68
-
69
- eval `ssh-agent -s`
70
- ssh-add ${KEY_NAME}
71
-
72
- # Now that we're all set up, we can push.
73
- git push $SSH_REPO $TARGET_BRANCH || errx "Unable to push to git."
74
- }
75
-
76
- main "$@"
77
-
78
- exit 0