Skip to content

Commit 8c71e7c

Browse files
committed
Meta: fix and prevent Bikeshed warnings
* Make builds fail on Bikeshed warnings, and display them, instead of silently proceeding. * Remove duplicate w3c_process_revision ID to work around speced/bikeshed#1503. * Depend on Infra explicitly to get some conformance stuff, instead of saying it again here. This removes the un-exported "processing equivalence" definition. Closes #492.
1 parent 3f89daf commit 8c71e7c

File tree

2 files changed

+16
-28
lines changed

2 files changed

+16
-28
lines changed

Makefile

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
SHELL=/bin/bash
2+
13
bs_installed := $(shell command -v bikeshed 2> /dev/null)
24
npm_installed := $(shell command -v npm 2> /dev/null)
35
pp_webidl_installed := $(shell npm ls webidl-grammar-post-processor --parseable --depth=0 2> /dev/null)
@@ -6,15 +8,25 @@ all : index.html
68

79
index.html : index.bs
810
ifdef bs_installed
9-
bikeshed spec index.bs
11+
bikeshed spec --die-on=warning index.bs
1012
else
1113
@echo Can\'t find a local version of Bikeshed. To install it, visit:
1214
@echo
1315
@echo https://github.com/tabatkins/bikeshed/blob/master/docs/install.md
1416
@echo
1517
@echo Trying to build the spec using the online API at: https://api.csswg.org/bikeshed/
1618
@echo This will fail if you are not connected to the network.
17-
curl https://api.csswg.org/bikeshed/ -F [email protected] > index.html
19+
@ (HTTP_STATUS=$$(curl https://api.csswg.org/bikeshed/ \
20+
--output index.html \
21+
--write-out "%{http_code}" \
22+
--header "Accept: text/plain, text/html" \
23+
-F die-on=warning \
24+
25+
[[ "$$HTTP_STATUS" -eq "200" ]]) || ( \
26+
echo ""; cat index.html; echo ""; \
27+
rm -f index.html; \
28+
exit 22 \
29+
);
1830
endif
1931
ifdef pp_webidl_installed
2032
npm run pp-webidl -- --input index.html

index.bs

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ urlPrefix: https://tc39.github.io/ecma262/; spec: ECMA-262
423423

424424
<p>
425425
This document is governed by the
426-
<a id="w3c_process_revision" href="https://www.w3.org/2017/Process-20170301/">1 March 2017
426+
<a href="https://www.w3.org/2017/Process-20170301/">1 March 2017
427427
<abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>.
428428

429429
<p>
@@ -14635,31 +14635,7 @@ The following conventions are used in the algorithms in this document:
1463514635
Everything in this specification is normative except for diagrams,
1463614636
examples, notes and sections marked as being informative.
1463714637

14638-
The keywords “must”,
14639-
“must not”,
14640-
“required”,
14641-
“shall”,
14642-
“shall not”,
14643-
“should”,
14644-
“should not”,
14645-
“recommended”,
14646-
“may” and
14647-
“optional” in this document are to be
14648-
interpreted as described in
14649-
<cite><a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to
14650-
Indicate Requirement Levels</a></cite>
14651-
[[!RFC2119]].
14652-
14653-
Requirements phrased in the imperative as part of algorithms (such as
14654-
“strip any leading space characters” or “return false and abort these
14655-
steps”) are to be interpreted with the meaning of the key word (“must”,
14656-
“should”, “may”, etc) used in introducing the algorithm.
14657-
14658-
Conformance requirements phrased as algorithms or specific steps can be
14659-
implemented in any manner, so long as the end result is <dfn lt="processing equivalence" id="dfn-processing-equivalence">equivalent</dfn>. In
14660-
particular, the algorithms defined in this specification are intended to
14661-
be easy to understand and are not intended to be performant. Implementers
14662-
are encouraged to optimize.
14638+
This specification depends on the Infra Standard. [[!INFRA]]
1466314639

1466414640
The following conformance classes are defined by this specification:
1466514641

0 commit comments

Comments
 (0)