This is an automated email from the ASF dual-hosted git repository. kkolinko pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push: new eae0bee Bug 64931 - Implement validation of changelog.xml file at build time. eae0bee is described below commit eae0bee4d1092551024ed5ea1f9241a19b96681d Author: Konstantin Kolinko <kkoli...@apache.org> AuthorDate: Wed Nov 18 20:28:56 2020 +0300 Bug 64931 - Implement validation of changelog.xml file at build time. Validation is performed against an inline DTD. --- build.xml | 5 ++++ webapps/docs/changelog.xml | 69 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 5db4081..313d625 100644 --- a/build.xml +++ b/build.xml @@ -952,6 +952,11 @@ <target name="build-docs" depends="compile-prepare" description="Builds all documentation from XML sources"> + <!-- Validation of changelog.xml --> + <xmlvalidate + file="webapps/docs/changelog.xml" + /> + <copy todir="${tomcat.build}/webapps"> <fileset dir="webapps"> <include name="docs/images/**"/> diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 5636271..efadd26 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -17,6 +17,65 @@ --> <!DOCTYPE document [ <!ENTITY project SYSTEM "project.xml"> + + <!-- DTD is used to validate changelog structure at build time. BZ 64931. --> + + <!ELEMENT document (project?, properties, body)> + <!ATTLIST document url CDATA #REQUIRED> + + <!-- body and title are used both in project.xml and in this document --> + <!ELEMENT body ANY> + <!ELEMENT title (#PCDATA)> + + <!-- Elements of project.xml --> + <!ELEMENT project (title, logo, body)> + <!ATTLIST project name CDATA #REQUIRED> + <!ATTLIST project href CDATA #REQUIRED> + + <!ELEMENT logo (#PCDATA)> + <!ATTLIST logo href CDATA #REQUIRED> + + <!ELEMENT menu (item+)> + <!ATTLIST menu name CDATA #REQUIRED> + + <!ELEMENT item EMPTY> + <!ATTLIST item name CDATA #REQUIRED> + <!ATTLIST item href CDATA #REQUIRED> + + <!-- Elements of this document --> + <!ELEMENT properties (author*, title, no-comments) > + <!ELEMENT author (#PCDATA)> + <!ATTLIST author email CDATA #IMPLIED> + <!ELEMENT no-comments EMPTY> + + <!ELEMENT section (subsection)*> + <!ATTLIST section name CDATA #REQUIRED> + <!ATTLIST section rtext CDATA #IMPLIED> + + <!ELEMENT subsection (changelog+)> + <!ATTLIST subsection name CDATA #REQUIRED> + + <!ELEMENT changelog (add|update|fix|scode|docs|design)*> + <!ELEMENT add ANY> + <!ELEMENT update ANY> + <!ELEMENT fix ANY> + <!ELEMENT scode ANY> + <!ELEMENT docs ANY> + <!ELEMENT design ANY> + + <!ELEMENT bug (#PCDATA)> + <!ELEMENT rev (#PCDATA)> + + <!-- Random HTML markup tags. Add more here as needed. --> + <!ELEMENT a (#PCDATA)> + <!ATTLIST a href CDATA #REQUIRED> + <!ATTLIST a rel CDATA #IMPLIED> + + <!ELEMENT b (#PCDATA)> + <!ELEMENT code (#PCDATA)> + <!ELEMENT em (#PCDATA)> + <!ELEMENT strong (#PCDATA)> + <!ELEMENT tt (#PCDATA)> ]> <?xml-stylesheet type="text/xsl" href="tomcat-docs.xsl"?> <document url="changelog.html"> @@ -38,13 +97,21 @@ Fixes having an issue number are sorted by their number, ascending. - There is no ordering by add/update/fix/scode. + There is no ordering by add/update/fix/scode/docs/design. Other fixed issues are added to the end of the list, chronologically. They eventually become mixed with the numbered issues (i.e., numbered issues do not "pop up" wrt. others). --> <section name="Tomcat 8.5.61 (markt)" rtext="in development"> + <subsection name="Other"> + <changelog> + <add> + <bug>64931</bug>: Implement validation of <code>changelog.xml</code> + file at build time. (kkolinko) + </add> + </changelog> + </subsection> </section> <section name="Tomcat 8.5.60 (markt)" rtext="release in progress"> <subsection name="Catalina"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org