From dc10ae926033819ab92d4854b2dc60d7533a4793 Mon Sep 17 00:00:00 2001 From: "Michael[tm] Smith" Date: Sat, 4 Jul 2020 12:18:05 +0900 Subject: [PATCH 1/9] Deprecate HTML4-error-reporting methods/classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change deprecates all public methods related to reporting of HTML4-specific parse errors — as well as deprecating the entire nu.validator.htmlparser.common.DoctypeExpectation class, which is only used when reporting HTML4-specific parse errors. Compare to https://github.com/validator/htmlparser/commit/5c8fe7a --- .../htmlparser/common/DoctypeExpectation.java | 1 + .../htmlparser/common/DocumentModeHandler.java | 4 +++- src/nu/validator/htmlparser/dom/DOMTreeBuilder.java | 9 ++++++++- .../htmlparser/dom/HtmlDocumentBuilder.java | 4 ++++ src/nu/validator/htmlparser/impl/Tokenizer.java | 1 + src/nu/validator/htmlparser/impl/TreeBuilder.java | 1 + src/nu/validator/htmlparser/io/Driver.java | 1 + src/nu/validator/htmlparser/sax/HtmlParser.java | 4 ++++ src/nu/validator/htmlparser/xom/HtmlBuilder.java | 4 ++++ src/nu/validator/htmlparser/xom/XOMTreeBuilder.java | 12 +++++++++++- 10 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/nu/validator/htmlparser/common/DoctypeExpectation.java b/src/nu/validator/htmlparser/common/DoctypeExpectation.java index a34af51f..31f69ba7 100644 --- a/src/nu/validator/htmlparser/common/DoctypeExpectation.java +++ b/src/nu/validator/htmlparser/common/DoctypeExpectation.java @@ -28,6 +28,7 @@ * @version $Id$ * @author hsivonen */ +@Deprecated public enum DoctypeExpectation { /** * Be a pure HTML5 parser. diff --git a/src/nu/validator/htmlparser/common/DocumentModeHandler.java b/src/nu/validator/htmlparser/common/DocumentModeHandler.java index 55377e0e..6c301965 100644 --- a/src/nu/validator/htmlparser/common/DocumentModeHandler.java +++ b/src/nu/validator/htmlparser/common/DocumentModeHandler.java @@ -39,8 +39,10 @@ public interface DocumentModeHandler { * @param mode the document mode * @param publicIdentifier the public id of the doctype or null if unavailable * @param systemIdentifier the system id of the doctype or null if unavailable - * @param html4SpecificAdditionalErrorChecks true if HTML 4-specific checks were enabled, false otherwise * @throws SAXException if things go wrong */ + public void documentMode(DocumentMode mode, String publicIdentifier, String systemIdentifier) throws SAXException; + + @Deprecated public void documentMode(DocumentMode mode, String publicIdentifier, String systemIdentifier, boolean html4SpecificAdditionalErrorChecks) throws SAXException; } diff --git a/src/nu/validator/htmlparser/dom/DOMTreeBuilder.java b/src/nu/validator/htmlparser/dom/DOMTreeBuilder.java index 2b8eff23..6ccf75a4 100644 --- a/src/nu/validator/htmlparser/dom/DOMTreeBuilder.java +++ b/src/nu/validator/htmlparser/dom/DOMTreeBuilder.java @@ -248,8 +248,15 @@ protected DOMTreeBuilder(DOMImplementation implementation) { /** * * @see nu.validator.htmlparser.impl.TreeBuilder#documentMode(nu.validator.htmlparser.common.DocumentMode, - * java.lang.String, java.lang.String, boolean) + * java.lang.String, java.lang.String) */ + protected void documentMode(DocumentMode mode, String publicIdentifier, + String systemIdentifier) + throws SAXException { + document.setUserData("nu.validator.document-mode", mode, null); + } + + @Deprecated protected void documentMode(DocumentMode mode, String publicIdentifier, String systemIdentifier, boolean html4SpecificAdditionalErrorChecks) throws SAXException { diff --git a/src/nu/validator/htmlparser/dom/HtmlDocumentBuilder.java b/src/nu/validator/htmlparser/dom/HtmlDocumentBuilder.java index f4a307c9..f2619c05 100644 --- a/src/nu/validator/htmlparser/dom/HtmlDocumentBuilder.java +++ b/src/nu/validator/htmlparser/dom/HtmlDocumentBuilder.java @@ -462,6 +462,7 @@ public void setScriptingEnabled(boolean scriptingEnabled) { * * @return the doctypeExpectation */ + @Deprecated public DoctypeExpectation getDoctypeExpectation() { return doctypeExpectation; } @@ -473,6 +474,7 @@ public DoctypeExpectation getDoctypeExpectation() { * the doctypeExpectation to set * @see nu.validator.htmlparser.impl.TreeBuilder#setDoctypeExpectation(nu.validator.htmlparser.common.DoctypeExpectation) */ + @Deprecated public void setDoctypeExpectation(DoctypeExpectation doctypeExpectation) { this.doctypeExpectation = doctypeExpectation; if (treeBuilder != null) { @@ -526,6 +528,7 @@ public void setStreamabilityViolationPolicy( * the name in the value. * @param html4ModeCompatibleWithXhtml1Schemata */ + @Deprecated public void setHtml4ModeCompatibleWithXhtml1Schemata( boolean html4ModeCompatibleWithXhtml1Schemata) { this.html4ModeCompatibleWithXhtml1Schemata = html4ModeCompatibleWithXhtml1Schemata; @@ -548,6 +551,7 @@ public Locator getDocumentLocator() { * * @return the html4ModeCompatibleWithXhtml1Schemata */ + @Deprecated public boolean isHtml4ModeCompatibleWithXhtml1Schemata() { return html4ModeCompatibleWithXhtml1Schemata; } diff --git a/src/nu/validator/htmlparser/impl/Tokenizer.java b/src/nu/validator/htmlparser/impl/Tokenizer.java index 45073f85..6bf71e86 100755 --- a/src/nu/validator/htmlparser/impl/Tokenizer.java +++ b/src/nu/validator/htmlparser/impl/Tokenizer.java @@ -748,6 +748,7 @@ public void setNamePolicy(XmlViolationPolicy namePolicy) { * @param html4ModeCompatibleWithXhtml1Schemata * the html4ModeCompatibleWithXhtml1Schemata to set */ + @Deprecated public void setHtml4ModeCompatibleWithXhtml1Schemata( boolean html4ModeCompatibleWithXhtml1Schemata) { this.html4ModeCompatibleWithXhtml1Schemata = html4ModeCompatibleWithXhtml1Schemata; diff --git a/src/nu/validator/htmlparser/impl/TreeBuilder.java b/src/nu/validator/htmlparser/impl/TreeBuilder.java index 02cc6409..13d9ecb3 100644 --- a/src/nu/validator/htmlparser/impl/TreeBuilder.java +++ b/src/nu/validator/htmlparser/impl/TreeBuilder.java @@ -6027,6 +6027,7 @@ public void setIsSrcdocDocument(boolean isSrcdocDocument) { * @param doctypeExpectation * the doctypeExpectation to set */ + @Deprecated public void setDoctypeExpectation(DoctypeExpectation doctypeExpectation) { this.doctypeExpectation = doctypeExpectation; } diff --git a/src/nu/validator/htmlparser/io/Driver.java b/src/nu/validator/htmlparser/io/Driver.java index d685e69d..e4d6931b 100644 --- a/src/nu/validator/htmlparser/io/Driver.java +++ b/src/nu/validator/htmlparser/io/Driver.java @@ -558,6 +558,7 @@ public void setTransitionHandler(TransitionHandler transitionHandler) { * @param html4ModeCompatibleWithXhtml1Schemata * @see nu.validator.htmlparser.impl.Tokenizer#setHtml4ModeCompatibleWithXhtml1Schemata(boolean) */ + @Deprecated public void setHtml4ModeCompatibleWithXhtml1Schemata( boolean html4ModeCompatibleWithXhtml1Schemata) { tokenizer.setHtml4ModeCompatibleWithXhtml1Schemata(html4ModeCompatibleWithXhtml1Schemata); diff --git a/src/nu/validator/htmlparser/sax/HtmlParser.java b/src/nu/validator/htmlparser/sax/HtmlParser.java index 714053e7..8eddd601 100644 --- a/src/nu/validator/htmlparser/sax/HtmlParser.java +++ b/src/nu/validator/htmlparser/sax/HtmlParser.java @@ -817,6 +817,7 @@ public void setScriptingEnabled(boolean scriptingEnabled) { * * @return the doctypeExpectation */ + @Deprecated public DoctypeExpectation getDoctypeExpectation() { return doctypeExpectation; } @@ -828,6 +829,7 @@ public DoctypeExpectation getDoctypeExpectation() { * the doctypeExpectation to set * @see nu.validator.htmlparser.impl.TreeBuilder#setDoctypeExpectation(nu.validator.htmlparser.common.DoctypeExpectation) */ + @Deprecated public void setDoctypeExpectation(DoctypeExpectation doctypeExpectation) { this.doctypeExpectation = doctypeExpectation; if (treeBuilder != null) { @@ -881,6 +883,7 @@ public void setStreamabilityViolationPolicy( * the name in the value. * @param html4ModeCompatibleWithXhtml1Schemata */ + @Deprecated public void setHtml4ModeCompatibleWithXhtml1Schemata( boolean html4ModeCompatibleWithXhtml1Schemata) { this.html4ModeCompatibleWithXhtml1Schemata = html4ModeCompatibleWithXhtml1Schemata; @@ -903,6 +906,7 @@ public Locator getDocumentLocator() { * * @return the html4ModeCompatibleWithXhtml1Schemata */ + @Deprecated public boolean isHtml4ModeCompatibleWithXhtml1Schemata() { return html4ModeCompatibleWithXhtml1Schemata; } diff --git a/src/nu/validator/htmlparser/xom/HtmlBuilder.java b/src/nu/validator/htmlparser/xom/HtmlBuilder.java index 845ea15c..7c0d0834 100644 --- a/src/nu/validator/htmlparser/xom/HtmlBuilder.java +++ b/src/nu/validator/htmlparser/xom/HtmlBuilder.java @@ -499,6 +499,7 @@ public void setScriptingEnabled(boolean scriptingEnabled) { * * @return the doctypeExpectation */ + @Deprecated public DoctypeExpectation getDoctypeExpectation() { return doctypeExpectation; } @@ -510,6 +511,7 @@ public DoctypeExpectation getDoctypeExpectation() { * the doctypeExpectation to set * @see nu.validator.htmlparser.impl.TreeBuilder#setDoctypeExpectation(nu.validator.htmlparser.common.DoctypeExpectation) */ + @Deprecated public void setDoctypeExpectation(DoctypeExpectation doctypeExpectation) { this.doctypeExpectation = doctypeExpectation; if (treeBuilder != null) { @@ -563,6 +565,7 @@ public void setStreamabilityViolationPolicy( * the name in the value. * @param html4ModeCompatibleWithXhtml1Schemata */ + @Deprecated public void setHtml4ModeCompatibleWithXhtml1Schemata( boolean html4ModeCompatibleWithXhtml1Schemata) { this.html4ModeCompatibleWithXhtml1Schemata = html4ModeCompatibleWithXhtml1Schemata; @@ -585,6 +588,7 @@ public Locator getDocumentLocator() { * * @return the html4ModeCompatibleWithXhtml1Schemata */ + @Deprecated public boolean isHtml4ModeCompatibleWithXhtml1Schemata() { return html4ModeCompatibleWithXhtml1Schemata; } diff --git a/src/nu/validator/htmlparser/xom/XOMTreeBuilder.java b/src/nu/validator/htmlparser/xom/XOMTreeBuilder.java index 623f3192..e10cb863 100644 --- a/src/nu/validator/htmlparser/xom/XOMTreeBuilder.java +++ b/src/nu/validator/htmlparser/xom/XOMTreeBuilder.java @@ -254,9 +254,19 @@ protected void start(boolean fragment) throws SAXException { /** * @see nu.validator.htmlparser.impl.TreeBuilder#documentMode(nu.validator.htmlparser.common.DocumentMode, - * java.lang.String, java.lang.String, boolean) + * java.lang.String, java.lang.String) */ + protected void documentMode(DocumentMode mode, String publicIdentifier, + String systemIdentifier) + throws SAXException { + if (document instanceof Mode) { + Mode modal = (Mode) document; + modal.setMode(mode); + } + } + @Override + @Deprecated protected void documentMode(DocumentMode mode, String publicIdentifier, String systemIdentifier, boolean html4SpecificAdditionalErrorChecks) throws SAXException { From 2d786541da6a99075c2ed3c370a3bad2a607b212 Mon Sep 17 00:00:00 2001 From: Carlos Amengual Date: Sat, 18 Apr 2020 22:20:16 +0200 Subject: [PATCH 2/9] POM: add an automatic module name entry to MANIFEST.MF. --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 41f46725..29da7dee 100644 --- a/pom.xml +++ b/pom.xml @@ -158,6 +158,7 @@ nu.validator.htmlparser ${project.version} J2SE-1.5 + nu.validator.htmlparser <_removeheaders>Built-By,Bnd-LastModified From e609391c32120c842f42e2624158856cfb2f7049 Mon Sep 17 00:00:00 2001 From: "Michael[tm] Smith" Date: Sat, 4 Jul 2020 13:59:25 +0900 Subject: [PATCH 3/9] Update xom dependency to 1.3.5+ in pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 29da7dee..2286f236 100644 --- a/pom.xml +++ b/pom.xml @@ -215,7 +215,7 @@ xom xom - 1.1 + [1.3.5,) compile true From bd686c692565850f2286ce4c361f8c1025aff021 Mon Sep 17 00:00:00 2001 From: "Michael[tm] Smith" Date: Sat, 4 Jul 2020 20:30:09 +0900 Subject: [PATCH 4/9] Remove com.sun.tools dependency from pom.xml --- pom.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pom.xml b/pom.xml index 2286f236..583d3ddd 100644 --- a/pom.xml +++ b/pom.xml @@ -87,15 +87,6 @@ maven-antrun-plugin 1.7 - - - com.sun - tools - 1.5.0 - system - ${java.home}/../lib/tools.jar - - intitialize-sources From ed174534e9a1ad209028bcd22a3818af90f5e043 Mon Sep 17 00:00:00 2001 From: "Michael[tm] Smith" Date: Sat, 4 Jul 2020 20:31:41 +0900 Subject: [PATCH 5/9] Update source and target values to 1.7 in pom.xml --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 583d3ddd..7fb1ea2a 100644 --- a/pom.xml +++ b/pom.xml @@ -80,8 +80,8 @@ org.apache.maven.plugins maven-compiler-plugin - 1.5 - 1.5 + 1.7 + 1.7 From a817deca6421c4bc08f2e6919f6a0ef47bd23b48 Mon Sep 17 00:00:00 2001 From: "Michael[tm] Smith" Date: Sat, 4 Jul 2020 20:37:16 +0900 Subject: [PATCH 6/9] Update pom.xml for the 1.5 release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7fb1ea2a..c806ff7f 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ nu.validator.htmlparser htmlparser bundle - 1.4 + 1.5 htmlparser http://about.validator.nu/htmlparser/ The Validator.nu HTML Parser is an implementation of the HTML5 parsing algorithm in Java for applications. The parser is designed to work as a drop-in replacement for the XML parser in applications that already support XHTML 1.x content with an XML parser and use SAX, DOM or XOM to interface with the parser. From d23c88f8f7225baaefbfade08887b17fbbb4d50a Mon Sep 17 00:00:00 2001 From: Carlos Amengual Date: Sun, 5 Jul 2020 19:36:26 +0200 Subject: [PATCH 7/9] Maven POM: set the OSGi RequiredExecutionEnvironment to 1.7 Fixes: ed174534 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c806ff7f..f9773bc1 100644 --- a/pom.xml +++ b/pom.xml @@ -148,7 +148,7 @@ ${project.name} nu.validator.htmlparser ${project.version} - J2SE-1.5 + JavaSE-1.7 nu.validator.htmlparser <_removeheaders>Built-By,Bnd-LastModified From 2bab502f2b7d07dfc64a74935a09ec3c3ec798bb Mon Sep 17 00:00:00 2001 From: Carlos Amengual Date: Sun, 5 Jul 2020 16:22:33 +0200 Subject: [PATCH 8/9] Maven POM: update the 'scm' information --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index f9773bc1..cac96470 100644 --- a/pom.xml +++ b/pom.xml @@ -69,8 +69,8 @@ - scm:hg:http://hg.mozilla.org/projects/htmlparser/ - http://hg.mozilla.org/projects/htmlparser/ + scm:git:https://github.com/validator/htmlparser.git + https://github.com/validator/htmlparser ${project.build.directory}/src From 2b3dc35584b5b0bca25467f0417265260bd1d933 Mon Sep 17 00:00:00 2001 From: Carlos Amengual Date: Sun, 5 Jul 2020 14:03:29 +0200 Subject: [PATCH 9/9] Fix broken Java 8 maven build due to maven-antrun-plugin being unable to locate javac --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index cac96470..0f6fc425 100644 --- a/pom.xml +++ b/pom.xml @@ -112,6 +112,7 @@ +