diff --git a/build.gradle b/build.gradle index 94ba927cbb..4e3b7836ea 100644 --- a/build.gradle +++ b/build.gradle @@ -46,10 +46,10 @@ ext { modifiedFiles = files(grgit.status().unstaged.modified).filter{ f -> f.name.endsWith('.java') || f.name.endsWith('.kt') } - activeMqVersion = '5.16.3' + activeMqVersion = '5.16.4' apacheSshdVersion = '2.7.0' - aspectjVersion = '1.9.7' - assertjVersion = '3.21.0' + aspectjVersion = '1.9.8' + assertjVersion = '3.22.0' assertkVersion = '0.25' avroVersion = '1.10.2' awaitilityVersion = '4.1.1' @@ -63,7 +63,7 @@ ext { greenmailVersion = '1.6.5' groovyVersion = '3.0.9' hamcrestVersion = '2.2' - hazelcastVersion = '4.2.3' + hazelcastVersion = '4.2.4' hibernateVersion = '5.5.9.Final' hsqldbVersion = '2.6.0' h2Version = '1.4.200' @@ -83,7 +83,7 @@ ext { lettuceVersion = '6.1.6.RELEASE' log4jVersion = '2.17.1' mailVersion = '1.6.7' - micrometerVersion = '1.7.8' + micrometerVersion = '1.7.9' mockitoVersion = '3.12.4' mongoDriverVersion = '4.3.2' mysqlVersion = '8.0.27' @@ -99,14 +99,14 @@ ext { smackVersion = '4.3.5' soapVersion = '1.4.0' springAmqpVersion = project.hasProperty('springAmqpVersion') ? project.springAmqpVersion : '2.3.14' - springDataVersion = project.hasProperty('springDataVersion') ? project.springDataVersion : '2021.0.8' - springKafkaVersion = '2.7.10' + springDataVersion = project.hasProperty('springDataVersion') ? project.springDataVersion : '2021.0.9' + springKafkaVersion = '2.7.11' springRetryVersion = '1.3.1' - springSecurityVersion = project.hasProperty('springSecurityVersion') ? project.springSecurityVersion : '5.5.4' - springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.3.15' + springSecurityVersion = project.hasProperty('springSecurityVersion') ? project.springSecurityVersion : '5.5.5' + springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.3.16' springWsVersion = '3.1.2' - testcontainersVersion = '1.16.2' - tomcatVersion = '9.0.56' + testcontainersVersion = '1.16.3' + tomcatVersion = '9.0.58' xmlUnitVersion = '2.8.2' xstreamVersion = '1.4.17' @@ -222,6 +222,11 @@ configure(javaProjects) { subproject -> options.fork = true } + tasks.withType(Javadoc) { + options.addBooleanOption('Xdoclint:syntax', true) // only check syntax with doclint + options.addBooleanOption('Werror', true) // fail build on Javadoc warnings + } + eclipse { project { natures += 'org.springframework.ide.eclipse.core.springnature' @@ -349,7 +354,7 @@ configure(javaProjects) { subproject -> checkstyle { configDirectory.set(rootProject.file('src/checkstyle')) - toolVersion = project.hasProperty('checkstyleVersion') ? project.checkstyleVersion : '9.2' + toolVersion = project.hasProperty('checkstyleVersion') ? project.checkstyleVersion : '9.3' } jar { @@ -996,6 +1001,7 @@ task api(type: Javadoc) { options.overview = 'src/api/overview.html' options.stylesheetFile = file('src/api/stylesheet.css') options.links(project.ext.javadocLinks) + options.addBooleanOption('Xdoclint:syntax', true) // only check syntax with doclint source javaProjects.collect { project -> project.sourceSets.main.allJava } diff --git a/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests-file-usage-context.xml b/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests-file-usage-context.xml index f6a4ff86d6..d6969b4c0b 100644 --- a/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests-file-usage-context.xml +++ b/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests-file-usage-context.xml @@ -21,7 +21,7 @@ + value="#{T (org.springframework.integration.feed.config.FeedInboundChannelAdapterParserTests).tempFolder.absolutePath}"/> diff --git a/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests.java b/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests.java index a5b721a8cf..10160655cb 100644 --- a/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests.java +++ b/spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,17 +19,16 @@ package org.springframework.integration.feed.config; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import java.io.File; import java.util.Properties; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.junit.ClassRule; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.mockito.Mockito; import org.springframework.context.ConfigurableApplicationContext; @@ -58,8 +57,8 @@ import com.rometools.rome.io.SyndFeedInput; */ public class FeedInboundChannelAdapterParserTests { - @ClassRule - public static final TemporaryFolder tempFolder = new TemporaryFolder(); + @TempDir + public static File tempFolder; private static CountDownLatch latch; @@ -91,20 +90,20 @@ public class FeedInboundChannelAdapterParserTests { @Test public void validateSuccessfulNewsRetrievalWithFileUrlAndMessageHistory() throws Exception { //Test file samples.rss has 3 news items - latch = spy(new CountDownLatch(3)); + latch = new CountDownLatch(3); ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "FeedInboundChannelAdapterParserTests-file-usage-context.xml", this.getClass()); latch.await(10, TimeUnit.SECONDS); - verify(latch, times(3)).countDown(); + assertThat(latch.getCount()).isEqualTo(0); context.close(); // since we are not deleting the persister file // in this iteration no new feeds will be received and the latch will timeout - latch = spy(new CountDownLatch(3)); + latch = new CountDownLatch(3); context = new ClassPathXmlApplicationContext( "FeedInboundChannelAdapterParserTests-file-usage-context.xml", this.getClass()); latch.await(500, TimeUnit.MILLISECONDS); - verify(latch, times(0)).countDown(); + assertThat(latch.getCount()).isEqualTo(3); SourcePollingChannelAdapter adapter = context.getBean("feedAdapterUsage", SourcePollingChannelAdapter.class); assertThat(TestUtils.getPropertyValue(adapter, "source.syndFeedInput.preserveWireFeed", Boolean.class)) @@ -114,7 +113,7 @@ public class FeedInboundChannelAdapterParserTests { } @Test - @Ignore // goes against the real feed + @Disabled("Goes against the real feed") public void validateSuccessfulNewsRetrievalWithHttpUrl() throws Exception { final CountDownLatch latch = new CountDownLatch(3); MessageHandler handler = spy(message -> latch.countDown());