diff --git a/docs/pom.xml b/docs/pom.xml index 9f54d0db..913bf194 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -12,7 +12,7 @@ spring-cloud-release-tools ${basedir}/.. - 3.4 + 3.6.4 releaser.* diff --git a/pom.xml b/pom.xml index 581abd79..91c51619 100644 --- a/pom.xml +++ b/pom.xml @@ -30,16 +30,18 @@ UTF-8 1.8 - Hoxton.SR6 + 2021.0.1 1.1.2 0.0.9 - 5.1.3.201810200350-r + 7.0.4.Final + + 5.12.0.202106070339-r - 3.6.3 - 2.8.1 - 4.2.0 + 3.8.5 + 2.10.0 + 4.3.0 0.12.0 - 4.0.3 + 4.2.0 1.0.0-SNAPSHOT 1.1.4 5.0.4 diff --git a/projects/reactor/pom.xml b/projects/reactor/pom.xml index f7641c75..d482ecff 100644 --- a/projects/reactor/pom.xml +++ b/projects/reactor/pom.xml @@ -17,7 +17,7 @@ UTF-8 1.8 - 4.12.0.RELEASE + 5.7.0.RELEASE diff --git a/releaser-core/pom.xml b/releaser-core/pom.xml index 31676203..5533ad88 100644 --- a/releaser-core/pom.xml +++ b/releaser-core/pom.xml @@ -43,6 +43,11 @@ jsch.agentproxy.sshagent ${jsch-agent.version} + + org.eclipse.jgit + org.eclipse.jgit.ssh.jsch + ${org.eclipse.jgit-version} + com.jcraft jsch.agentproxy.jsch diff --git a/releaser-core/src/main/java/releaser/internal/github/CachingGithub.java b/releaser-core/src/main/java/releaser/internal/github/CachingGithub.java index d882314e..c2f27d05 100644 --- a/releaser-core/src/main/java/releaser/internal/github/CachingGithub.java +++ b/releaser-core/src/main/java/releaser/internal/github/CachingGithub.java @@ -181,8 +181,8 @@ class CachingRepos implements Repos, Closeable { } @Override - public boolean exists(Coordinates coords) throws IOException { - return this.delegate.exists(coords); + public boolean exists(Coordinates coordinates) throws IOException { + return delegate.exists(coordinates); } @Override diff --git a/releaser-core/src/test/java/releaser/internal/buildsystem/PomUpdaterTests.java b/releaser-core/src/test/java/releaser/internal/buildsystem/PomUpdaterTests.java index 0eccbb0a..1baaab14 100644 --- a/releaser-core/src/test/java/releaser/internal/buildsystem/PomUpdaterTests.java +++ b/releaser-core/src/test/java/releaser/internal/buildsystem/PomUpdaterTests.java @@ -20,10 +20,10 @@ import java.io.File; import java.io.IOException; import java.net.URISyntaxException; import java.nio.file.Files; +import java.util.Collections; import java.util.HashSet; import java.util.Set; -import edu.emory.mathcs.backport.java.util.Collections; import org.apache.maven.model.Model; import org.assertj.core.api.BDDAssertions; import org.junit.jupiter.api.BeforeEach; diff --git a/releaser-core/src/test/java/releaser/internal/buildsystem/PropertyVersionChangerTests.java b/releaser-core/src/test/java/releaser/internal/buildsystem/PropertyVersionChangerTests.java index cf30b663..3f435720 100644 --- a/releaser-core/src/test/java/releaser/internal/buildsystem/PropertyVersionChangerTests.java +++ b/releaser-core/src/test/java/releaser/internal/buildsystem/PropertyVersionChangerTests.java @@ -16,11 +16,11 @@ package releaser.internal.buildsystem; +import java.util.Arrays; import java.util.HashSet; import java.util.Properties; import java.util.Set; -import edu.emory.mathcs.backport.java.util.Arrays; import org.apache.maven.model.Model; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -37,13 +37,13 @@ import static org.mockito.Mockito.never; * @author Marcin Grzejszczak */ @ExtendWith(MockitoExtension.class) -public class PropertyVersionChangerTests { +class PropertyVersionChangerTests { @Mock PropertyStorer propertyStorer; @Test - public void should_set_version_when_project_matches_property_name() throws Exception { + void should_set_version_when_project_matches_property_name() { PropertyVersionChanger changer = new PropertyVersionChanger(model(), versions(), null, null, this.propertyStorer); @@ -54,7 +54,7 @@ public class PropertyVersionChangerTests { } @Test - public void should_not_set_version_when_project_doesnt_match_property_name() throws Exception { + void should_not_set_version_when_project_doesnt_match_property_name() { PropertyVersionChanger changer = new PropertyVersionChanger(nonMatchingModel(), versions(), null, null, this.propertyStorer); @@ -64,7 +64,7 @@ public class PropertyVersionChangerTests { } @Test - public void should_not_set_version_when_project_matches_property_name_and_versions_are_the_same() throws Exception { + void should_not_set_version_when_project_matches_property_name_and_versions_are_the_same() { PropertyVersionChanger changer = new PropertyVersionChanger(modelWithSameValues(), versions(), null, null, this.propertyStorer); @@ -80,8 +80,8 @@ public class PropertyVersionChangerTests { @SuppressWarnings("unchecked") private Set allProjects() { - return new HashSet<>(Arrays.asList(new Project[] { project("spring-cloud-aws", "1.2.0.BUILD-SNAPSHOT"), - project("spring-cloud-sleuth", "1.2.0.BUILD-SNAPSHOT") })); + return new HashSet<>(Arrays.asList(project("spring-cloud-aws", "1.2.0.BUILD-SNAPSHOT"), + project("spring-cloud-sleuth", "1.2.0.BUILD-SNAPSHOT"))); } Project project(String name, String value) { diff --git a/releaser-spring/src/main/java/releaser/internal/spring/SpringBatchFlowRunner.java b/releaser-spring/src/main/java/releaser/internal/spring/SpringBatchFlowRunner.java index 72503b7c..20652de9 100644 --- a/releaser-spring/src/main/java/releaser/internal/spring/SpringBatchFlowRunner.java +++ b/releaser-spring/src/main/java/releaser/internal/spring/SpringBatchFlowRunner.java @@ -19,6 +19,7 @@ package releaser.internal.spring; import java.io.Closeable; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -29,7 +30,6 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; import java.util.stream.Collectors; -import edu.emory.mathcs.backport.java.util.Collections; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import releaser.internal.ReleaserProperties; diff --git a/releaser-spring/src/test/java/releaser/internal/docs/TestDocumentationUpdater.java b/releaser-spring/src/test/java/releaser/internal/docs/TestDocumentationUpdater.java index 7afa4e0e..4f49abe0 100644 --- a/releaser-spring/src/test/java/releaser/internal/docs/TestDocumentationUpdater.java +++ b/releaser-spring/src/test/java/releaser/internal/docs/TestDocumentationUpdater.java @@ -16,7 +16,8 @@ package releaser.internal.docs; -import edu.emory.mathcs.backport.java.util.Collections; +import java.util.Collections; + import releaser.internal.ReleaserProperties; import releaser.internal.git.ProjectGitHandler; diff --git a/releaser-spring/src/test/java/releaser/internal/spring/OptionsProcessorTests.java b/releaser-spring/src/test/java/releaser/internal/spring/OptionsProcessorTests.java index 8042e87e..30d9da2b 100644 --- a/releaser-spring/src/test/java/releaser/internal/spring/OptionsProcessorTests.java +++ b/releaser-spring/src/test/java/releaser/internal/spring/OptionsProcessorTests.java @@ -19,7 +19,7 @@ package releaser.internal.spring; /** * @author Marcin Grzejszczak */ -// @RunWith(MockitoJUnitRunner.class) +// @ExtendWith(MockitoExtension.class) @SuppressWarnings("unchecked") public class OptionsProcessorTests { @@ -45,7 +45,7 @@ public class OptionsProcessorTests { * Consumer function) { return new Task(name, shortName, header, description, * function); } * - * @Before public void setup() { this.optionsProcessor = new + * @BeforeEach public void setup() { this.optionsProcessor = new * OptionsProcessor(this.releaser, new ReleaserProperties(), this.tasks); Task.stepSkipper * = () -> false; } * diff --git a/releaser-test/src/main/java/releaser/internal/buildsystem/MavenBomParserAccessor.java b/releaser-test/src/main/java/releaser/internal/buildsystem/MavenBomParserAccessor.java index 12f776ad..beb0a776 100644 --- a/releaser-test/src/main/java/releaser/internal/buildsystem/MavenBomParserAccessor.java +++ b/releaser-test/src/main/java/releaser/internal/buildsystem/MavenBomParserAccessor.java @@ -16,7 +16,8 @@ package releaser.internal.buildsystem; -import edu.emory.mathcs.backport.java.util.Collections; +import java.util.Collections; + import releaser.internal.ReleaserProperties; public class MavenBomParserAccessor { diff --git a/spring-cloud-info/pom.xml b/spring-cloud-info/pom.xml index 597d8cfc..5dd41aa4 100644 --- a/spring-cloud-info/pom.xml +++ b/spring-cloud-info/pom.xml @@ -13,12 +13,12 @@ spring-cloud-info - 3.6.1 + 3.8.5 1.1.4 - 3.6.3 + 3.8.5 3.1.6.RELEASE 0.2.0-RELEASE - 2021.0.0 + 2021.0.1 2.0.6.RELEASE @@ -113,17 +113,17 @@ org.asciidoctor asciidoctor-maven-plugin - ${asciidoctor-maven-plugin.version} + 2.2.2 io.spring.asciidoctor spring-asciidoctor-extensions - ${spring-asciidoctor-extensions.version} + 0.6.0 org.springframework.restdocs spring-restdocs-asciidoctor - ${spring-rest-docs.version} + 2.0.6.RELEASE diff --git a/spring-cloud-info/src/test/java/org/springframework/cloud/info/InitializrSpringCloudInfoServiceTests.java b/spring-cloud-info/src/test/java/org/springframework/cloud/info/InitializrSpringCloudInfoServiceTests.java index 4f0aa910..13ee4566 100644 --- a/spring-cloud-info/src/test/java/org/springframework/cloud/info/InitializrSpringCloudInfoServiceTests.java +++ b/spring-cloud-info/src/test/java/org/springframework/cloud/info/InitializrSpringCloudInfoServiceTests.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -46,12 +45,13 @@ import com.jcabi.immutable.Array; import org.apache.commons.io.IOUtils; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.hamcrest.Matchers; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.cloud.info.exceptions.SpringCloudVersionNotFoundException; import org.springframework.core.io.ClassPathResource; import org.springframework.web.client.RestTemplate; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.fail; import static org.hamcrest.MatcherAssert.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -67,10 +67,10 @@ import static org.springframework.cloud.info.SpringCloudRelease.SPRING_CLOUD_REL /** * @author Ryan Baxter */ -public class InitializrSpringCloudInfoServiceTests { +class InitializrSpringCloudInfoServiceTests { @Test - public void getSpringCloudVersionBomRangesMissingTest() { + void getSpringCloudVersionBomRangesMissingTest() { RestTemplate rest = mock(RestTemplate.class); Github github = mock(Github.class); GithubPomReader githubPomReader = mock(GithubPomReader.class); @@ -86,7 +86,7 @@ public class InitializrSpringCloudInfoServiceTests { } @Test - public void getSpringCloudVersionSpringCloudMissingTest() { + void getSpringCloudVersionSpringCloudMissingTest() { RestTemplate rest = mock(RestTemplate.class); Github github = mock(Github.class); GithubPomReader githubPomReader = mock(GithubPomReader.class); @@ -104,48 +104,51 @@ public class InitializrSpringCloudInfoServiceTests { } @Test - public void getSpringCloudReleaseVersionTest() throws Exception { + void getSpringCloudReleaseVersionTest() throws Exception { String bomVersion = "v2020.0.0-SNAPSHOT"; RestTemplate rest = mock(RestTemplate.class); Github github = mock(Github.class); GithubPomReader githubPomReader = mock(GithubPomReader.class); when(githubPomReader .readPomFromUrl(eq(String.format(SpringCloudRelease.SPRING_CLOUD_STARTER_PARENT_RAW, bomVersion)))) - .thenReturn(new MavenXpp3Reader().read(new FileReader( - new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile()))); + .thenReturn(new MavenXpp3Reader().read(new FileReader( + new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile()))); when(githubPomReader.readPomFromUrl( eq(String.format(SpringCloudRelease.SPRING_CLOUD_RELEASE_DEPENDENCIES_RAW, bomVersion)))) - .thenReturn(new MavenXpp3Reader().read( - new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile()))); + .thenReturn(new MavenXpp3Reader().read( + new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile()))); InitializrSpringCloudInfoService service = spy( new InitializrSpringCloudInfoService(rest, github, githubPomReader)); - doReturn(Arrays.asList(new String[] { bomVersion })).when(service).getSpringCloudVersions(); + doReturn(Arrays.asList(bomVersion)).when(service) + .getSpringCloudVersions(); Map releaseVersionsResult = service.getReleaseVersions(bomVersion); assertThat(releaseVersionsResult, Matchers.equalTo(SpringCloudInfoTestData.releaseVersions)); } - @Test(expected = SpringCloudVersionNotFoundException.class) - public void getSpringCloudReleaseVersionNotFoundTest() throws Exception { - String bomVersion = "vFooBar.BUILD-SNAPSHOT"; - RestTemplate rest = mock(RestTemplate.class); - Github github = mock(Github.class); - GithubPomReader githubPomReader = mock(GithubPomReader.class); - when(githubPomReader - .readPomFromUrl(eq(String.format(SpringCloudRelease.SPRING_CLOUD_STARTER_PARENT_RAW, bomVersion)))) - .thenReturn(new MavenXpp3Reader().read(new FileReader( - new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile()))); - when(githubPomReader.readPomFromUrl( - eq(String.format(SpringCloudRelease.SPRING_CLOUD_RELEASE_DEPENDENCIES_RAW, bomVersion)))) - .thenReturn(new MavenXpp3Reader().read( - new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile()))); - InitializrSpringCloudInfoService service = spy( - new InitializrSpringCloudInfoService(rest, github, githubPomReader)); - doReturn(new ArrayList()).when(service).getSpringCloudVersions(); - service.getReleaseVersions(bomVersion); + @Test + void getSpringCloudReleaseVersionNotFoundTest() { + assertThatExceptionOfType(SpringCloudVersionNotFoundException.class).isThrownBy(() -> { + String bomVersion = "vFooBar.BUILD-SNAPSHOT"; + RestTemplate rest = mock(RestTemplate.class); + Github github = mock(Github.class); + GithubPomReader githubPomReader = mock(GithubPomReader.class); + when(githubPomReader + .readPomFromUrl(eq(String.format(SpringCloudRelease.SPRING_CLOUD_STARTER_PARENT_RAW, bomVersion)))) + .thenReturn(new MavenXpp3Reader().read(new FileReader( + new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile()))); + when(githubPomReader.readPomFromUrl( + eq(String.format(SpringCloudRelease.SPRING_CLOUD_RELEASE_DEPENDENCIES_RAW, bomVersion)))) + .thenReturn(new MavenXpp3Reader().read( + new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile()))); + InitializrSpringCloudInfoService service = spy( + new InitializrSpringCloudInfoService(rest, github, githubPomReader)); + doReturn(new ArrayList()).when(service).getSpringCloudVersions(); + service.getReleaseVersions(bomVersion); + }); } @Test - public void getSpringCloudVersionsTest() throws Exception { + void getSpringCloudVersionsTest() throws Exception { RestTemplate rest = mock(RestTemplate.class); Github github = mock(Github.class); GithubPomReader githubPomReader = mock(GithubPomReader.class); @@ -167,7 +170,7 @@ public class InitializrSpringCloudInfoServiceTests { } @Test - public void getMilestoneDueDateTest() throws Exception { + void getMilestoneDueDateTest() throws Exception { RestTemplate rest = mock(RestTemplate.class); Github github = mock(Github.class); GithubPomReader githubPomReader = mock(GithubPomReader.class); @@ -188,7 +191,7 @@ public class InitializrSpringCloudInfoServiceTests { } @Test - public void getMilestonesTest() throws Exception { + void getMilestonesTest() throws Exception { RestTemplate rest = mock(RestTemplate.class); Github github = mock(Github.class); GithubPomReader githubPomReader = mock(GithubPomReader.class); @@ -222,16 +225,11 @@ public class InitializrSpringCloudInfoServiceTests { doReturn(builder.build()).when(milestone).json(); milestonesList.add(milestone); } - return new Iterable() { - @Override - public Iterator iterator() { - return milestonesList.iterator(); - } - }; + return (Iterable) () -> milestonesList.iterator(); } @Test - public void getSpringCloudVersionTest() throws Exception { + void getSpringCloudVersionTest() throws Exception { RestTemplate rest = mock(RestTemplate.class); Github github = mock(Github.class); GithubPomReader githubPomReader = mock(GithubPomReader.class); diff --git a/spring-cloud-info/src/test/java/org/springframework/cloud/info/SpringCloudInfoRestControllerTests.java b/spring-cloud-info/src/test/java/org/springframework/cloud/info/SpringCloudInfoRestControllerTests.java index d7467c12..a7c7aa8e 100644 --- a/spring-cloud-info/src/test/java/org/springframework/cloud/info/SpringCloudInfoRestControllerTests.java +++ b/spring-cloud-info/src/test/java/org/springframework/cloud/info/SpringCloudInfoRestControllerTests.java @@ -18,18 +18,17 @@ package org.springframework.cloud.info; import java.util.stream.Collectors; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.cloud.info.SpringCloudInfoService.SpringCloudVersion; import org.springframework.http.MediaType; -import org.springframework.restdocs.JUnitRestDocumentation; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.restdocs.RestDocumentationContextProvider; +import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; @@ -50,11 +49,9 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. * @author Ryan Baxter */ @WebMvcTest(SpringCloudInfoRestController.class) -@RunWith(SpringRunner.class) -public class SpringCloudInfoRestControllerTests { +@ExtendWith(RestDocumentationExtension.class) +class SpringCloudInfoRestControllerTests { - @Rule - public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation(); @MockBean SpringCloudInfoService springCloudInfoService; @@ -65,16 +62,17 @@ public class SpringCloudInfoRestControllerTests { @Autowired private WebApplicationContext context; - @Before - public void setUp() { + @BeforeEach + void setUp(RestDocumentationContextProvider restDocumentation) { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context) - .apply(documentationConfiguration(this.restDocumentation).uris().withHost("spring-cloud-info.cfapps.io") + .apply(documentationConfiguration(restDocumentation).uris() + .withHost("spring-cloud-info.cfapps.io") .withPort(80)) .build(); } @Test - public void version() throws Exception { + void version() throws Exception { doReturn(new SpringCloudVersion("Greenwich.RELEASE")).when(springCloudInfoService) .getSpringCloudVersion(eq("2.1.1.RELEASE")); this.mockMvc @@ -87,16 +85,18 @@ public class SpringCloudInfoRestControllerTests { } @Test - public void versions() throws Exception { - doReturn(springCloudVersions.stream().map(v -> v.replaceFirst("v", "")).collect(Collectors.toList())) + void versions() throws Exception { + doReturn(springCloudVersions.stream().map(v -> v.replaceFirst("v", "")) + .collect(Collectors.toList())) .when(springCloudInfoService).getSpringCloudVersions(); - this.mockMvc.perform(get("/springcloudversions").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()) + this.mockMvc.perform(get("/springcloudversions").accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) .andDo(document("springcloudversions", responseFields(fieldWithPath("[]").description("An array versions")))); } @Test - public void bomVersions() throws Exception { + void bomVersions() throws Exception { doReturn(SpringCloudInfoTestData.releaseVersions).when(springCloudInfoService) .getReleaseVersions(eq("Finchley.SR1")); this.mockMvc.perform(get("/bomversions/Finchley.SR1").accept(MediaType.APPLICATION_JSON)) @@ -104,14 +104,16 @@ public class SpringCloudInfoRestControllerTests { } @Test - public void milestones() throws Exception { - doReturn(SpringCloudInfoTestData.milestoneStrings.keySet()).when(springCloudInfoService).getMilestones(); - this.mockMvc.perform(get("/milestones").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()) + void milestones() throws Exception { + doReturn(SpringCloudInfoTestData.milestoneStrings.keySet()).when(springCloudInfoService) + .getMilestones(); + this.mockMvc.perform(get("/milestones").accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) .andDo(document("milestones")); } @Test - public void milestoneDueDate() throws Exception { + void milestoneDueDate() throws Exception { doReturn(new SpringCloudInfoService.Milestone("2019-07-31")).when(springCloudInfoService) .getMilestoneDueDate(eq("Hoxton.RELEASE")); this.mockMvc.perform(get("/milestones/{release}/duedate", "Hoxton.RELEASE").accept(MediaType.APPLICATION_JSON))