Skip to content

Commit ce2459f

Browse files
authoredMay 23, 2022
Next push1 0 30 (#125)
* update all dependencies from renovate bot * more dependency upgrades * fix pmd errors * fix bug for equals delimiter
1 parent 7e38f46 commit ce2459f

File tree

8 files changed

+109
-27
lines changed

8 files changed

+109
-27
lines changed
 

‎Changelog.md

+13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Changelog
22

3+
## AMP HTML Validator 1.0.30
4+
- upgrade protobuf-java from 3.16.1 to 3.20.1
5+
- upgrade exec-maven-plugin from 1.6.0 to 3.0.0
6+
- upgrade maven-dependency-plugin from 3.2.0 to 3.3.0
7+
- upgrade maven-javadoc-plugin from 3.3.2 to 3.4.0
8+
- upgrade maven-pmd-plugin from 3.13.0 to 3.16.0
9+
- upgrade nexus-staging-maven-plugin from 1.6.12 to 1.6.13
10+
- upgrade puppycrawl checkstyle from 8.32 to 10.2
11+
- upgrade spotbugs-maven-plugin from 4.0.0 to 4.6.0.0
12+
- upgrade spotbugs from 4.0.3 to 4.7.0
13+
- upgrade spotbugs-annotations from 4.6.0 to 4.7.0
14+
- fix bug for *[class="CLASS"] delimiter parsing error
15+
316
## AMP HTML Validator 1.0.29
417
- upgrade jackson-core from 2.13.1 to 2.13.2
518
- upgrade jackson-databind from 2.13.1 to 2.13.2.2

‎checkstyle.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<!-- Make the @SuppressWarnings annotations available to Checkstyle -->
1010
<module name="SuppressWarningsHolder" />
1111
<module name="JavadocMethod">
12-
<property name="scope" value="public"/>
12+
<property name="accessModifiers" value="public"/>
1313
</module>
1414
<module name="JavadocType">
1515
<property name="scope" value="public"/>

‎exclude-pmd.properties

+32
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,66 @@
1+
dev.amp.validator.ValidatorProtos$AttrTriggerSpec=AvoidThrowingNullPointerException
12
dev.amp.validator.ValidatorProtos$AttrTriggerSpec$Builder=AvoidThrowingNullPointerException
3+
dev.amp.validator.ValidatorProtos$PropertySpec=AvoidThrowingNullPointerException
24
dev.amp.validator.ValidatorProtos$PropertySpec$Builder=AvoidThrowingNullPointerException
5+
dev.amp.validator.ValidatorProtos$PropertySpecList=AvoidThrowingNullPointerException
36
dev.amp.validator.ValidatorProtos$PropertySpecList$Builder=AvoidThrowingNullPointerException
7+
dev.amp.validator.ValidatorProtos$UrlSpec=AvoidThrowingNullPointerException
48
dev.amp.validator.ValidatorProtos$UrlSpec$Builder=AvoidThrowingNullPointerException
9+
dev.amp.validator.ValidatorProtos$CssDeclaration=AvoidThrowingNullPointerException
510
dev.amp.validator.ValidatorProtos$CssDeclaration$Builder=AvoidThrowingNullPointerException
11+
dev.amp.validator.ValidatorProtos$AttrSpec=AvoidThrowingNullPointerException
612
dev.amp.validator.ValidatorProtos$AttrSpec$Builder=AvoidThrowingNullPointerException
13+
dev.amp.validator.ValidatorProtos$AttrList=AvoidThrowingNullPointerException
714
dev.amp.validator.ValidatorProtos$AttrList$Builder=AvoidThrowingNullPointerException
15+
dev.amp.validator.ValidatorProtos$DescendantTagList=AvoidThrowingNullPointerException
816
dev.amp.validator.ValidatorProtos$DescendantTagList$Builder=AvoidThrowingNullPointerException
17+
dev.amp.validator.ValidatorProtos$DisallowedCDataRegex=AvoidThrowingNullPointerException
918
dev.amp.validator.ValidatorProtos$DisallowedCDataRegex$Builder=AvoidThrowingNullPointerException
19+
dev.amp.validator.ValidatorProtos$MediaQuerySpec=AvoidThrowingNullPointerException
1020
dev.amp.validator.ValidatorProtos$MediaQuerySpec$Builder=AvoidThrowingNullPointerException
21+
dev.amp.validator.ValidatorProtos$AtRuleSpec=AvoidThrowingNullPointerException
1122
dev.amp.validator.ValidatorProtos$AtRuleSpec$Builder=AvoidThrowingNullPointerException
23+
dev.amp.validator.ValidatorProtos$CssSpec=AvoidThrowingNullPointerException
1224
dev.amp.validator.ValidatorProtos$CssSpec$Builder=AvoidThrowingNullPointerException
25+
dev.amp.validator.ValidatorProtos$CdataSpec=AvoidThrowingNullPointerException
1326
dev.amp.validator.ValidatorProtos$CdataSpec$Builder=AvoidThrowingNullPointerException
27+
dev.amp.validator.ValidatorProtos$AmpLayout=AvoidThrowingNullPointerException
1428
dev.amp.validator.ValidatorProtos$AmpLayout$Builder=AvoidThrowingNullPointerException
29+
dev.amp.validator.ValidatorProtos$AncestorMarker=AvoidThrowingNullPointerException
1530
dev.amp.validator.ValidatorProtos$AncestorMarker$Builder=AvoidThrowingNullPointerException
31+
dev.amp.validator.ValidatorProtos$ChildTagSpec=AvoidThrowingNullPointerException
1632
dev.amp.validator.ValidatorProtos$ChildTagSpec$Builder=AvoidThrowingNullPointerException
33+
dev.amp.validator.ValidatorProtos$ReferencePoint=AvoidThrowingNullPointerException
1734
dev.amp.validator.ValidatorProtos$ReferencePoint$Builder=AvoidThrowingNullPointerException
35+
dev.amp.validator.ValidatorProtos$ExtensionSpec=AvoidThrowingNullPointerException
1836
dev.amp.validator.ValidatorProtos$ExtensionSpec$Builder=AvoidThrowingNullPointerException
37+
dev.amp.validator.ValidatorProtos$TagSpec=AvoidThrowingNullPointerException
1938
dev.amp.validator.ValidatorProtos$TagSpec$Builder=AvoidThrowingNullPointerException
2039
dev.amp.validator.ValidatorProtos$CssLengthSpec$Builder=AvoidThrowingNullPointerException
40+
dev.amp.validator.ValidatorProtos$ValidatorRules=AvoidThrowingNullPointerException
2141
dev.amp.validator.ValidatorProtos$ValidatorRules$Builder=AvoidThrowingNullPointerException
42+
dev.amp.validator.ValidatorProtos$ValidationError=AvoidThrowingNullPointerException
2243
dev.amp.validator.ValidatorProtos$ValidationError$Builder=AvoidThrowingNullPointerException
44+
dev.amp.validator.ValidatorProtos$ErrorSpecificity=AvoidThrowingNullPointerException
2345
dev.amp.validator.ValidatorProtos$ErrorSpecificity$Builder=AvoidThrowingNullPointerException
46+
dev.amp.validator.ValidatorProtos$ErrorFormat=AvoidThrowingNullPointerException
2447
dev.amp.validator.ValidatorProtos$ErrorFormat$Builder=AvoidThrowingNullPointerException
48+
dev.amp.validator.ValidatorProtos$ValidationResult=AvoidThrowingNullPointerException
2549
dev.amp.validator.ValidatorProtos$ValidationResult$Builder=AvoidThrowingNullPointerException
2650
dev.amp.validator.ValidatorProtos$ValidatorInfo$Builder=AvoidThrowingNullPointerException
51+
dev.amp.validator.ValidatorProtos$ValueSetRequirement=AvoidThrowingNullPointerException
2752
dev.amp.validator.ValidatorProtos$ValueSetRequirement$Builder=AvoidThrowingNullPointerException
53+
dev.amp.validator.ValidatorProtos$DocCssSpec=AvoidThrowingNullPointerException
2854
dev.amp.validator.ValidatorProtos$DocCssSpec$Builder=AvoidThrowingNullPointerException
55+
dev.amp.validator.ValidatorProtos$DeclarationList=AvoidThrowingNullPointerException
2956
dev.amp.validator.ValidatorProtos$DeclarationList$Builder=AvoidThrowingNullPointerException
57+
dev.amp.validator.ValidatorProtos$ValueSetProvision=AvoidThrowingNullPointerException
3058
dev.amp.validator.ValidatorProtos$ValueSetProvision$Builder=AvoidThrowingNullPointerException
59+
dev.amp.validator.ValidatorProtos$SelectorSpec=AvoidThrowingNullPointerException
3160
dev.amp.validator.ValidatorProtos$SelectorSpec$Builder=AvoidThrowingNullPointerException
61+
dev.amp.validator.ValidatorProtos$DocSpec=AvoidThrowingNullPointerException
3262
dev.amp.validator.ValidatorProtos$DocSpec$Builder=AvoidThrowingNullPointerException
63+
dev.amp.validator.ValidatorProtos$HtmlFormat=AvoidThrowingNullPointerException
64+
dev.amp.validator.ValidatorProtos$ErrorCategory=AvoidThrowingNullPointerException
3365
AMPValidatorLoader=AvoidThrowingNullPointerException,SignatureDeclareThrowsException
3466
AMPValidatorManager=AvoidThrowingNullPointerException,SignatureDeclareThrowsException

‎pmd-ruleset.xml

+11-11
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
<ruleset name="PMD-Rules">
33
<description>AMP Validator PMD rules.</description>
44
<!-- String instantiation -->
5-
<rule ref="rulesets/java/strings.xml/StringInstantiation"><priority>1</priority></rule>
6-
<rule ref="rulesets/java/basic.xml/BooleanInstantiation"><priority>1</priority></rule>
7-
<rule ref="rulesets/java/basic.xml/UnconditionalIfStatement"><priority>1</priority></rule>
5+
<rule ref="category/java/performance.xml/StringInstantiation"><priority>1</priority></rule>
6+
<rule ref="category/java/performance.xml/BooleanInstantiation"><priority>1</priority></rule>
7+
<rule ref="category/java/errorprone.xml/UnconditionalIfStatement"><priority>1</priority></rule>
88
<!-- Guards around log statements -->
9-
<rule ref="rulesets/java/logging-java.xml/GuardLogStatementJavaUtil"><priority>1</priority></rule>
9+
<rule ref="category/java/bestpractices.xml/GuardLogStatement"><priority>1</priority></rule>
1010
<!-- Rules about throwing and catching exceptions -->
11-
<rule ref="rulesets/java/strictexception.xml/AvoidCatchingThrowable"><priority>1</priority></rule>
12-
<rule ref="rulesets/java/strictexception.xml/SignatureDeclareThrowsException"><priority>1</priority></rule>
13-
<rule ref="rulesets/java/strictexception.xml/ExceptionAsFlowControl"><priority>1</priority></rule>
14-
<rule ref="rulesets/java/strictexception.xml/AvoidCatchingNPE"><priority>1</priority></rule>
11+
<rule ref="category/java/errorprone.xml/AvoidCatchingThrowable"><priority>1</priority></rule>
12+
<rule ref="category/java/design.xml/SignatureDeclareThrowsException"><priority>1</priority></rule>
13+
<rule ref="category/java/design.xml/ExceptionAsFlowControl"><priority>1</priority></rule>
14+
<rule ref="category/java/errorprone.xml/AvoidCatchingNPE"><priority>1</priority></rule>
1515
<!--<rule ref="rulesets/java/strictexception.xml/AvoidThrowingRawExceptionTypes"><priority>1</priority></rule> -->
16-
<rule ref="rulesets/java/strictexception.xml/AvoidThrowingNullPointerException"><priority>1</priority></rule>
16+
<rule ref="category/java/design.xml/AvoidThrowingNullPointerException"><priority>1</priority></rule>
1717
<!--<rule ref="rulesets/java/strictexception.xml/AvoidRethrowingException"><priority>1</priority></rule> -->
18-
<rule ref="rulesets/java/strictexception.xml/DoNotExtendJavaLangError"><priority>1</priority></rule>
19-
<rule ref="rulesets/java/strictexception.xml/DoNotThrowExceptionInFinally"><priority>1</priority></rule>
18+
<rule ref="category/java/design.xml/DoNotExtendJavaLangError"><priority>1</priority></rule>
19+
<rule ref="category/java/errorprone.xml/DoNotThrowExceptionInFinally"><priority>1</priority></rule>
2020
<!--<rule ref="rulesets/java/strictexception.xml/AvoidThrowingNewInstanceOfSameException"><priority>1</priority></rule> -->
2121
<!--<rule ref="rulesets/java/strictexception.xml/AvoidCatchingGenericException"><priority>1</priority></rule> -->
2222
<!--<rule ref="rulesets/java/strictexception.xml/AvoidLosingExceptionInformation"><priority>1</priority></rule> -->

‎pom.xml

+14-14
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<groupId>dev.amp</groupId>
88
<artifactId>validator-java</artifactId>
99
<name>AMP validator Java API</name>
10-
<version>1.0.29</version>
10+
<version>1.0.30</version>
1111
<description>A Java validator for the AMP Html format.</description>
1212
<packaging>jar</packaging>
1313
<url>https://github.com/ampproject/validator-java</url>
@@ -54,26 +54,26 @@
5454
<!-- protobuf paths -->
5555
<protobuf.input.directory>${project.basedir}/src/main/proto</protobuf.input.directory>
5656
<protobuf.output.directory>${project.basedir}/src/main/java</protobuf.output.directory>
57-
<validator.main.proto.ascii.directory>${project.basedir}/src/main/resources
58-
</validator.main.proto.ascii.directory>
57+
<validator.main.proto.ascii.directory>${project.basedir}/src/main/resources</validator.main.proto.ascii.directory>
5958
<validator.proto.directory>${project.basedir}/src/main/proto</validator.proto.directory>
6059

6160
<!-- library versions -->
6261
<build-helper-maven-plugin.version>3.3.0</build-helper-maven-plugin.version>
6362
<maven-antrun-plugin.version>3.1.0</maven-antrun-plugin.version>
64-
<maven-dependency-plugin.version>3.2.0</maven-dependency-plugin.version>
63+
<maven-dependency-plugin.version>3.3.0</maven-dependency-plugin.version>
6564
<maven-shade-plugin.version>2.4.2</maven-shade-plugin.version>
66-
<maven-javadoc-plugin.version>3.3.2</maven-javadoc-plugin.version>
65+
<maven-javadoc-plugin.version>3.4.0</maven-javadoc-plugin.version>
6766
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
6867

6968
<os-maven-plugin.version>1.7.0</os-maven-plugin.version>
70-
<protobuf.version>3.16.1</protobuf.version>
69+
<protobuf.version>3.20.1</protobuf.version>
7170
<maven-surefire-plugin.version>3.0.0-M6</maven-surefire-plugin.version>
7271
<jdk.version>11</jdk.version>
7372
<main.basedir>${project.basedir}</main.basedir>
7473

7574
<checkstyle.maxAllowedViolations>10</checkstyle.maxAllowedViolations>
7675

76+
<com.puppycrawl.checkstyle.version>10.2</com.puppycrawl.checkstyle.version>
7777
<fasterxml.jackson.version>2.13.2</fasterxml.jackson.version>
7878
<fasterxml.jackson.databind.version>2.13.2.2</fasterxml.jackson.databind.version>
7979
<mockito.version>1.10.19</mockito.version>
@@ -141,7 +141,7 @@
141141
<plugin>
142142
<groupId>org.codehaus.mojo</groupId>
143143
<artifactId>exec-maven-plugin</artifactId>
144-
<version>1.6.0</version>
144+
<version>3.0.0</version>
145145
<executions>
146146
<execution>
147147
<id>Fetching AMP resources</id>
@@ -326,17 +326,17 @@
326326
<plugin>
327327
<groupId>com.github.spotbugs</groupId>
328328
<artifactId>spotbugs-maven-plugin</artifactId>
329-
<version>4.0.0</version>
329+
<version>4.6.0.0</version>
330330
<dependencies>
331331
<dependency>
332332
<groupId>com.github.spotbugs</groupId>
333333
<artifactId>spotbugs</artifactId>
334-
<version>4.0.3</version>
334+
<version>4.7.0</version>
335335
</dependency>
336336
<dependency>
337337
<groupId>com.github.spotbugs</groupId>
338338
<artifactId>spotbugs-annotations</artifactId>
339-
<version>4.6.0</version>
339+
<version>4.7.0</version>
340340
</dependency>
341341
<dependency>
342342
<groupId>org.dom4j</groupId>
@@ -379,7 +379,7 @@
379379
<plugin>
380380
<groupId>org.apache.maven.plugins</groupId>
381381
<artifactId>maven-pmd-plugin</artifactId>
382-
<version>3.13.0</version>
382+
<version>3.16.0</version>
383383
<configuration>
384384
<skip>false</skip>
385385
<failOnViolation>true</failOnViolation>
@@ -429,7 +429,7 @@
429429
<dependency>
430430
<groupId>com.puppycrawl.tools</groupId>
431431
<artifactId>checkstyle</artifactId>
432-
<version>8.32</version>
432+
<version>${com.puppycrawl.checkstyle.version}</version>
433433
</dependency>
434434
</dependencies>
435435
<executions>
@@ -584,7 +584,7 @@
584584
<plugin>
585585
<groupId>org.sonatype.plugins</groupId>
586586
<artifactId>nexus-staging-maven-plugin</artifactId>
587-
<version>1.6.12</version>
587+
<version>1.6.13</version>
588588
<extensions>true</extensions>
589589
<configuration>
590590
<serverId>ossrh</serverId>
@@ -643,7 +643,7 @@
643643
<dependency>
644644
<groupId>com.puppycrawl.tools</groupId>
645645
<artifactId>checkstyle</artifactId>
646-
<version>8.32</version>
646+
<version>${com.puppycrawl.checkstyle.version}</version>
647647
<scope>test</scope>
648648
</dependency>
649649
<dependency>

‎src/main/java/dev/amp/validator/css/CssTokenUtil.java

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ private CssTokenUtil() {
8080
KIND_TO_TOKENTYPE.put(SACParserCSS3Constants.DOT, TokenType.DELIM);
8181
KIND_TO_TOKENTYPE.put(SACParserCSS3Constants.TILDE, TokenType.DELIM);
8282
KIND_TO_TOKENTYPE.put(SACParserCSS3Constants.GREATER, TokenType.DELIM);
83+
KIND_TO_TOKENTYPE.put(SACParserCSS3Constants.EQUALS, TokenType.DELIM);
8384

8485
KIND_TO_TOKENTYPE.put(SACParserCSS3Constants.HASH, TokenType.HASH);
8586

‎src/test/java/dev/amp/validator/parser/AMPHtmlParserTest.java

+17-1
Original file line numberDiff line numberDiff line change
@@ -937,7 +937,23 @@ public void testDelimiterPASS() {
937937
final int maxNode = 10000;
938938
ValidatorProtos.ValidationResult result =
939939
ampHtmlParser.parse(inputHtml, ValidatorProtos.HtmlFormat.Code.AMP4EMAIL, ExitCondition.FULL_PARSING, maxNode);
940-
Assert.assertEquals(result.getErrorsCount(), 0, "Expecting to have 2 error");
940+
Assert.assertEquals(result.getErrorsCount(), 0, "Expecting to have 0 error");
941+
Assert.assertTrue(result.getStatus() == ValidatorProtos.ValidationResult.Status.PASS);
942+
} catch (final IOException ex) {
943+
ex.printStackTrace();
944+
}
945+
}
946+
947+
@Test
948+
public void testEqualsDelimiter() {
949+
try {
950+
String inputHtml =
951+
readFile(
952+
"test-cases/css/testCSSEqualsDelimiter.html");
953+
final int maxNode = 10000;
954+
ValidatorProtos.ValidationResult result =
955+
ampHtmlParser.parse(inputHtml, ValidatorProtos.HtmlFormat.Code.AMP4EMAIL, ExitCondition.FULL_PARSING, maxNode);
956+
Assert.assertEquals(result.getErrorsCount(), 0, "Expecting to have 0 error");
941957
Assert.assertTrue(result.getStatus() == ValidatorProtos.ValidationResult.Status.PASS);
942958
} catch (final IOException ex) {
943959
ex.printStackTrace();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!--
2+
verify delims are parsed correctly
3+
-->
4+
<!doctype html>
5+
<html data-css-strict amp4email>
6+
<head>
7+
<meta charset="utf-8">
8+
<script async src="https://cdn.ampproject.org/v0.js"></script>
9+
<style amp4email-boilerplate>body{visibility:hidden}</style>
10+
<style amp-custom>
11+
@media only screen and (max-width:600px) {
12+
*[class="gmail-fix"] {
13+
display:none
14+
}
15+
}
16+
</style>
17+
</head>
18+
<body>
19+
</body>
20+
</html>

0 commit comments

Comments
 (0)
Please sign in to comment.